Hợp đồng thông minh kiểu Tí Tèo

Hợp đồng thông minh – Smart Contract theo kiểu Tí Tèo

của Thanh Trà Trương
534 views

Hợp đồng thông minh và ý tưởng của bài viết

Hôm vừa rồi mình mới xem tập Shark Tank Việt Nam có đoạn anh Hải Hồ gọi vốn cho ứng dụng blockchain du lịch Triip của anh ấy. Điều mình cảm thấy ấn tượng nhất không chỉ là màn deal ngoạn mục của anh Hải Hồ với Shark Việt mà còn chỉ với một câu nói của Shark Hưng về công nghệ hợp đồng thông minh (smart contract) mà ứng dụng Triip được xây dựng nên (Link). Ngay hôm vừa rồi, HSBC cũng mới vừa thực hiện thành công giao dịch L/C đầu tiên tại Việt Nam dựa trên nền tảng blockchain (Link). 

Với việc blockchain nói chung và hợp đồng thông minh nói riêng đang ngày càng có nhiều ứng dụng trên toàn thế giới, mình cảm thấy bản thân muốn tìm hiểu tại sao bây giờ ai ai cũng nói về hợp đồng thông minh, và thứ gì được gọi là “thông minh” trong công nghệ này. Và đây là lý do mà bài viết về hợp đồng thông minh – smart contract này ra đời. OK let’s go.


Hợp đồng thông minh theo kiểu nghiêm túc

Quay ngược thời gian lại chút, cái tên “hợp đồng thông minh” (HĐTM) vốn ban đầu được đặt bởi nhà mật mã học (cryptologist) Nick Szabo vào những năm 1990. Vào năm 1994, ông phát biểu rằng:

Trước hết để mình tóm gọn lại một số thông tin cần biết về blockchain mà bài viết trước chưa nói tới. Nhìn chung sẽ có hai hình thức giao dịch có thể được thực hiện trên nền tảng Blockchain:

  1. Giao dịch gửi tiền từ người này sang người khác (Tí gửi cho Tèo 50k mua chuối như ví dụ trong bài viết trước)
  2. Giao dịch được thực hiện thông qua hợp đồng thông minh (trong phạm vi bài viết này)

Nói thêm rằng mỗi bên tham gia trong blockchain (Tí, Tèo, hay HĐTM) đều có một đoạn mã định danh duy nhất khóa-chung (Public key), và khóa-cá-nhân (Private key). Cả khóa-chung và khóa-cá-nhân đều là một đoạn mã ngẫu nhiên gồm chữ (viết hoa, viết thường), và số; ví dụ như 0xG10a0oM30Du01xaGaY917. Hiểu nôm na thì khóa-chung là tài khoản email, và khóa-cá-nhân là mật khẩu của email đó. 

Tương tự như hai hình thức giao dịch, chúng ta cũng sẽ có hai dạng khóa-chung:

  1. Khóa-chung của từng cá nhân 
  2. Khóa-chung của hợp đồng thông minh

Hợp đồng thông minh là một đoạn mã máy tính được lưu trữ và được thực thi trên tất cả các nút (node) (nếu chưa hiểu node là gì thì đọc bài này) trong mạng ngang hàng (peer-to-peer network). Hợp đồng thường bao gồm những yếu tố sau:

  1. Khóa-chung của HĐTM được sử dụng để định danh hợp đồng đó 
  2. Khóa-chung của người viết và triển khai HĐTM trên Blockchain (kiểu như coder ấy)
  3. Một đoạn mã được gắn với HĐTM và không bao giờ có thể thay đổi (tính bất biến) sau khi hợp đồng được triển khai

Hợp đồng thông minh thường được sử dụng trong các tình huống mà người tham gia muốn thực hiện các giao dịch trên internet (ví dụ khách hàng ở HN muốn mua nhà chung cư ở HCM, ở VN muốn mua xe ở Mỹ). Đoạn mã trong HĐTM chứa các điều khoản, quy định, bao gồm:

  1. Số tiền thanh toán mà người mua cần trả cho người bán
  2. Các tiêu chí cần được đáp ứng để khoản thanh toán này có hiệu lực (thời gian, chất lượng sản phẩm, etc.)
  3. vân vân và mây mây

Mỗi khi một điều kiện được thỏa mãn, HĐTM sẽ tự động thi hành các nội dung trong các điều khoản, quy định đã được code trong đoạn mã. Nói một cách dễ hiểu thì HĐTM có bản chất là một chiếc máy bán hàng tự động tự-thực-hiện các điều kiện nếu-thế-này-thì-thế-kia

  • Giả sử như Tí đang đi dạo bên bờ sông Hàn, trời cao mây xanh gió nhè nhẹ, Tí thấy…khát nước. Tí ghé vào máy bán hàng tự động ngay sát chân cầu rồng và bị thu hút bởi chai nước XX giá 10,000 VND với mã ABC
  • Tí rút tờ 10,000 VND bỏ vào khe cắm (số tiền thanh toán mà người mua cần trả cho người bán)
  • Hành động này đã giúp máy kích hoạt quyền chọn tiếp theo để Tí chọn mã ABC (kích hoạt quyền chọn của người mua)
  • Máy nhận mã ABC xong sẽ đẩy chai nước XX xuống khe nhận hàng (máy triển khai hợp đồng theo quyền chọn của người mua)

Đơn giản là vậy cho dễ hiểu đã. Giờ xét ví dụ phức tạp và sát với HĐTM trong thực tế hơn xíu, chứ như ví dụ trên thì máy bán hàng tự động ngoài đường cũng là HĐTM vậy.


Hợp đồng thông minh theo kiểu Tí Tèo

Giả sử, vào một ngày đẹp trời, các gương mặt vàng trong làng nghệ sĩ tụ tập lại với nhau và quyết định lập nên một nền tảng chia sẻ âm nhạc phân quyền có tên là Duoigay đi. Nền tảng này sẽ giúp các nghệ sĩ có thể tải tác phẩm của họ lên và trực tiếp bán cho người mua mà không cần phải qua bước trung gian như hãng ghi âm hay nền tảng phân phối bình thường (vốn thường có phí cao và ăn bớt tiền của họ).

Giả sử nền tảng này được xây dựng trên một nền tảng Blockchain là Ethereum và có hai phần chính:

  1. Một máy chủ bình thường lưu trữ trên trang web bình thường và chứa tất cả dữ liệu phi giao dịch (file nhạc)
  2. Hợp đồng thông minh được triển khai trên Ethereum, đảm bảo thanh toán và phân phối nhạc công bằng 

Giả sử tiếp Tũn là coder HĐTM của Duoigay. Tũn sẽ viết mã cho hợp đồng này như sau:

  • Khi một nghệ sĩ tải nhạc lên thì lưu trữ tên bài hát, phí tải bài hát đó, và khóa-chung của nghệ sĩ 
  • Khi người mua chuyển tiền vào khóa-chung của HĐTM thì cho phép khóa-chung của người mua được phép tải nhạc từ server Duoigay
  • Sau 1 tuần, chuyển toàn bộ số tiền vào khóa-chung của nghệ sĩ

Okay, phần setup nghe có vẻ ổn rồi, các nghệ sĩ đều nhất trí với các điều khoản của hợp đồng. Giờ đến phần ăn tiền này. 

1/>Tũn (The-Awesome-Coder): sau khi nhận được sự chấp thuận của các gương mặt vàng trong làng nghệ sĩ, Tũn liền TRIỂN KHAI bản hợp đồng lên Blockchain. Đây được xem là một giao dịch trên blockchain; giao dịch này được ghi vào 1 block, và được xuất khóa-chung công khai để mọi người đều biết

2/> Tí (The-Dreamer-Artist): Chàng nghệ sĩ mộng mer muốn bán nhạc của mình trên Duoigay. Tí tải bài nhạc của mình lên máy chủ Duoigay và cung cấp thông tin chi tiết của mình (bao gồm khóa-chung của Tí, tên bài hát, giá mỗi lượt tải về, v.v.) vào HĐTM. Đây cũng là một TƯƠNG TÁC của Tí trên Blockchain nên cũng sẽ được ghi vào 1 block.

3/> Tèo (The-Music-Lover): Anh sinh viên có văn hóa tôn trọng bản quyền tác giả không ngại trả tiền để mua nhạc. Tèo muốn mua bản nhạc của Tí (giá 50k mỗi bài), và chuyển 50k vào khóa-chung của hợp đồng thông minh. Đây cũng là một tương tác trên Blockchain nên cũng sẽ được ghi vào 1 block.

Hợp đồng thông minh tự động đối chiếu số tiền nhận được từ Tèo so với giá của bài hát mà Tí đưa ra và nếu điều kiện này thỏa mãn thì sẽ cấp quyền truy cập cho khóa-chung của Tèo để tải bài hát từ máy chủ Duoigay. Hợp đồng cũng sẽ tiến hành kiểm tra thời gian thực hiện thanh toán (của Tèo) và chuyển khoản tiền cho Tí (sau 1 tuần) 
Trên đây là ví dụ cơ bản nhất về HĐTM và cách mà công nghệ này hoạt động. Vài ba bước đơn giản vậy là Tèo có nhạc của mình, Tí thì có tiền của mình. Ai cũng vui!

À quên, ví dụ trên thực ra đã được phát triển trên thực tế rồi nha. Tên của nó không phải là Duoigay (tên con mèo nhà mình lol) mà là Ujomusic


Kết

Hiểu cơ bản là vậy, tuy nhiên việc quyết định sử dụng nền tảng Blockchain nào để triển khai HĐTM còn tùy thuộc giá trị của giao dịch đó. Ví dụ như đối với hợp đồng chạy quảng cáo có các điều kiện như số lượt xem, số người đăng ký hoặc lượt thích thường được triển khai hiệu quả hơn trên một nền tảng Blockchain ít phân quyền hơn (ví dụ như TRON hoặc EOS)


Trong khi những hợp đồng có giá trị cao, khối lượng giao dịch nhỏ (chẳng hạn như mua nhà chung cư, mua xe) sẽ thường được triển khai trên một nền tảng phi tập trung hơn (Ethereum). 

Hy vọng trong tương lai, (có thể là vài năm nữa), lúc mình mua 1 căn nhà thì có thể trải nghiệm ứng dụng thứ công nghệ này. Ai biết được nhỉ?

Fun fact:

Vitalik Buterin (người sáng lập Ethereum) đã nói rằng ông rất hối hận khi sử dụng từ “Hợp đồng thông minh” để gọi tên công nghệ này, và muốn gọi chúng là “Đoạn mã Ổn định”.


Tham Khảo

  1. https://www.investopedia.com/terms/s/smart-contracts.asp
  2. https://www2.deloitte.com/insights/us/en/focus/signals-for-strategists/using-blockchain-for-smart-contracts.html
  3. https://hackernoon.com/smart-contracts-a-simple-yet-comprehensive-explanation-in-pictures-bc21c7ab89b6
  4. https://medium.com/hatching-amazing/part-1-how-my-ssn-prevented-me-from-buying-music-on-the-blockchain-and-why-blockchain-for-music-a85eaeaca7ad
  5. https://twitter.com/vitalikbuterin/status/1051160932699770882?lang=en

1 bình luận

Hânn Nguyễn 14/08/2019 - 18:02

Anh Dân chơi viết khó hiểu quá huhu :'( :))

Reply

Viết bình luận tại đây

* By using this form you agree with the storage and handling of your data by this website.

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

This website uses cookies to improve your experience. We'll assume you're fine with this, but you can opt-out if you wish. Accept Read More