BitVM, tiềm năng của hợp đồng thông minh trên Mainnet Bitcoin

CoinExVietNam

Vip Member
Bài viết
369
Điểm tương tác
22
Điểm
18
Vào ngày 9 tháng 10, Robin Linus, một nhà phát triển của ZeroSync, đã phát hành bản tóm tắt về BitVM, thu hút sự chú ý rất lớn từ cộng đồng. BitVM giới thiệu một mô hình điện toán mới có khả năng thể hiện các hợp đồng Bitcoin Turing-complete mà không yêu cầu sửa đổi các quy tắc đồng thuận của mạng.



Hợp đồng thông minh phi tập trung: Hạn chế và mục tiêu



Script của Bitcoin, một ngôn ngữ dựa trên ngăn xếp, cung cấp các cấu trúc điều khiển cơ bản, chẳng hạn như kiểm tra có điều kiện, để xác định logic xác thực của các giao dịch. Nó yêu cầu chữ ký số hợp lệ để chi tiêu bitcoin thông qua một quy trình xác thực có điều kiện đơn giản. Điều đó nói lên rằng, Script được thiết kế để không phải là Turing complete. Mặc dù nó không hỗ trợ các tính năng điều khiển luồng phức tạp như vòng lặp, nhưng thiết kế này đảm bảo tính đơn giản và bảo mật của ngôn ngữ. Những hạn chế như vậy đã khiến Script gặp khó khăn trong việc thực hiện các phép tính phức tạp, bao gồm cả những phép tính liên quan đến hợp đồng thông minh.



Mặc dù một số giải pháp Layer 2 được thiết kế cho Bitcoin có thể đạt được các chức năng hợp đồng thông minh cơ bản bằng cách khóa tài sản, nhưng về cơ bản, chúng dựa vào địa chỉ đa chữ ký, đòi hỏi mức độ tin cậy tập trung nhất định. Điều này làm tổn hại đến cam kết phi tập trung của Bitcoin. Trước khi giới thiệu BitVM, cộng đồng Bitcoin đã khám phá các phương pháp phi tập trung, giảm thiểu độ tin cậy và có khả năng tính toán Turing-complete.



BitVM: Tính toán mọi thứ trên Bitcoin




Cốt lõi của sự đổi mới, BitVM sử dụng hệ thống Script hiện có của Bitcoin để triển khai các cổng logic (bao gồm cổng AND, cổng OR, cổng NOT và cổng XOR, cho phép các hoạt động như AND, OR, NOT và XOR) để xây dựng Boolean phức tạp tùy ý. Các mạch mạng này được sử dụng để thực hiện các phép toán logic trên đầu vào nhị phân và cung cấp đầu ra nhị phân; Tính toán Boolean có thể được thực hiện bằng cách sử dụng các cổng logic để thực hiện các phép toán như AND, OR, NOT và XOR. Cụ thể, BitVM sử dụng Hash Time Locked Contracts (HTLC) và Taproot (một nhánh mềm để tối ưu hóa Script được kích hoạt vào tháng 11 năm 2021) để thể hiện các cổng logic cơ bản, chẳng hạn như cổng AND và OR. BitVM sau đó kết hợp các cổng logic cơ bản này để xây dựng các mạch có độ phức tạp bất kỳ, về cơ bản là mô phỏng một máy tính có thể lập trình trên blockchain Bitcoin.



Cuối cùng, trong trường hợp có tranh chấp giữa các bên giao dịch, một giao thức phản hồi thách thức tinh tế, tương tự như fraud proofs trên Bitcoin, có thể được sử dụng để xác thực. Một người chứng minh đưa ra khẳng định rằng một hàm nhất định đánh giá một số đầu vào cụ thể cho một số đầu ra cụ thể. Nếu tuyên bố đó là sai thì người xác minh có thể thực hiện fraud proofs và trừng phạt người chứng minh. Sử dụng cơ chế này, mọi chức năng tính toán đều có thể được xác minh trên Bitcoin.



Thiết kế của BitVM

Cam kết giá trị bit




Cam kết giá trị bit, một tập lệnh Bitcoin, sử dụng các câu lệnh if-else để triển khai kế hoạch cam kết. Nguyên tắc mã hóa này đảm bảo rằng người gửi có thể xác nhận nội dung của tin nhắn trước khi gửi và nội dung đó không thể bị thay đổi sau khi nó được tiết lộ công khai. Sơ đồ cam kết này bao gồm hai giá trị hash, hash0 và hash1. Giá trị trả về sẽ là 0 hay 1 được xác định bằng cách so sánh giá trị hash của đầu vào với hai giá trị hash này.



Hình 1: Triển khai cụ thể cho cam kết 1 bit
View attachment 236297
Nguồn: https://bitvm.org/bitvm.pdf

Cam kết cổng logic
Trong lý thuyết tính toán, bất kỳ hàm tính toán nào cũng có thể được biểu diễn dưới dạng mạch Boolean. Đặc biệt, cổng NAND là cổng logic phổ quát có thể được sử dụng để xây dựng tất cả các cổng logic phức tạp khác. BitVM kết hợp hai cam kết giá trị bit đại diện cho hai đầu vào và cam kết giá trị bit thứ ba đại diện cho đầu ra để triển khai cổng NAND.

BitVM thể hiện cổng NAND một cách khéo léo thông qua các tập lệnh Bitcoin. Điều này cho phép nó xây dựng các mạch logic Boolean phức tạp tùy ý, mô phỏng hiệu quả một máy tính có thể lập trình thông qua Script.

Hình 2: Triển khai cổng NAND sử dụng các cam kết giá trị bit
View attachment 236298
Nguồn: https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754


Hình 3: Cam kết cổng logic cho hoạt động NAND
View attachment 236299
Nguồn: https://bitvm.org/bitvm.pdf


Script tính toán giá trị NAND của hai đầu vào để đảm bảo nó khớp với bit đầu ra đã cam kết.

Cam kết mạch nhị phân

BitVM có thể thể hiện bất kỳ mạch nào bằng cách soạn thảo các cam kết cổng. Mỗi bước thực thi đều được cam kết trong Tapleaf. Tất cả chúng đều được kết hợp thành cùng một địa chỉ Taproot, sao cho người chứng minh có thể thực thi bất kỳ cổng nào trong mạch. Việc thực thi một cổng yêu cầu bộ chuẩn phải mở cam kết cổng tương ứng và đặt giá trị cho các bit đầu vào và đầu ra của nó. Ví dụ, trong Hình 4, A, B, C và D là các cam kết giá trị bit được xác định trước, mỗi cam kết đại diện cho một bit. Sau đó, các hoạt động logic liên quan đến tám cổng NAND sẽ được thực hiện. Ví dụ: nếu A NAND B mang lại E và E được sử dụng làm đầu vào cho cổng NAND tiếp theo thì đầu ra cuối cùng của toàn bộ mạch sẽ là TRUE. Thiết kế mạch Boolean này kết nối các cổng NAND của các cam kết giá trị bit và đạt được các hoạt động logic phức tạp, cung cấp một biểu diễn nhỏ gọn cho tính toán có thể kiểm chứng trên blockchain Bitcoin.

Hình 4: Một mạch có 8 cổng NAND khác nhau
View attachment 236300
Nguồn: https://bitvm.org/bitvm.pdf


Những thử thách và phản hồi
Trong BitVM, việc cam kết với một mạch là không đủ và cần phải có cơ chế challenge-response để chứng minh tính chính xác của các tính toán. Để đạt được điều đó, người chứng minh và người xác minh phải ký trước một chuỗi giao dịch trong quá trình thiết lập. Các giao dịch được liên kết theo thứ tự “thử thách - phản hồi - thách thức - phản hồi”, tạo ra nhiều vòng tương tác thử thách và phản hồi. Nếu một trong hai bên ngừng tham gia thì sau khi hết thời gian chờ, bên kia sẽ thắng thử thách và có thể nhận cả hai khoản tiền gửi. Cơ chế này chỉ được yêu cầu trong trường hợp gian lận. Chỉ cần cả hai bên hợp tác, họ có thể cùng nhau giải quyết bất kỳ hợp đồng nào bằng chữ ký.

Hãy xem cơ chế này hoạt động như thế nào trong một trường hợp giả định. Paul (người chứng minh) và Vicky (người xác minh) đã ký trước một chuỗi giao dịch. Sau đó, Vicky có thể bắt đầu một thử thách (TX 2) bằng cách chọn một thử thách (hash7) từ một trong các hash trong lá Tapscript của cô ấy. Điều này mở khóa cho Paul một Tapscript cụ thể và buộc anh ta phải thực thi nó, với đầu vào và đầu ra mở. Bất kỳ tuyên bố không nhất quán nào cũng có thể bị bác bỏ nhanh chóng bằng cách lặp lại quy trình này trong một vài vòng truy vấn. Nếu người chứng minh ngừng cộng tác, người xác minh có thể mở khóa hình ảnh hash mà anh ta nắm giữ để buộc người chứng minh phản hồi on-chain. Mỗi vòng truy vấn có thể xác nhận hoặc bác bỏ một cổng cụ thể. Thông qua tìm kiếm nhị phân (một thuật toán được sử dụng để định vị một phần tử cụ thể trong một mảng đã được sắp xếp), người xác minh có thể nhanh chóng xác định lỗi của người chứng minh chỉ sau một vài vòng thử thách và phản hồi. Khi hai cam kết của người chứng minh xung đột với nhau, người xác minh sẽ ngay lập tức chiến thắng thử thách và nhận tiền.

Hình 5: Chuỗi giao dịch được ký trước để thực hiện nhiều vòng thử thách và phản hồi
View attachment 236301
Nguồn: https://bitvm.org/bitvm.pdf

Thiết kế tỉ mỉ này cho phép BitVM thực hiện xác minh on-chain đối với bất kỳ tính toán phức tạp nào, đảm bảo hiệu quả cộng tác và áp dụng hình phạt trong trường hợp gian lận. Nó chứng tỏ khả năng xác minh tính toán tương tác Turing-complete trong mạng Bitcoin.

Các khía cạnh chính trong thiết kế của BitVM​

Tính toán off-chain & Xác minh on-chain
BitVM loại bỏ gánh nặng tính toán phức tạp khỏi chuỗi khối, dành riêng blockchain Bitcoin cho mục đích duy nhất là xác minh kết quả. Cách tiếp cận này tránh chạy các hợp đồng phức tạp trực tiếp trên blockchain, giúp giảm thiểu sự phình to của blockchain.

Cổng logic được thể hiện bằng Hashlocks và Bitcoin Scripts
BitVM tận dụng các hashlock và opcode script được Bitcoin hỗ trợ để thể hiện các cổng logic cơ bản, chẳng hạn như cổng AND và NOT. Việc kết nối các cổng logic này cho phép nó xây dựng các mạch có độ phức tạp tùy ý, cho phép tính toán Turing-complete.

Cơ chế lý thuyết trò chơi dành cho người chứng minh và người xác minh
Cơ chế xác thực của BitVM, giống như Optimistic Rollup, bao gồm các thử thách và phản hồi tương tác giữa các bên tính toán. Cuối cùng, kết quả tính toán chính xác được xác nhận on-chain. Nếu người chứng minh gian lận, người xác minh có thể thực hiện các hình phạt trên blockchain Bitcoin. Do đó, BitVM và Optimistic Rollup sử dụng các cơ chế tương tác tương tự để xác minh on-chain và điểm khác biệt duy nhất là BitVM trực tiếp sử dụng các tập lệnh Bitcoin để thực hiện quy trình phản hồi thử thách tương tác.

Tác động on-chain tối thiểu
Quá trình tính toán của BitVM có tác động tối thiểu đến blockchain Bitcoin, chỉ để lại một số lượng nhỏ giao dịch on-chain khi xảy ra tranh chấp. Điều này duy trì tính hiệu quả và khả năng mở rộng của Bitcoin.

Không cần Soft Forks
Vì BitVM chỉ sử dụng các khả năng của Bitcoin script hiện có nên nó không yêu cầu bất kỳ sửa đổi nào đối với giao thức Bitcoin thông qua soft forks. Điều này giúp BitVM được tích hợp vào mainnet Bitcoin dễ dàng hơn.

Tổng kết
Sự đổi mới lớn nhất của BitVM nằm ở khả năng thực hiện xác minh Turing-complete mà không cần sửa đổi giao thức Bitcoin cốt lõi; nó đạt được điều này bằng cách sử dụng scripts một cách sáng tạo, đặc biệt là scripts được Taproot tối ưu hóa. Thiết kế khéo léo này cho phép tích hợp liền mạch với mainnet Bitcoin mà không gây ra các vấn đề tương thích mới hoặc làm cho Bitcoin ít phi tập trung hơn.

Giải pháp đổi mới của BitVM có tiềm năng giới thiệu các hợp đồng thông minh và ứng dụng phi tập trung cho hệ sinh thái Bitcoin. Chẳng hạn, nó có thể được sử dụng để xây dựng các cầu nối cross-chain có độ tin cậy tối thiểu để kết nối các tài sản blockchain khác nhau, nâng cao khả năng tương tác của Bitcoin. Ngoài ra, BitVM cũng có thể giúp xây dựng các lớp mở rộng zkRollup hiệu quả hơn để giúp Bitcoin có khả năng mở rộng cao hơn. Tóm lại, BitVM cho thấy những khả năng to lớn trong việc thúc đẩy hệ sinh thái Bitcoin bước sang một kỷ nguyên mới chỉ thông qua việc sử dụng sáng tạo các tính năng hiện có.


Tài liệu tham khảo
https://bitvm.org/bitvm.pdf
https://github.com/supertestnet/tapleaf-circuits
https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754
 
Bên trên