Giới thiệu
Nick Szabo lần đầu tiên mô tả hợp đồng thông minh vào những năm 1990. Hồi đó, ông định nghĩa hợp đồng thông minh là một công cụ chính thức hóa và bảo mật mạng máy tính bằng cách kết hợp các giao thức với 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 các 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, xử lý thanh toán và quản lý quyền nội dung.
Trong thế giới tiền điện tử, chúng ta có thể định nghĩa hợp đồng thông minh là một ứng dụng hoặc chương trình chạy trên blockchain. Thông thường, chúng hoạt động như một thỏa thuận kỹ thuật số được thực thi bởi một bộ 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, đượ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 cho phép tạo ra các giao thức không cần tin cậy. Điều này có nghĩa là hai bên 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. Họ có thể chắc chắn rằng nếu các điều kiện không được đáp ứng 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 có thể loại bỏ nhu cầu về trung gian, giảm đáng kể chi phí hoạt động.
Mặc dù giao thức Bitcoin đã hỗ trợ các hợp đồng thông minh trong nhiều năm nhưng chúng đã trở nên phổ biến bởi người sáng tạo và đồng sáng lập Ethereum, Vitalik Buterin. Tuy nhiên, điều đáng chú ý là mỗi blockchain có thể đưa ra một phương pháp triển khai hợp đồng thông minh 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 trên Máy ảo Ethereum (EVM), một phần thiết yếu của chuỗi khối Ethereum.
Họ làm việc như thế nào?
Nói một cách đơn giản, hợp đồng thông minh hoạt động như một chương trình xác định. Nó thực thi một nhiệm vụ cụ thể khi và nếu các điều kiện nhất định được đáp ứng. Do đó, hệ thống hợp đồng thông minh thường tuân theo các câu lệnh “nếu…thì…”. Nhưng bất chấp thuật ngữ phổ biến, hợp đồng thông minh không phải là hợp đồng pháp lý, cũng không phải là thông minh. Chúng chỉ là một đoạn mã chạy trên hệ thống phân tán (blockchain).
Trên mạng Ethereum, các 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 diễn ra khi người dùng (địa chỉ) tương tác với nhau. Bất kỳ địa chỉ nào không phải là hợp đồng thông minh đều được gọi là tài khoản thuộc sở hữu bên ngoài (EOA). Do đó, hợp đồng thông minh được kiểm soát bởi mã máy tính và EOA được kiểm soát bởi người dùng.
Về cơ bản, hợp đồng thông minh Ethereum được tạo thành từ mã hợp đồng và hai khóa chung. Khóa công khai đầu tiên là khóa được cung cấp bởi người tạo hợp đồng. Khóa còn lại đại diện cho chính hợp đồng, hoạt động như một mã định danh kỹ thuật số duy nhất cho mỗi hợp đồng thông minh.
Việc triển khai bất kỳ hợp đồng thông minh nào được thực hiện thông qua giao dịch blockchain và chúng chỉ có thể được kích hoạt khi được EOA (hoặc các hợp đồng thông minh khác) gọi. Tuy nhiên, lần kích hoạt đầu tiên luôn do EOA (người dùng) gây ra.
Các tính năng chính
Hợp đồng thông minh Ethereum thường có các đặc điểm sau:
Đã phân phối. Hợp đồng thông minh được sao chép và phân phối trong tất cả các nút của mạng Ethereum. Đây là một trong những điểm khác biệt chính so với các giải pháp khác dựa trên máy chủ tập trung.
Xác định. Hợp đồng thông minh chỉ thực hiện các hành động mà chúng được thiết kế nếu đáp ứng được các yêu cầu. Ngoài ra, kết quả sẽ luôn giống nhau, bất kể ai thực hiện chúng.
Tự chủ. Hợp đồng thông minh có thể tự động hóa tất cả các loại nhiệm vụ, hoạt động giống như một chương trình tự thực hiện. Tuy nhiên, trong hầu hết các trường hợp, nếu hợp đồng thông minh không được kích hoạt, nó sẽ ở trạng thái "không hoạt động" và không thực hiện bất kỳ hành động nào.
Bất biến. Hợp đồng thông minh không thể thay đổi sau khi triển khai. Chúng chỉ có thể bị "xóa" nếu một chức năng cụ thể đã được triển khai trước đó. Vì vậy, chúng ta có thể nói rằng hợp đồng thông minh có thể cung cấp mã chống giả mạo.
Có thể tùy chỉnh. Trước khi triển khai, hợp đồng thông minh có thể được mã hóa theo nhiều cách khác nhau. Vì vậy, chúng có thể được sử dụng để tạo ra nhiều loại ứng dụng phi tập trung (DApps). Điều này có liên quan đến thực tế rằng Ethereum là một chuỗi khối hoàn chỉnh Turing.
Không đáng tin cậy. 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 đảm bảo dữ liệu luôn chính xác.
Trong suốt. Vì hợp đồng thông minh dựa trên blockchain công khai nên mã nguồn của chúng không chỉ bất biến mà còn có thể hiển thị cho bất kỳ ai.
Tôi có thể thay đổi hoặc xóa hợp đồng thông minh không?
Không thể thêm các chức năng mới vào hợp đồng thông minh Ethereum sau khi triển khai. Tuy nhiên, nếu người tạo ra nó bao gồm một chức năng có tên là SELFDESTRUCT trong mã, thì họ có thể "xóa" hợp đồng thông minh trong tương lai - và thay thế nó bằng một hợp đồng mới. Tuy nhiên, ngược lại, nếu chức năng này không được đưa vào mã trước, họ sẽ không thể xóa nó.
Đáng chú ý, cái gọi là hợp đồng thông minh có thể nâng cấp cho phép các nhà phát triển linh hoạt hơn trước 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 với mức độ phức tạp khác nhau.
Lấy một ví dụ đơn giản, hãy tưởng tượng rằng một hợp đồng thông minh được chia thành nhiều hợp đồng nhỏ hơn. Một số trong số chúng được thiết kế để không thể thay đổi, trong khi một số khác được bật chức năng 'xóa'. Điều này có nghĩa là một phần 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 được giữ nguyên.
Ưu điểm và trường hợp sử dụng
Là mã có thể lập trình, hợp đồng thông minh có khả năng tùy biến cao và có thể được thiết kế theo nhiều cách khác nhau, 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ể giúp tăng tính minh bạch và giảm chi phí hoạt động. Tùy thuộc vào việc thực hiện, chúng cũng có thể tăng hiệu quả và giảm chi phí quan liêu.
Hợp đồng thông minh đặc biệt hữu ích trong các tình huống liên quan đến việc chuyển hoặc trao đổi tiền giữa hai hoặc nhiều bên.
Nói cách khác, hợp đồng thông minh có thể được thiết kế cho nhiều trường hợp sử dụng khác nhau. Một số ví dụ bao gồm việc tạo tài sản 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. Chúng cũng có thể được triển khai cùng với các giải pháp blockchain khác đang giải quyết các lĩnh vực 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).
ERC-20
Token được phát hành trên chuỗi khối Ethereum tuân theo tiêu chuẩn được gọi là ERC-20. Tiêu chuẩn mô tả các chức năng cốt lõi của tất cả các token dựa trên Ethereum. Do đó, những tài sản kỹ thuật số này thường được gọi là mã thông báo ERC-20 và chúng đại diện cho một phần lớn các loại 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 để phát hành mã thông báo kỹ thuật số của họ trên mạng Ethereum. Sau khi phát hành, phần lớn các công ty này đã phân phối mã thông báo ERC-20 của họ thông qua các sự kiện 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 cho phép trao đổi tiền và phân phối mã thông báo một cách hiệu quả và không cần tin cậy.
Hạn chế
Hợp đồng thông minh được làm bằng mã máy tính do con người viết. Điều này mang lại nhiều rủi ro vì mã có nhiều lỗ hổng và lỗi. Lý tưởng nhất là chúng 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 liên quan đến thông tin nhạy cảm hoặc số tiền lớn.
Ngoài ra, một số người cho rằng các 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 do hợp đồng thông minh cung cấp. Sự khác biệt chính là các hợp đồng thông minh đang chạy trên mạng P2P phân tán chứ không phải trên máy chủ tập trung. Và bởi vì chúng dựa trên hệ thống blockchain nên chúng có xu hướng bất biến hoặc rất khó thay đổi.
Trở nên bất biến có thể là điều tuyệt vời trong một số trường hợp nhưng lại rất tệ trong một số trường hợp khác. Ví dụ: khi Tổ chức tự trị phi tập trung (DAO) có tên "The DAO" bị hack vào năm 2016, hàng triệu ether (ETH) đã bị đánh cắp do sai sót trong mã hợp đồng thông minh của họ.
Vì hợp đồng thông minh của họ 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, khai sinh ra chuỗi Ethereum thứ hai. Nói một cách đơn giản, một chuỗi đã "hoàn nguyên" vụ hack và trả lại tiền cho chủ sở hữu hợp pháp (đây là một phần của chuỗi khối Ethereum hiện tại). Chuỗi còn lại quyết định không can thiệp vào vụ hack, tuyên bố rằng những điều xảy ra trên blockchain sẽ không bao giờ được thay đổi (chuỗi này hiện được gọi là Ethereum Classic).
Điều quan trọng cần lưu ý là vấn đề không đến từ chuỗi khối Ethereum. Thay vào đó, nguyên nhân là do việc thực hiện hợp đồng thông minh bị lỗi.
Một hạn chế khác của hợp đồng thông minh có liên quan đến tình trạng pháp lý không chắc chắn của chúng. Không chỉ vì nó nằm trong vùng xám ở hầu hết các quốc gia mà còn vì hợp đồng thông minh không phù hợp với 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 phải được xác định danh tính chính xác và trên 18 tuổi. Bí danh được cung cấp bởi công nghệ blockchain, kết hợp với việc thiếu trung gian, có thể đe dọa những yêu cầu đó. Mặc dù có những giải pháp tiềm năng cho vấn đề này, nhưng khả năng thực thi pháp lý của hợp đồng thông minh là một thách thức thực sự - đặc biệt là khi nói đến các mạng phân tán, không biên giới.
Sự chỉ trích
Một số người đam mê blockchain coi hợp đồng thông minh là một giải pháp sẽ sớm thay thế và tự động hóa một phần lớn hệ thống thương mại và quan liêu của chúng ta. Mặc dù điều này có thể trở thành hiện thực nhưng có lẽ còn lâu mới trở thành chuẩn mực.
Hợp đồng thông minh chắc chắn là một phần công nghệ thú vị. Tuy nhiên, việc bị phân tán, mang tính xác định, minh bạch và có phần bất biến có thể khiến chúng kém hấp dẫn hơn trong một số trường hợp.
Về cơ bản, những lời chỉ trích dựa trên thực tế rằng hợp đồng thông minh không phải là giải pháp phù hợp cho nhiều vấn đề trong thế giới thực. Trên thực tế, một số tổ chức tốt hơn nên sử dụng các giải pháp thay thế dựa trên máy chủ thông thường.
Khi so sánh với hợp đồng thông minh, các máy chủ tập trung dễ bảo trì hơn và rẻ hơn, đồng thời có xu hướng mang lại hiệu quả cao hơn về tốc độ và giao tiếp giữa các mạng (khả năng tương tác).
Bớt tư tưởng
Không còn nghi ngờ gì nữa, các hợp đồng thông minh đã gây ra tác động lớn trong thế giới tiền điện tử và chúng chắc chắn đã cách mạng hóa không gian blockchain. Mặc dù người dùng cuối có thể không tương tác trực tiếp với các hợp đồng thông minh, nhưng chúng có khả năng cung cấp nhiều ứng dụng trong tương lai, từ dịch vụ tài chính đến quản lý chuỗi cung ứng.
Cùng với nhau, hợp đồng thông minh và blockchain có khả năng phá vỡ hầu hết các lĩnh vực trong xã hội chúng ta. Nhưng chỉ có thời gian mới biết được liệu những công nghệ đột phá này có vượt qua được nhiều rào cản để áp dụng trên quy mô lớn hay không.