Mua tiền điện tử
Thị trường
Spot
Futures
Earn
Chương trình
Thêm
reward-centerKhu vực người mới
Phân tích báo cáoChi tiết
Nghiên cứu ngành

BitVM, Tiềm năng của Hợp đồng Thông minh trên Mainnet Bitcoin

  • BTC0%
CoinEx logo
Đăng vào 2023-11-01

Vào ngày 9 tháng 10, Robin Linus, một nhà phát triển từ ZeroSync, đã công bố bản báo cáo kỹ thuật BitVM, thu hút sự chú ý lớn từ cộng đồng. BitVM giới thiệu một mô hình tính toán mới có khả năng biểu thị các hợp đồng Bitcoin Turing-complete mà không cần 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: Giới hạn 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 đ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 quá trình xác thực điều kiện đơn giản. Tuy nhiên, Script được thiết kế để không hoàn chỉnh Turing. Mặc dù nó không hỗ trợ các tính năng kiểm soát luồng phức tạp như vòng lặp, 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.

Trong khi 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, về cơ bản chúng dựa vào các địa chỉ đa chữ ký và ánh xạ tài sản giữa các chuỗi, điều này đòi hỏi một 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 BitVM ra đời, cộng đồng Bitcoin đã tìm hiểu các phương pháp phi tập trung, giảm thiểu sự tin cậy và có khả năng tính toán hoàn chỉnh Turing.

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 phép toán như AND, OR, NOT và XOR) để xây dựng các mạch Boolean phức tạp tùy ý. Các mạch 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à đưa ra đầu ra nhị phân; Phép tính 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 Hợp đồng khóa thời gian băm (HTLC) và Taproot (một soft fork để tối ưu hóa Script được kích hoạt vào tháng 11 năm 2021) để biểu diễn các cổng logic cơ bản, chẳng hạn như cổng AND và OR. Sau đó, BitVM 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 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 thách thức-phản hồi tinh tế, tương tự như bằng chứng gian lận trên Bitcoin, có thể được sử dụng để xác thực. Người chứng minh đưa ra tuyên bố rằng một hàm nhất định đánh giá cho một số đầu vào cụ thể thành một đầu ra cụ thể. Nếu tuyên bố đó là sai, thì người xác minh có thể thực hiện bằng chứng gian lận và trừng phạt người chứng minh. Sử dụng cơ chế này, bất kỳ hàm có thể tính toán nào cũng 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 để thực hiện một phương pháp cam kết. Phương pháp mật mã này đảm bảo rằng người gửi có thể xác nhận nội dung của thông điệp trước khi gửi, và nội dung không thể bị thay đổi sau khi được công bố công khai. Phương pháp cam kết này bao gồm hai giá trị băm, hash0 và hash1. Việc giá trị trả về sẽ là 0 hay 1 được xác định bằng cách so sánh giá trị băm của đầu vào với hai giá trị băm này.

Hình 1: Một triển khai cụ thể cho cam kết 1 bit

Bit Value Commitment

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 có thể tính toán nào cũng có thể được biểu diễn dưới dạng một mạch Boolean. Đặc biệt, cổng NAND là một 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à một cam kết giá trị bit thứ ba đại diện cho đầu ra để thực hiện cổng NAND.

BitVM khéo léo biểu diễn cổng NAND 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 cam kết giá trị bit

Implementation of a NAND gate

Nguồn: https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754

Hình 3: Cam kết cổng logic cho một phép toán NAND

Logic gate commitment

Nguồn: https://bitvm.org/bitvm.pdf

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

Cam Kết Mạch Nhị Phân

BitVM có thể biểu diễn bất kỳ mạch nào bằng cách kết hợp các cam kết cổng. Mọi bước của quá trình thực thi đều được cam kết trong một Tapleaf. Tất cả chúng được kết hợp vào cùng một địa chỉ Taproot, để 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 người chứng minh 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 cái đại diện cho một bit. Các phép toán logic liên quan đến tám cổng NAND sau đó được thực hiện. Ví dụ, nếu A NAND B cho kết quả E, và E được sử dụng làm đầu vào cho cổng NAND tiếp theo, đầu ra cuối cùng của toàn bộ mạch sẽ là TRUE. Thiết kế này của các mạch Boolean kết nối các cổng NAND của các cam kết giá trị bit và đạt được các phép toán logic phức tạp, cung cấp một biểu diễn nhỏ gọn cho tính toán có thể xác minh trên blockchain Bitcoin.

Hình 4: Một mạch với tám cổng NAND khác nhau

Một mạch với tám cổng NAND khác nhau

Nguồn: https://bitvm.org/bitvm.pdf

Thách thức và Phản hồi

Trong BitVM, việc cam kết một mạch là không đủ, và cần có một cơ chế thách thức-phản hồi để chứng minh tính đúng đắn của các phép tính. Để đạt được điều đó, người chứng minh và người xác minh nên 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ách thức - phản hồi - thách thức - phản hồi", tạo ra nhiều vòng tương tác thách thức-và-phản hồi. Nếu một trong các bên ngừng tham gia thì sau thời gian chờ, bên kia sẽ thắng thách thức và có thể lấy cả hai khoản đặt cọc. Cơ chế này chỉ cần thiết trong trường hợp gian lận. Miễn là cả hai bên đều 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ý 2-trong-2.

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 khóa băm trong các nhánh 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 các đầ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ể được chứng minh là sai nhanh chóng bằng cách lặp lại quy trình này trong vài vòng truy vấn. Nếu người chứng minh ngừng hợp tác, người xác minh có thể mở khóa một tiền ảnh băm mà anh ta nắm giữ để buộc người chứng minh phải phản hồi trên chuỗi. Mỗi vòng truy vấn có thể xác thực 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 đã 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 vài vòng thử thách và phản hồi. Khi hai cam kết của người chứng minh mâu thuẫn với nhau, người xác minh ngay lập tức chiến thắng thử thách và nhận được tiền đặt cọc.

Hình 5: Một 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

Một chuỗi giao dịch đã được ký trước

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 trên chuỗi đối với bất kỳ phép tính phức tạp nào, đảm bảo hiệu quả của sự hợp tác và áp đặt hình phạt trong trường hợp gian lận. Nó chứng minh 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 Ngoài Chuỗi & Xác Minh Trên Chuỗi

BitVM đặt gánh nặng của các phép tính phức tạp ra ngoài blockchain, 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 việc chạy các hợp đồng phức tạp trực tiếp trên blockchain, từ đó giảm thiểu sự phình to của blockchain.

Cổng Logic Được Biểu Diễn bằng Hashlocks và Bitcoin Scripts

BitVM tận dụng hashlocks và các opcode script được hỗ trợ bởi Bitcoin để biểu diễn các cổng logic cơ bả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 với độ phức tạp tùy ý, cho phép tính toán Turing-complete.

Cơ chế Lý thuyết Trò chơi cho Người Chứng minh và Người Xác minh

Cơ chế xác thực của BitVM, tương tự như Optimistic Rollup, liên quan đến các thách thức và phản hồi tương tác giữa các bên tham gia tính toán. Cuối cùng, kết quả tính toán chính xác được xác nhận trên chuỗi. Nếu người chứng minh gian lận, người xác minh có thể thực hiện 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 trên chuỗi, và sự khác biệt duy nhất là BitVM trực tiếp sử dụng Bitcoin scripts để thực hiện quá trình thách thức-phản hồi tương tác.

Tác động Tối thiểu lên Chuỗi

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 trên chuỗi khi có tranh chấp phát sinh. Điều này giúp bảo tồn hiệu quả và khả năng mở rộng của Bitcoin.

Không Cần Soft Fork

Vì BitVM chỉ sử dụng các khả năng script Bitcoin hiện có, nó không đòi hỏi bất kỳ sửa đổi nào đối với giao thức Bitcoin thông qua soft fork. Điều này giúp BitVM dễ dàng được tích hợp vào mạng chính Bitcoin hơn.

Kết luận

Đổ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 cốt lõi của Bitcoin; nó đạt được điều này bằng cách sử dụng sáng tạo các script, đặc biệt là những script được tối ưu hóa bởi Taproot. Thiết kế tài tình này cho phép tích hợp liền mạch với mạng chính Bitcoin mà không gây ra các vấn đề tương thích mới hoặc làm cho Bitcoin kém phân tán hơn.

Giải pháp sáng tạo của BitVM có tiềm năng đưa các hợp đồng thông minh và ứng dụng phi tập trung vào hệ sinh thái Bitcoin. Ví dụ, nó có thể được sử dụng để xây dựng các cầu nối xuyên chuỗi với mứ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 để làm cho Bitcoin có khả năng mở rộng hơn. Tóm lại, BitVM thể hiện những khả năng to lớn trong việc đưa hệ sinh thái Bitcoin vào 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