GhienCoin.comGhiền Coin
Ethereum và hợp đồng thông minh

Hợp đồng thông minh giải thích bằng ví dụ đời thường

Hợp đồng thông minh là một đoạn chương trình nằm trên blockchain, tự chạy khi có điều kiện đúng như đã viết. Nó giống chiếc máy bán nước tự động hơn là một bản hợp đồng giấy: bỏ đúng đồng xu thì lon nước rơi ra, không cần người bán đứng đó.

🎙️
📑 Nội dung theo chương
  1. 0:32 Từ chiếc máy bán nước
  2. 1:15 Ví dụ: quỹ lớp minh bạch
  3. 2:00 Nó không thông minh và không phải hợp đồng
  4. 2:42 Nó không biết thế giới bên ngoài
  5. 3:20 Những nơi hợp đồng thông minh đang được dùng
  6. 4:04 Gói lại
  7. 4:32 Câu hỏi thường gặp
🔊 Bản audio (lồng nhạc nền)

Xin chào, đây là Ghiền Coin. Hợp đồng thông minh là một đoạn chương trình nằm trên blockchain, tự chạy khi có điều kiện đúng như người viết đã quy định, và không ai sửa được giữa chừng. Hình ảnh gần nhất với nó không phải là bản hợp đồng giấy có chữ ký, mà là chiếc máy bán nước tự động: bỏ đúng tiền, bấm đúng nút, lon nước rơi ra, không cần người bán đứng cạnh.

Tên gọi hợp đồng thông minh hơi đánh lừa. Nó không thông minh, cũng không phải hợp đồng theo nghĩa pháp lý. Tập này mình bóc tách cái tên đó bằng vài ví dụ đời thường, rồi nói những gì nó không làm được.

Từ chiếc máy bán nước

Chiếc máy bán nước có một bộ luật đơn giản được cài sẵn. Nếu nhận đủ tiền và bấm nút số ba thì nhả lon số ba. Nếu tiền chưa đủ thì không nhả. Nếu hết hàng thì trả lại tiền. Máy không phán xét, không mềm lòng, không ngủ quên.

Hợp đồng thông minh cũng vậy. Người viết đặt ra các điều kiện bằng mã lệnh, đưa lên blockchain. Từ đó, ai gửi giao dịch đến hợp đồng thì mạng lưới chạy đúng đoạn mã đó, cho ra kết quả giống nhau trên mọi máy tính tham gia.

Khác biệt lớn với chiếc máy bán nước thật: máy thật thuộc về một công ty, công ty có thể mở máy ra sửa. Hợp đồng thông minh thường không ai sửa được sau khi đưa lên, trừ khi người viết đã cài sẵn cách nâng cấp.

Điều này vừa là sức mạnh vừa là điểm yếu. Không ai gian lận được giữa chừng, nhưng nếu người viết viết sai, cái sai đó cũng nằm im ở đó.

Ví dụ: quỹ lớp minh bạch

Hãy tưởng tượng một lớp học muốn góp quỹ đi dã ngoại. Thông thường, thủ quỹ giữ tiền, ghi sổ, và mọi người tin thủ quỹ. Nếu muốn, có thể viết một hợp đồng thông minh làm việc này.

Luật có thể là: ai góp thì ghi tên và số tiền; chỉ chi ra khi có hơn một nửa thành viên bấm đồng ý; nếu đến ngày hẹn mà chuyến đi bị huỷ thì tự động trả lại cho từng người đúng số đã góp. Ai cũng xem được sổ quỹ bất cứ lúc nào.

Ví dụ này cho thấy điểm hay: minh bạch, tự động, không phụ thuộc lòng tin vào một người. Nhưng nó cũng cho thấy cái phiền: một lớp học bình thường sẽ thấy việc này rườm rà hơn nhiều so với tin cô lớp trưởng.

Đây là bài học quan trọng: hợp đồng thông minh có ích khi lòng tin giữa các bên thật sự khó, hoặc khi số người tham gia quá lớn để ai cũng quen ai. Còn khi lòng tin đã sẵn, cách cũ thường đơn giản hơn.

Nó không thông minh và không phải hợp đồng

Chữ thông minh dễ khiến người ta nghĩ chương trình biết suy xét. Thực ra nó cứng nhắc tuyệt đối. Nó làm đúng những gì được viết, kể cả khi điều đó rõ ràng là vô lý trong hoàn cảnh cụ thể.

Chữ hợp đồng cũng dễ gây hiểu lầm. Về mặt pháp lý, một hợp đồng cần nhiều thứ hơn đoạn mã: các bên là ai, thẩm quyền giải quyết tranh chấp, quyền và nghĩa vụ ngoài đời thực. Một đoạn mã trên blockchain không tự động có giá trị pháp lý như hợp đồng giấy, và điều này còn tuỳ luật từng nơi.

Vì vậy, khi ai đó nói hợp đồng thông minh bảo đảm quyền lợi của bạn, hãy hỏi lại: bảo đảm theo đoạn mã nào, ai viết, và nếu đoạn mã sai thì ai chịu trách nhiệm.

Một cách nói chính xác hơn mà một số người dùng là chương trình tự thực thi. Nghe kém hấp dẫn nhưng đúng bản chất hơn.

Nó không biết thế giới bên ngoài

Hợp đồng thông minh chỉ biết những gì nằm trên blockchain. Nó không tự biết hôm nay trời mưa, đội bóng nào thắng, hay một món hàng đã giao chưa.

Muốn đưa thông tin bên ngoài vào, người ta dùng các dịch vụ gọi là oracle, tức nguồn cấp dữ liệu. Nhưng khi đó, lòng tin lại quay về nguồn cấp dữ liệu. Nếu nguồn cấp sai hoặc bị thao túng, hợp đồng vẫn chạy đúng luật trên dữ liệu sai.

Đây gọi là bài toán oracle, và nó giải thích vì sao nhiều ý tưởng nghe rất hay, như bảo hiểm tự động hay chuỗi cung ứng trên blockchain, khó thành hiện thực hơn người ta tưởng.

Câu hỏi nên đặt mỗi khi nghe về một ứng dụng blockchain: dữ liệu từ thế giới thật đi vào bằng đường nào, và ai bảo đảm nó đúng.

Những nơi hợp đồng thông minh đang được dùng

Hiện nay, hợp đồng thông minh được dùng nhiều nhất trong các ứng dụng tài chính phi tập trung, trong việc phát hành mã thông báo, và trong các tổ chức tự quản trên blockchain. Mình sẽ nói kỹ từng thứ ở danh mục Web3.

Một số lĩnh vực khác cũng thử nghiệm: chứng nhận văn bằng, quản lý quyền sở hữu tài sản số, bỏ phiếu trong cộng đồng. Mức độ thành công rất khác nhau, nhiều dự án dừng ở mức thử nghiệm.

Một lời nhắc an toàn: nhiều trò lừa đảo khoác áo hợp đồng thông minh, kiểu chỉ cần gửi vào hợp đồng là tự động nhận lãi. Đoạn mã có thể được viết để chỉ người tạo rút được tiền. Đừng bao giờ gửi tài sản vào một hợp đồng chỉ vì nghe nói nó tự động.

Hiểu nguyên lý giúp bạn nhận ra rằng chữ tự động không có nghĩa là an toàn. Máy bán nước cũng có thể được lập trình để nuốt tiền.

Gói lại

Hợp đồng thông minh là chương trình trên blockchain tự chạy theo luật đã viết, giống máy bán nước tự động. Nó không thông minh, không tự là hợp đồng pháp lý, và không biết thế giới bên ngoài nếu không có nguồn dữ liệu.

Nó có ích khi lòng tin giữa các bên khó xây, nhưng thường rườm rà khi lòng tin đã có sẵn.

Chữ tự động không đồng nghĩa với an toàn hay công bằng. Đoạn mã chỉ công bằng khi người viết công bằng và viết đúng.

Tập sau, mình nói về phí gas, cái giá mà người dùng phải trả mỗi lần nhờ chiếc máy tính chung này làm việc.

Câu hỏi thường gặp

Hợp đồng thông minh có giá trị pháp lý không?

Không tự động có. Giá trị pháp lý phụ thuộc luật từng nơi và cách các bên thoả thuận ngoài đời. Đoạn mã chỉ là chương trình tự thực thi.

Ai viết hợp đồng thông minh?

Bất kỳ ai biết lập trình đều có thể viết và đưa lên blockchain. Vì vậy chất lượng và sự trung thực rất khác nhau giữa các hợp đồng.

Hợp đồng thông minh có sửa được không?

Thường là không, trừ khi người viết đã cài sẵn cơ chế nâng cấp. Cơ chế đó lại có nghĩa là có người nắm quyền thay đổi.

Oracle là gì?

Oracle là nguồn cấp dữ liệu từ thế giới bên ngoài vào blockchain. Hợp đồng chỉ đúng khi dữ liệu oracle đưa vào đúng.

Gửi tài sản vào hợp đồng thông minh để nhận lãi tự động có an toàn không?

Cần hết sức cảnh giác. Đoạn mã có thể được viết để chỉ người tạo rút được tiền. Chữ tự động không đồng nghĩa với an toàn.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.