Smart contract là gì? Tìm hiểu về hợp đồng thông minh từ A-Z

Bởi: Đinh Văn Đàm - Đăng ngày: 14/12/2021 - Cập Nhật: 06/06/2022

Smart Contract là một hợp đồng kỹ thuật số được lưu trữ trên Blockchain. Hợp đồng thông minh được sinh ra để quản lý các tài sản mã hóa trên Blockchain tuân theo các quy luật cụ thể, tự động thực thi khi thỏa mãn các điều kiện và loại bỏ các bên trung gian. Vậy cụ thể Smart contract là gì? Mời bạn cùng Coin568 tìm hiểu chi tiết trong bài viết dưới đây nhé!

Smart Contract là gì?

Trong lĩnh vực tiền mã hóa, Smart Contract (hợp đồng thông minh) là một chương trình hoặc ứng dụng chạy trên Blockchain. Smart Contract giống như một hợp đồng kỹ thuật số được thiết kế để thực thi các điều khoản, thỏa thuận giữa các bên trong hợp đồng một cách tự động nhờ vào sự hỗ trợ của công nghệ blockchain.

smart contract la gi

Smart Contract là gì?

Smart Contract cho phép hai bên tham gia hợp đồng có thể đưa ra các cam kết thông qua Blockchain mà không cần phải biết hoặc tin tưởng lẫn nhau. Các giao dịch bằng smart contract được xử lý bằng Blockchain rất minh bạch, có thể truy xuất và không thể bị can thiệp hay đảo chiều.

Ví dụ về Smart Contract

Để hiểu rõ smart contract là gì, bạn có thể hình dung cách vận hành của Smart Contract đơn giản như một máy bán nước tự động. Để mua một chai nước, bạn chỉ cần bỏ 10.000 đồng vào máy và lấy sản phẩm. Bạn không cần biết chủ của máy bán nước đó là ai vẫn có thể thực hiện giao dịch. Trường hợp số tiền giao dịch không đủ hoặc trong máy bán hàng không có sản phẩm bạn cần, giao dịch sẽ không được thực hiện.

Ngoài ra bạn cũng có thể thấy được sự khác biệt rõ nét hơn khi so sánh sự khác biệt giữa nền tảng gọi vốn Kickstarter và Smart contract:

Với nền tảng Kickstarter:

  • Các startup có thể tạo ra một dự án với đầy đủ thông tin, đặt mục tiêu muốn đạt được và kêu gọi mọi người góp vốn. Kickstarter thực chất là một đơn vị trung gian đứng giữa nhà đầu tư và các startup. Khi mà dự án được kêu gọi vốn thành công, các startup muốn trang web chuyển tiền cho họ.
  • Mặt khác các nhà đầu tư muốn tiền của họ được gửi đến đội ngũ startup. Khi gọi vốn thất bại thì nhà đầu tư muốn được hoàn tiền lại. Điều này đồng nghĩa với việc cả hai bên là nhà đầu tư và startup đều phải đặt niềm tin vào Kickstarter và mong muốn họ sẽ chuyển tiền đúng mục đích.

Với smart contract:

  • Chúng ta hoàn toàn có thể tạo ra một hệ thống tương tự Kickstarter mà không cần thông qua trung gian. Một Smart contract có chức năng giữ toàn bộ tiền mà nhà đầu tư gửi vào cho tới khi đạt được mục tiêu gọi vốn. Các nhà đầu tư có thể chuyển tiền vào địa chỉ smart contract này.
  • Nếu dự án gọi vốn thành công, số vốn huy động được sẽ tự động chuyển vào tài khoản của đội ngũ startup. Nếu trong thời gian quy định, dự án gọi vốn không thành công thì số tiền sẽ tự động hoàn trả về tài khoản của các nhà đầu tư. Thông qua smart contract thì không ai có thể động vào số tiền đó trong suốt quá trình gọi vốn.

Lịch sử phát triển của Smart contract

Smart Contract được biết đến lần đầu tiên vào năm 1993, khá lâu trước khi Bitcoin ra đời. Người tạo ra smart contract là Nick Sbazo. Ông là một nhà khoa học máy tính, một luật sư đồng thời cũng là người có những nghiên cứu chuyên sâu về lĩnh vực mật mã học.

Nick Sbazo nguoi tao ra smart contract

Nick Sbazo – người tạo ra hợp đồng thông minh

Nick Sbazo muốn ứng dụng công nghệ “sổ cái phân tán” vào lưu trữ các hợp đồng của mình. Khi thực hiện lưu trữ theo cách này, chúng ta có thể chuyển đổi hợp đồng sang mã code của máy tính. Mã code này có thể lưu trữ, sao chép bằng máy tính đang chạy trên blockchain. Đoạn mã code này được gọi là smart contract.

Tuy nhiên ở những năm 90 của thế kỷ XX, công nghệ chưa đủ phát triển để hỗ trợ cho Nick Sbazo triển khai loại hợp đồng mới này. Vào năm 2008 khi Bitcoin ra đời thì công nghệ blockchain mới thật sự được mọi người chú ý đến. Dù là mạng lưới đặt ra nền tảng cơ bản cho việc thiết lập smart contract trên blockchain, tuy nhiên Bitcoin vẫn chưa đạt đủ các yêu cầu cần có một hợp đồng thông minh.

Đến năm 2015, Vitalik Buterin là người đầu tiên áp dụng thành công Smart Contract trên Ethereum. Theo đó là hàng loạt các dự án blockchain khác cũng sử dụng smart contract để vận hành hệ thống như Neo, EOS, Cardano, Solana, Polkadot… Mỗi blockchain lại có một phương pháp triển khai hợp đồng thông minh khác nhau.

Cách thức hoạt động của Smart Contract

Hợp đồng thông minh hoạt động như một chương trình tất định. Smart contract tự động thực thi một tác vụ cụ thể khi thỏa mãn các điều kiện nhất định. Toàn bộ điều này diễn ra nhờ một đoạn code có mệnh đề “nếu… thì…” được gán vào máy trước khi thực hiện. Nội dung của đoạn code bao gồm các điều khoản đã được lập trình sẵn đảm bảo đáp ứng đủ các yêu cầu cần thiết của các bên tham gia.

cach thuc hoat dong cua hop dong thong minh

Cách thức hoạt động của Smart Contract

Cách thức hoạt động của smart contract có thể được hiểu đơn giản như sau:

  • Đầu tiên, các điều khoản trong hợp đồng sẽ được viết bằng ngôn ngữ lập trình. Mỗi blockchain sẽ yêu cầu viết smart contract theo một ngôn ngữ lập trình khác nhau. Hiện nay Ethereum là blockchain cho phép chạy các smart contract phổ biến nhất. Các smart contract trên Ethereum được viết bằng ngôn ngữ lập trình Solidity và được biên dịch thành mã bytecode cấp thấp để Máy ảo Ethereum thực thi.
  • Sau khi smart contract được viết hoàn thành. Đoạn mã code sẽ được mã hóa và chuyển vào một block thuộc blockchain. Tại thời điểm đó, Smart Contract sẽ được phân phối và lưu trữ bởi tất cả các node (máy tính) đang hoạt động trên nền tảng blockchain đó.
  • Các thuật toán như Proof of Work, Proof of Stake hay Byzantine… sẽ đảm bảo smart contract là phi tập trung và chống lại mọi nỗ lực muốn làm giả mạo nó. Khi smart contract được triển khai, nó sẽ không thể chỉnh sửa.
  • Sau khi nhận lệnh triển khai, hệ thống hoạt động dựa trên mệnh đề “nếu… thì…” và được giám sát bởi hàng trăm, hàng nghìn máy tính trong hệ thống blockchain. Nếu toàn bộ điều khoản được nêu trong hợp đồng là hợp lệ thì quá trình giao dịch được diễn ra theo đúng như điều khoản định sẵn.

Ví dụ minh họa để bạn dễ hiểu hơn: Giả sử anh A muốn thuê một căn hộ của anh B. Anh A muốn trả tiền thuê nhà bằng tiền mã hóa thông qua blockchain Ethereum. Lúc này A và B sẽ cùng nhau thực hiện một smart contract trên Ethereum với điều khoản như sau: B sẽ gửi cho A mật mã căn hộ vào ngày X.

  • Nếu mật mã đó không đến đúng thời hạn mà hai bên đã thống nhất thì smart contract sẽ tự động gửi lại tiền cho A.
  • Nếu mật mã đó đến trước thời hạn thì hệ thống sẽ giữ lại cả tiền và mật mã cho đến kỳ hạn thì tự động gửi lại cho A và B.

Các tính năng chính của hợp đồng thông minh

Một hợp đồng thông minh sẽ sở hữu 7 tính năng đặc biệt như sau:

tinh nang cua smart contract

7 tính năng của hợp đồng thông minh

  • Tính bất biến (Immutable): Khi smart contract đã được triển khai trên Blockchain thì nó không thể bị thay đổi. Người dùng chỉ có thể xóa hợp đồng nếu điều khoản này được thêm vào khi tạo lập. Nhiều người tin rằng tính năng này tương đương với mã chống giả mạo.
  • Tính phân tán (Distributed): Smart Contract sẽ được sao lưu và phân phối tới tất các node đang hoạt động trong mạng lướt Blockchain. Tính phân tán là giải pháp bảo vệ dữ liệu trên toàn hệ thống khỏi sự cố bất thường hoặc tấn công của hacker.
  • Tính tất định (Deterministic): Nghĩa là các giao dịch trên smart contract tất yếu sẽ xảy ra khi các điều kiện trong hợp đồng được thỏa mãn.
  • Có thể tùy chỉnh: Trước khi hợp đồng thông minh được thực thi, người ta có thể mã hóa nó theo nhiều cách khác nhau. Do đó, Smart contract được sử dụng để tạo ra nhiều loại ứng dụng phi tập trung (Dapp) hay các NFT (token không thể thay thế).
  • Tự động hóa: Smart Contract sẽ tự động thực hiện tất cả các tác vụ đúng theo những điều kiện đã thỏa thuận sẵn và chỉ thực hiện đúng theo điều kiện: “nếu… thì” đã được nêu rõ.
  • Không cần dựa trên sự tin tưởng: Hai bên tham gia vào hợp đồng thông tin không cần gặp mặt trực tiếp hay đánh giá về uy tín đối phương. Các bên sẽ tương tác với nhau trực tiếp qua smart contract. Hợp đồng sẽ tự động thực thi, đảm bảo sự chính xác tuyệt đối.
  • Minh bạch: Các Smart contract hoạt động trên blockchain công khai. Tất cả mọi người đều có thể truy cập để tìm hiểu nó nhưng không ai có thể sửa đổi thông tin trên đó.

Ưu – Nhược điểm của Smart Contract

1. Ưu điểm:

Được tạo lập để quản lý tài sản điện tử, không ai có thể phủ nhận những ưu điểm sau của Smart contract:

  • Tự do: Người sử dụng các hợp đồng thông minh không chịu sự quản lý, chi phối của bất cứ cơ quan, đơn vị nào. Hai bên tham gia hợp đồng chỉ cần đảm bảo tuân thủ theo những điều khoản đã quy định trên hợp đồng.
  • Hoàn toàn an toàn và minh bạch: Các smart contract sẽ được triển khai dưới sự giám sát của hàng trăm node đảm bảo sẽ không có sai sót trong khâu giao nhận. Dữ liệu đã sao lưu tại hàng trăm máy tính đảm bảo hacker không thể xóa hoặc sửa đổi chúng.
  • Không bị thất lạc: Smart Contract được mã hóa và lưu trữ trên một sổ cái chung để đảm bảo chúng không thể bị thất lạc.
  • Là một bộ mã có thể lập trình, khả năng tùy chỉnh cao: Một trong những lợi thế hàng đầu của các Smart Contract là khả năng tùy chỉnh cao. Nhà phát triển có thể thiết kế hợp đồng thông minh theo nhiều cách khác nhau sao cho phù hợp với loại hình dịch vụ, sản phẩm mà họ hướng tới.
  • Giảm chi phí hoạt động, tăng hiệu suất vận hành: Smart contract được xây dựng theo hướng tự thực hiện (self-executing). Không cần sự có mặt của con người, hệ thống cũng có thể tự vận hành một cách chính xác. Nhờ vậy cắt giảm lượng lớn chi phí nhân công, tăng hiệu suất và hiệu quả hoạt động.
uu diem cua smart contract

Ưu điểm của Smart Contract

2. Nhược điểm:

Tuy sở hữu những đặc tính ưu việt, nhưng hợp đồng thông minh vẫn tồn một số nhược điểm sau:

  • Tính pháp lý: Hiện tại, giới chức trách vẫn chưa có chính sách về khai thác và quản lý smart contract. Vì vậy smart contract hoạt động không có sự kiểm soát, bảo vệ của bất kỳ cơ quan nhà nước hay điều khoản pháp luật nào.
  • Chi phí triển khai khá lớn: Cá nhân doanh nghiệp muốn sử dụng Smart contract sẽ phải bỏ ra khoản đầu tư lớn, chi cho cơ sở hạ tầng, máy tính, thuê lập trình viên giỏi.
  • Rủi ro vì bộ mã có khả năng bị tấn công hoặc bị lỗi: Bản chất của Smart contract vẫn là một bộ mã lập trình. Sẽ ra sao nếu bộ mã này được thiết kế không hoàn chỉnh? Thêm vào đó, hacker vẫn có thể tấn công khi người dùng làm lộ thông tin cá nhân của mình. Đặc biệt như địa chỉ email, thông tin ID, thẻ căn cước.
  • Người dùng băn khoăn giữa lựa chọn smart contract trên hệ thống tập trung và smart contract trên mạng P2P.
  • Smart contract không thể sửa đổi vừa là ưu điểm cũng đồng thời là nhược điểm khó khắc phục. Trường hợp hợp đồng đã triển khai, các bên tham gia dù phát hiện ra điểm bất thường và đi tới kết quả đồng thuận cũng không thể chỉnh sửa các điều khoản đã được xác định trên smart contract. Điển hình phải kể đến sự kiện hard fork tạo ra Ethereum Classic và Ethereum. Nguyên nhân của sự kiện này là tổ chức tự trị phi tập trung DAO bị hack vào năm 2016 do có sai sót trong mã smart contract mà không thể thay đổi.

Để tạo một hợp đồng thông minh cần những gì?

Để tạo lập một hợp đồng thông minh, người dùng cần chuẩn bị những yếu tố sau:

  • Chủ thể hợp đồng: Các bên liên quan được liệt kê trong hợp đồng phải cấp quyền truy cập cho Smart Contract. Việc làm này nhằm mục đích có thể tự động khóa/mở khóa khi cần thiết.
  • Chữ ký điện tử: Chữ ký điện tử có vai trò như một chiếc khóa cá nhân của những bên tham gia. Vì vậy khi đồng ý với các thỏa thuận trong Smart Contract bắt buộc họ phải có chữ ký điện tử.
  • Điều khoản hợp đồng: Điều khoản hợp đồng được viết theo ngôn ngữ lập trình cụ thể, sau đó được mã hóa và được lưu trữ trên blockchain. Để điều khoản hợp đồng hợp lệ, các bên tham gia đều phải ký chấp nhận nó.
  • Nền tảng phi tập trung: Các Smart Contract chỉ chạy trên nền tảng Blockchain vì vậy người dùng nên lựa chọn nền tảng phi tập trung mà họ cảm thấy đáng tin tưởng nhất. Khi Smart Contract hoàn tất chúng sẽ tải lên mạng blockchain và được sao lưu tới các node trong cùng mạng lưới.

Các ứng dụng của Smart Contract

Có nhiều chuyên gia đã dự báo về khả năng phát triển smart contract hoàn toàn phù hợp thay thế cho các hợp đồng giấy truyền thống. Hiện nay, Smart Contract được ứng dụng vào hầu hết các lĩnh vực. Trong đó phải kể đến như Crypto, Logistics, bầu cử, y tế.

  • Trong lĩnh vực Crypto

Crypto và blockchain là lĩnh vực ứng dụng Smart Contract thành công nhất. Hàng loạt các ứng dụng phi tập trung (Dapp) đều được tạo ra bởi smart contract trên blockchain. Smart Contract cho phép nhà phát triển thiết kế ra hàng loạt các sản phẩm như ví tiền điện tử, sàn giao dịch phi tập trung (sàn DEX), Game blockchain, NFT…

ung dung cua smart contract

Ứng dụng của Smart Contract

  • Lĩnh vực Logistics

Chuỗi cung ứng trong các doanh  nghiệp đều có sự góp mặt của nhiều bộ phận, hoạt động phức tạp. Bài toán đặt ra cho một chuỗi cung ứng là ghi lại mọi hoạt động một cách chi tiết tuần tự để dễ dàng đánh giá hiệu suất hoặc giải quyết vấn đề phát sinh.

Smart Contract có thể giải quyết nó một cách minh bạch, chuẩn xác nhất. Khi ấy mỗi bộ phận trong doanh nghiệp đều có quyền giám sát, đốc thúc lẫn nhau, gia tăng hiệu suất hoạt động lên gấp nhiều lần.

  • Lĩnh vực Y tế

Các bệnh viện, hệ sinh thái y tế sử dụng hợp đồng thông minh cho các hồ sơ bệnh nhân và lưu trữ chúng trên Blockchain. Khi ấy thông tin về mỗi bệnh nhân sẽ được mã hóa và cung cấp khóa riêng, tiện lợi cho quản lý, trích xuất hóa đơn.

  • Sử dụng cho các cuộc bầu cử

Sự có mặt của smart contract trong các cuộc bầu cử sẽ xóa bỏ hoàn toàn các gian lận, thao túng. Tất cả các phiếu vote được mã hóa và được bảo vệ bằng sổ cái. Điều này đảm bảo quá trình diễn ra voting hoàn toàn minh bạch.

Kết luận

Trên đây là toàn bộ thông tin về smart contract là gì. Hy vọng thông qua bài viết đã giúp bạn hiểu hơn về thuật ngữ phổ biến trong lĩnh vực Crypto này. Nếu bạn là nhà phát triển sản phẩm, smart contract chính xác là con đường mới giúp bạn phát triển sự nghiệp trong tương lai. Nếu bạn là nhà đầu tư, việc hiểu rõ thuật ngữ smart contract sẽ giúp bạn hiểu hơn về thị trường Crypto và có thêm nền tảng để lựa chọn dự án coin tiềm năng. Chúc bạn thành công!