Hợp đồng thông minh (Smart Contract) là gì?

Khái niệm hợp đồng thông minh được Nick Szabo đưa ra lần đầu tiên vào những năm 1990. Khi đó hợp đồng thông minh được ông định nghĩa 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.

Ông Nick Szabo cho rằng hợp đồng thông minh có thể áp dụng được trong nhiều lĩnh vực khác nhau như là các hệ thống tín dụng, xử lý thanh toán và quản lý bản quyền nội dung. Những điều ông Nick Szabo thảo luận lúc đó có thể coi là xu hướng trong tương lai, tuy nhiên ở thời điểm đó thì chưa đủ công nghệ để phát triển. Mãi đến sau này khi công nghệ blockchain ra đời thì chúng ta mới có thể phát triển ứng dụng hợp đồng thông minh phổ biến như ngày nay. Vậy hợp đồng thông minh (Smart Contract) là gì?

I. Hợp đồng thông minh là gì?

Hợp đồng thông minh(Smart Contract) là một ứng dụng hoặc một chương trình chạy trên nền tảng công nghệ blockchain có khả năng tự động thực hiện các điều khoản, các thoả thuận giữa các bên trong hợp đồng. 

Có thể coi hợp đồng thông minh giống như một hợp đồng kỹ thuật số đi kèm theo những nguyên tắc bắt buộc cụ thể. Các nguyên tắc này do bộ mã máy tính xác định trước, và tất cả các nút (node) trong mạng đều phải sao chép và thực thi các nguyên tắc đó.

Mỗi mạng lưới blockchain sẽ có một phương pháp triển khai hợp đồng thông minh khác nhau, tuy nhiên nổi tiếng và phổ biến nhất là các hợp đồng thông minh chạy trên blockchain Ethereum. Cho nên bài viết hôm nay sẽ nói về các hợp đồng thông minh chạy trên nền tảng blockchain Ethereum nhé.

II. Hợp đồng thông minh hoạt động như thế nào?

Hợp đồng thông minh hoạt động như một chương trình có câu lệnh điều kiện được lập trình sẵn, nó sẽ chỉ thực thi một tác vụ cụ thể nào trong trường hợp đó nếu như thoã mãn các câu lệnh điều kiện "nếu… thì…".

Thực tế thì hợp đồng thông minh không phải là hợp đồng có đủ điều kiện pháp lý và nó cũng không có thông minh như tên gọi. Bản chất chúng chỉ là một đoạn mã chạy trên một hệ thống phân tán (blockchain).

Trên mạng lưới blockchain Ethereum thì các hợp đồng thông minh sẽ chịu trách nhiệm thực thi và quản lý các tác vụ diễn tra khi những người dùng 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 độc lập (externally owned account, EOA). Do đó, hợp đồng thông minh do máy tính kiểm soát và EOA do người dùng kiểm soát.

Thành phần cơ bản của hợp đồng thông minh sẽ gồm một mã hợp đồng và hai khóa công khai. Khóa công khai đầu tiên là khóa do người tạo hợp đồng cung cấp. Khóa còn lại đại diện cho chính hợp đồng đó, khóa này có thể xem như là một mã định danh kỹ thuật số duy nhất cho mỗi hợp đồng thông minh. 

Hợp đồng thông minh được triển khai thông qua giao dịch blockchain và lần kích hoạt đầu tiên luôn từ phía EOA (người dùng).

III. Các đặc điểm của hợp đồng thông minh

Hợp đồng thông minh được xây dựng trên nền tảng blockchain Ethereum cho nên chúng cũng có sẽ có các đặc điểm giống với các ứng dụng blockchain khác hiện nay.

1. Phân tán

Dữ liệu hợp đồng thông minh được sao chép và lưu trữ phân tán trong mạng lưới Ethereum. Đây là điểm khác biệt chính so với các hợp đồng chính thống.

2. Tất định

Hợp đồng thông minh chỉ thực hiện các tác vụ mà chúng đã được lập trình thiết kế sẵn trong các trường hợp thoã mãn câu lệnh điều kiện. Cùng với đó là mọi kết quả của hợp đồng thông minh sẽ không bao giờ thay đổi dù người thực hiện là bất cứ bên nào.

3. Tự động

Hợp đồng thông minh có thể tự động thực hiện các loại tác vụ theo điều kiện có sẵn, trong một số trường hợp, nếu như hợp đồng thông minh không được kích hoạt thì nó sẽ duy trì trạng thái không hoạt động và sẽ không thực hiện bất kỳ tác vụ nào cả.

4. Không thể sửa đổi

Không thể sửa đổi hợp đồng thông minh sau khi triển khai. Chỉ có thể "xóa" chúng nếu chức năng này đã được thêm vào từ trước.

5. Không cần dựa trên sự tin cậy

Hai bên không cần biết đối phương là ai, chỉ cần cả hai bên tương tác qua hợp đồng thông minh là đủ. 

6. Minh bạch

Hợp đồng thông minh được phát triển dựa trên blockchain công khai, nên bất cứ ai cũng có thể xem được.

7. 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 (Dapp). Điều này là bởi Ethereum là một blockchain có thể được sử dụng để giải quyết bất kỳ vấn đề tính toán nào (Turing complete)

IV. Có thể thay đổi hoặc xóa hợp đồng thông minh không?

Khi đã triển khai hợp đồng thông minh thì chắc chắn rằng bạn không thể thay đổi chức năng được nữa, tuy nhiên nếu như người tạo ra hợp đồng đã đưa trước vào một chức năng gọi là TỰ HỦY (SELFDESTRUCT) trong bộ mã thì họ có thể xoá hợp đồng thông minh trong tương lai và thay thế bằng một hợp đồng mới.

V. Ưu và nhược điểm của hợp đồng thông minh

1. Ưu điểm

Hợp đồng thông minh có khả năng ứng dụng trong nhiều lĩnh vực trong tương lai, hiện tại một số lĩnh vực đã sử dụng hợp đồng thông minh như: tiền điện tử, logistic, ngân hàng, bất động sản, trò chơi, ứng dụng di động, các sàn giao dịch phi tập trung thậm chí là hệ thống bầu cử.

Hợp đồng thông minh giúp tăng tính minh bạch và giảm chi phí hoạt động. 

Hợp đồng thông minh không bị một cơ quan, nhà nước nào quản lý, đây là ưu điểm đồng thời cũng là nhược điểm. Tuỳ theo mục đích sử dụng của mỗi người.

2. Nhược điểm

Hiện nay luật pháp nhiều nước trên thế giới bao gồm cả Việt Nam cũng chưa có chính sách bảo vệ quyền lợi người dùng khi xảy ra lỗi phát sinh.

Hợp đồng thông minh được tạo từ các đoạn mã máy tính do con người viết ra cho nên mang lại nhiều rủi ro có thể bị hack, do đó cần phải người có kinh nghiệm chuyên môn cao triển khai.

Hợp đồng thông minh không thể sửa được, tuy nhiên để giải quyết điều này thì một bản cập nhật phần mềm bắt buộc (hard fork), tạo ra chuỗi Ethereum thứ hai đã cập nhật xong. Có thể coi chuỗi Ethereum thứ hai như là chuỗi hoàn nguyên vụ tấn công để cho phép trả lại tiền cho các chủ sỡ hữu hợp pháp(chuỗi này là một phần của blockchain Ethereum hiện tại). Tất nhiên chuỗi đầu tiên mặc định sẽ không được phép can thiệp và thay đổi bất cứ điều gì trên hợp đồng thông minh cả(chuỗi này hiện được gọi là Ethereum Classic).

Bài viết nên đọc

Trên đây là những kiến thức từ kinh nghiệm bản thân mình nên các bạn có thể tham khảo. Nếu các bạn có góp ý cho mình thì hãy gửi vào đây, mình sẵn sàng nhận ý kiến đóng góp từ các bạn.

Ngoc Phuong

Ngoc Phuong - 82 bài viết - Đánh giá:

Có 2 cách học hiệu quả nhất, 1 là nói cho người khác biết thứ bạn mới học được, 2 là nói cho người khác biết thứ bạn sắp quên. Tôi mới học được rất nhiều thứ. Tôi cũng sắp quên rất nhiều thứ.

Để lại bình luận

Địa chỉ email của bạn sẽ không được công khai