Vào những năm 1990, Nick Szabo lần đầu tiên đề xuất khái niệm hợp đồng thông minh. Vào thời điểm đó, ông định nghĩa hợp đồng thông minh là công cụ chuẩn hóa và đảm bảo an ninh cho mạng máy tính bằng cách kết hợp các giao thức và giao diện người dùng.
Szabo đã thảo luận về tiềm năng sử dụng hợp đồng thông minh trong nhiều lĩnh vực khác nhau liên quan đến thỏa thuận hợp đồng, chẳng hạn như hệ thống tín dụng, quy trình thanh toán và quản lý quyền nội dung.
Trong lĩnh vực tiền điện tử, hợp đồng thông minh có thể được định nghĩa là các ứng dụng hoặc chương trình chạy trong chuỗi khối. Thông thường, chúng hoạt động như một giao thức kỹ thuật số được thực thi bởi các quy tắc cụ thể. Các quy tắc này được xác định trước bằng mã máy tính và được sao chép và thực thi bởi tất cả các nút mạng.
Hợp đồng thông minh Blockchain hỗ trợ việc tạo ra các giao thức không cần tin cậy. Điều này có nghĩa là các bên tham gia hợp đồng thực hiện cam kết thông qua blockchain mà không biết hoặc tin tưởng lẫn nhau. Các bên xác định nếu không đáp ứng được các điều kiện thì hợp đồng sẽ không được thực hiện. Ngoài ra, việc sử dụng hợp đồng thông minh giúp loại bỏ nhu cầu trung gian, giảm đáng kể chi phí vận hành.
Mặc dù các hợp đồng thông minh đã được giao thức Bitcoin hỗ trợ trong nhiều năm nhưng chúng đã trở nên phổ biến nhờ bàn tay của người sáng tạo và đồng sáng lập Ethereum Vitalik Buterin. Điều đáng chú ý là mỗi blockchain thực hiện các hợp đồng thông minh một cách khác nhau.
Bài viết này sẽ tập trung vào các hợp đồng thông minh chạy trong Máy ảo Ethereum (EVM), một phần quan trọng của chuỗi khối Ethereum.
Nói một cách đơn giản, hợp đồng thông minh là một chương trình xác định thực hiện các nhiệm vụ cụ thể khi đáp ứng một số điều kiện nhất định. Do đó, hệ thống hợp đồng thông minh thường tuân theo câu lệnh có điều kiện "nếu... thì...". Mặc dù khái niệm "hợp đồng thông minh" đã được nhiều người biết đến nhưng nó không phải là hợp đồng pháp lý hay hợp đồng thông minh. Chúng chỉ là một đoạn mã chạy trong hệ thống phân tán blockchain.
Trong mạng Ethereum, hợp đồng thông minh chịu trách nhiệm thực thi và quản lý các hoạt động blockchain khi người dùng (địa chỉ) tương tác với nhau. Địa chỉ bên ngoài hợp đồng thông minh được gọi là "tài khoản bên ngoài (EOA)". Do đó, hợp đồng thông minh được kiểm soát bởi mã máy tính, trong khi tài khoản bên ngoài (EOA) được kiểm soát bởi người dùng.
Hợp đồng thông minh Ethereum về cơ bản bao gồm mã hợp đồng và hai khóa chung. Khóa công khai đầu tiên được cung cấp bởi người tạo hợp đồng và khóa công khai còn lại chính là hợp đồng và được sử dụng làm mã định danh kỹ thuật số duy nhất cho mỗi hợp đồng thông minh.
Tất cả việc triển khai hợp đồng thông minh diễn ra thông qua các giao dịch blockchain và chỉ được kích hoạt khi tài khoản bên ngoài (EOA) hoặc hợp đồng thông minh khác được gọi. Tuy nhiên, hợp đồng thông minh thường được kích hoạt bởi một tài khoản bên ngoài (EOA), tức là người dùng lần đầu tiên.
Hợp đồng thông minh Ethereum có các đặc điểm chung sau:
Đã phân phối. Hợp đồng thông minh được sao chép và phân phối trên tất cả các nút trong mạng Ethereum. Điều này rất khác với các giải pháp dựa trên máy chủ tập trung khác.
Sự chắc chắn. Hợp đồng thông minh chỉ thực hiện các hành động được thiết kế sẵn khi đáp ứng được yêu cầu. Và, bất kể ai làm điều đó, kết quả vẫn nhất quán.
Tự chủ. So với các chương trình “tự thực hiện”, hợp đồng thông minh sẽ tự động hoàn thành nhiều nhiệm vụ khác nhau. Trong hầu hết các trường hợp, hợp đồng thông minh chưa được kích hoạt vẫn ở trạng thái "ngủ" và không thực hiện bất kỳ thao tác nào.
Tính bất biến. Hợp đồng thông minh không thể thay đổi sau khi chúng được triển khai. Hợp đồng thông minh chỉ có thể bị "xóa" sau khi các chức năng cụ thể được triển khai. Vì vậy, chúng ta cũng có thể nói rằng hợp đồng thông minh cung cấp mã chống giả mạo.
Tùy chỉnh. Trước khi triển khai, hợp đồng thông minh được mã hóa theo nhiều cách khác nhau. Do đó, nó có thể được sử dụng để tạo ra nhiều ứng dụng phi tập trung (DApps). Điều này đi đôi với thực tế rằng Ethereum là một chuỗi khối hoàn chỉnh Turing.
Phá bỏ lòng tin. Hai hoặc nhiều bên có thể tương tác thông qua hợp đồng thông minh mà không cần biết hoặc tin tưởng lẫn nhau. Ngoài ra, công nghệ blockchain sẽ đảm bảo tính chính xác của dữ liệu.
Tính minh bạch. Nền tảng của hợp đồng thông minh là một chuỗi khối công khai, vì vậy mã nguồn không chỉ bất biến mà còn công khai và minh bạch với mọi người.
Sau khi được triển khai, hợp đồng thông minh Ethereum không thể thêm chức năng mới. Tuy nhiên, miễn là người tạo hợp đồng bảo lưu chức năng "SELFDESTRUCT" trong mã, thì chức năng này có thể "xóa" hợp đồng thông minh và thay thế bằng hợp đồng mới. Nếu chức năng này không được bảo lưu trong mã thì hợp đồng thông minh sẽ không thể bị xóa.
Điều đáng chú ý là thông qua cái gọi là hợp đồng thông minh có thể nâng cấp, các nhà phát triển có thể hoạt động linh hoạt hơn dựa trên tính bất biến của hợp đồng. Có nhiều cách để tạo các hợp đồng thông minh có thể nâng cấp, mỗi cách có mức độ phức tạp khác nhau.
Như một ví dụ đơn giản, giả sử rằng hợp đồng thông minh được chia thành nhiều hợp đồng nhỏ hơn. Một số bộ phận được thiết kế để không thể thay đổi, trong khi các bộ phận khác kích hoạt chức năng "xóa". Nghĩa là, các phần của mã (hợp đồng thông minh) có thể bị xóa và thay thế, trong khi các chức năng khác vẫn không thay đổi.
Là mã có thể lập trình được, hợp đồng thông minh có khả năng tùy chỉnh cao và có thể được thiết kế theo nhiều cách. Cung cấp nhiều loại dịch vụ và giải pháp.
Là các chương trình phi tập trung và tự thực hiện, hợp đồng thông minh có thể tăng tính minh bạch và giảm chi phí vận hành. Tùy thuộc vào việc triển khai, hợp đồng thông minh cũng có thể nâng cao hiệu quả thực hiện và giảm chi phí rườm rà.
Hợp đồng thông minh đặc biệt hữu ích khi chuyển tiền hoặc giao dịch giữa hai hoặc nhiều bên.
Nói cách khác, hợp đồng thông minh có thể được điều chỉnh cho phù hợp với nhiều trường hợp sử dụng phong phú, bao gồm việc tạo tài sản được mã hóa, hệ thống bỏ phiếu, ví tiền điện tử, sàn giao dịch phi tập trung, trò chơi và ứng dụng di động. Hợp đồng thông minh cũng có thể được triển khai với các giải pháp blockchain khác bao gồm các lĩnh vực như chăm sóc sức khỏe, từ thiện, chuỗi cung ứng, quản trị và tài chính phi tập trung (DeFi).
Mã thông báo được phát hành trên chuỗi khối Ethereum tuân theo tiêu chuẩn ERC-20. Tiêu chuẩn này chỉ định chức năng cốt lõi của tất cả các token Ethereum. Do đó, những tài sản kỹ thuật số này thường được gọi là “token ERC-20” và chiếm tỷ lệ lớn trong số tiền điện tử hiện có.
Nhiều công ty blockchain và công ty khởi nghiệp đã triển khai hợp đồng thông minh để tự động phát hành mã thông báo kỹ thuật số trên mạng Ethereum. Sau khi mã thông báo được phát hành, hầu hết các công ty sẽ phân phối mã thông báo ERC-20 của họ thông qua đợt cung cấp tiền xu ban đầu (ICO). Trong hầu hết các trường hợp, việc sử dụng hợp đồng thông minh có thể thực hiện hiệu quả các giao dịch quỹ và phân phối mã thông báo theo cách không cần tin cậy.
Hợp đồng thông minh bao gồm mã máy tính do con người viết. Code sẽ có những khiếm khuyết, sơ hở sẽ mang lại nhiều rủi ro. Lý tưởng nhất, hợp đồng thông minh nên được viết và triển khai bởi các lập trình viên có kinh nghiệm, đặc biệt khi có liên quan đến thông tin nhạy cảm và số tiền lớn.
Ngoài ra, một số người tin rằng hệ thống tập trung có thể cung cấp hầu hết các giải pháp và chức năng của hợp đồng thông minh. Sự khác biệt chính là hợp đồng thông minh chạy trong mạng P2P phân tán chứ không phải máy chủ tập trung. Hơn nữa, hợp đồng thông minh dựa trên hệ thống blockchain và do đó thường không thể bị giả mạo hoặc khó thay đổi.
Tính bất biến của hợp đồng thông minh có những ưu điểm rõ ràng, nhưng trong một số trường hợp, nó lại phản tác dụng. Ví dụ: tổ chức tự trị phi tập trung "The DAO" đã bị hack vào năm 2016 và hàng triệu đồng Ethereum (ETH) đã biến mất, nguyên nhân là do mã hợp đồng thông minh có sai sót.
Vì hợp đồng thông minh là bất biến nên các nhà phát triển không thể sửa mã. Điều này cuối cùng đã dẫn đến một hard fork, từ đó chuỗi Ethereum thứ hai ra đời. Nói một cách đơn giản, một chuỗi (hiện là một phần của chuỗi khối Ethereum) được "khôi phục" về trạng thái trước khi bị hack, trả lại tiền cho chủ sở hữu ban đầu của chúng. Chuỗi còn lại (hiện được gọi là "Ethereum Classic") đã quyết định không can thiệp vào vụ hack, nhấn mạnh rằng các sự kiện xảy ra trong chuỗi khối không bao giờ được giả mạo.
Cần lưu ý rằng vấn đề này không phải do chuỗi khối Ethereum gây ra mà là do việc thực thi hợp đồng thông minh không chính xác.
Một hạn chế khác của hợp đồng thông minh liên quan đến hiệu lực pháp lý không rõ ràng của chúng. Hợp đồng thông minh nằm trong vùng xám ở hầu hết các quốc gia và chưa áp dụng cho các khuôn khổ pháp lý hiện hành.
Ví dụ: nhiều hợp đồng yêu cầu cả hai bên tham gia giao dịch phải vượt qua xác thực tên thật phù hợp và phải trên 18 tuổi. Tuy nhiên, tính ẩn danh của công nghệ blockchain và việc thiếu trung gian sẽ xung đột với các yêu cầu của hợp đồng. Một giải pháp cho vấn đề này có thể xuất hiện trong tương lai. Tuy nhiên, hợp đồng thông minh chạy trong một mạng phân tán không biên giới, khiến việc thực thi pháp luật trở nên rất khó khăn.
Một số người đam mê blockchain coi hợp đồng thông minh sắp thay thế các giải pháp tự trị tồn tại ở hầu hết các hệ thống kinh doanh và quan liêu. Mặc dù ý tưởng này có thể thành hiện thực nhưng vẫn còn một chặng đường dài trước khi nó trở thành chuẩn mực.
Hợp đồng thông minh thực sự là một công nghệ thú vị. Tuy nhiên, các đặc điểm như phân phối, tính xác định, tính minh bạch và tính bất biến đôi khi làm giảm sức hấp dẫn của hợp đồng thông minh.
Nhược điểm cơ bản của hợp đồng thông minh là chúng không thể giải quyết tốt nhiều vấn đề thực tế. Trên thực tế, một số tổ chức hiện đang sử dụng giải pháp máy chủ truyền thống như một giải pháp tạm thời.
Các máy chủ tập trung dễ bảo trì hơn và ít tốn kém hơn so với hợp đồng thông minh và thường có lợi thế lớn về tốc độ và giao tiếp giữa các mạng (khả năng tương tác) .
Không còn nghi ngờ gì nữa, hợp đồng thông minh đã có tác động sâu sắc đến lĩnh vực tiền điện tử Tác động thực sự đã mang lại những thay đổi đáng kể cho lĩnh vực blockchain. Người dùng cuối không nhất thiết phải tương tác trực tiếp với hợp đồng thông minh. Nhưng trong tương lai gần, hợp đồng thông minh sẽ được sử dụng rộng rãi hơn, bao gồm nhiều lĩnh vực khác nhau như dịch vụ tài chính và quản lý chuỗi cung ứng.
Hợp đồng thông minh và chuỗi khối đã cùng nhau phá vỡ hầu hết các lĩnh vực của xã hội ngày nay. Nhưng chỉ có thời gian mới biết liệu những công nghệ đột phá này có thể vượt qua những trở ngại và cuối cùng được áp dụng đại trà hay không.