Sự phát triển của các giải pháp mở rộng trên Ethereum gần đây có lẽ đã tác động tới các nghiên cứu trên hệ sinh thái Bitcoin, BitVM được ra đời như một sự kết hợp giữa Optimistic Rollup và State Channel.
BitVM - Smart Contract chạy trên mạng lưới Bitcoin
Cộng đồng Bitcoin những ngày qua đã được phen dậy sóng sau công bố Whitepaper của BitVM - một hệ thống tự định nghĩa là cho phép tính toán mọi thứ on-chain trên mạng lưới Bitcoin.
Bài viết này nhanh chóng nhận được hơn 3 triệu lượt xem, tác giả của đề xuất là Robin Linus thuộc ZeroSync.
"Any computable function can be verified on Bitcoin"https://t.co/Itf9UHos0C pic.twitter.com/CLQv49Ydsg
— яobin linus (@robin_linus) October 9, 2023
Nếu bạn chưa biết thì mạng lưới Bitcoin không hỗ trợ Smart Contract, đó là điểm khác biệt lớn khi so sánh với các blockchain thế hệ sau này (Ethereum, BNBChain, Solana). Trong suốt nhiều năm qua cộng đồng yêu thích Bitcoin luôn tìm cách mở rộng mạng lưới và đưa smart contract lên nó, nhưng cho đến nay chưa giải pháp nào thực sự hoàn hảo để kế thừa được tính phi tập trung và bảo mật từ mạng lưới gốc.
Sự phát triển của các giải pháp mở rộng trên Ethereum gần đây có lẽ đã tác động tới các nghiên cứu trên hệ sinh thái Bitcoin, BitVM được ra đời như một sự kết hợp giữa Optimistic Rollup và State Channel.
Sau đây chúng ta sẽ cùng đi tìm hiểu về hệ thống tính toán mọi thứ trên chuỗi Bitcoin này.
BitVM là mô hình cho phép tính toán và thực hiện các logic phức tạp trên chuỗi mà không cần thay đổi quy tắc đồng thuận. Hay nói cách khác, BitVM cho phép thực thi smart contract ngay trên chuỗi Bitcoin.
Ở một điểm khác, BitVM áp dụng cơ chế lạc quan tương tự Optimistic Rollups. Những người tham gia tin tưởng lẫn nhau để thực hiện tất cả hoạt động trong contract ngoài chuỗi. Chỉ khi xảy ra tranh chấp và không thể phân xử off-chain chúng mới được đưa lên on-chain để giải quyết.
Nhưng nếu xảy ra tranh chấp thì làm sao xác định được ai đúng ai sai? Và làm sao để quy trình chứng minh đúng sai này diễn ra trên mạng lưới Bitcoin trong khi nó không hỗ trợ smart contract?
Đây mới chính là điểm hay của BitVM so với các giải pháp khác, thứ đã làm dậy sóng cộng đồng những ngày qua. Chúng ta sẽ tìm hiểu ngay sau đây trong phần tiếp theo của bài viết.
Đầu tiên, để hiểu được cơ chế hoạt động của BitVM, bạn cần biết một chút về cổng logic, lớp hạ tầng sâu nhất của máy tính.
Chúng ta biết rằng mọi máy tính đều vận hành dựa trên hai số 0 và 1. Để xác định một logic, các con chip nhận thông tin dạng bit (0 hoặc 1) ở đầu vào, sau đó thực hiện phép tính để cho ra kết quả ở đầu ra là 0 hoặc 1. Kết quả đầu ra mỗi phép tính phụ thuộc vào dữ liệu đầu vào và loại cổng sử dụng.
Một số cổng logic phổ biến như sau:
Quay lại với BitVM, cổng logic bạn cần quan tâm là cổng NAND (NOT AND), vì hệ thống BitVM sẽ hoạt động dựa trên cổng này.
Cách hoạt động của cổng NAND
Cổng NAND nhận vào hai tín hiệu A và B (dưới dạng mã nhị phân 0 hoặc 1) sau đó trả về kết quả Q (0 hoặc 1) dựa vào giá trị của A và B được mô tả trong bảng trên. Điều thú vị là bạn có thể xây dựng bất kỳ loại cổng logic nào khác bằng việc kết hợp các cổng NAND, vì thế nó còn có tên gọi khác là “Universal Gate - Cổng tự hoàn chỉnh”.
Tóm lại, các giải thích phía trên chỉ nhắm mục đích giúp bạn hiểu rằng xây dựng được cổng logic NAND sẽ giải quyết được mọi bài toán máy tính.
Nhiệm vụ bây giờ là cần tạo ra một cổng NAND trên mạng lưới Bitcoin và “ép” trình biên dịch phải thực thi nó.
Mạng lưới Bitcoin sử dụng Bitcoin Scripts bao gồm một loạt các mã thực thi (op_code), các mã này giúp nó hiểu các điều kiện và quy tắc cho việc tính toán đầu ra của giao dịch. Nhưng số lượng op_code rất hạn chế, chỉ đủ để thực hiện các tính toán theo kịch bản đơn giản.
Nhà sáng lập BitVM, Robin Linus đã để ý tới hai mã op_code là OP_BOOLAND và OP_NOT.
Khi kết hợp hai mã op_code này lại với nhau, chúng ta đã tạo ra một cổng NAND - thứ có thể giải quyết tất cả mọi bài toán máy tính. Trình biên dịch của mạng lưới Bitcoin buộc phải thực thi khi gặp các mã op_code này.
Bên trên, chúng ta đã tạo ra một cổng NAND đơn lẻ, việc phải làm tiếp theo là đưa chúng vào một mạch logic để thực thi.
BitVM sử dụng thêm mã thực thi OP_EQUALVERIFY và chuỗi hashlock kết hợp với cổng NAND để tạo ra một cây tapleaf (tatree) hoàn chỉnh, nó bao gồm mọi logic trong chương trình tính toán. Để làm được điều này, BitVM sắp xếp các cổng logic theo dạng chuỗi, đầu ra của mỗi cổng sẽ trở thành đầu vào cho một cổng khác. Các giá trị hashlock được sử dụng để chứng minh tính đúng đắn của mỗi bước và cũng là để người khác tìm ra sự sai phạm nếu có.
Mô hình cây tapleaf - Nguồn: BitVM Whitepaper
Việc tiếp theo cần làm để hệ thống vận hành được là viết các logic thực thi (smart contract) tương thích với mô hình này và đưa lên chuỗi. Công chuyện còn lại là việc của mạng lưới Bitcoin, BitVM chỉ ngồi chờ kết quả cuối cùng được trả ra sau khi mạng Bitcoin lưới thực hiện hằng hà sa số cổng NAND.
Sau khi đã hiểu cách mà hệ thống BitVM vận hành phía dưới lớp hạ tầng. Chúng ta sẽ tiến lên lớp phía trên để xem cách BitVM tương tác với người sử dụng.
Như đã đề cập trong phần đầu, BitVM hoạt động dựa trên sự tin tưởng lẫn nhau giữa những người tham gia. Toàn bộ các công việc nặng nhọc mô tả bên trên sẽ được thực thi off-chain, khi và chỉ khi kết quả tính toán bị thách thức mà không phân xử được dưới off-chain thì mới mang lên on-chain tính toán lại xem ai đúng, ai sai.
Quy trình hoạt động của BitVM như sau:
Lưu ý: Hiện tại BitVM mới hỗ trợ sự tham gia hợp đồng giữa hai người.
Bước 1- Xác lập điều khoản hợp đồng: Hai bên tham gia xác lập mục tiêu và các điều khoản, bao gồm tất cả các trường hợp có thể xảy ra có trong hợp đồng.
Bước 2 - Biên dịch hợp đồng: Biên dịch hợp đồng thành những câu lệnh theo dạng Taptree như mô tả trong phần trước để đảm bảo nó chạy được trên mạng lưới Bitcoin. Cây Taptree này sau đó được lưu trữ một bản trên mạng lưới Bitcoin để sử dụng trong trường hợp cần kiểm chứng on-chain.
Bước 3 - Kích hoạt hợp đồng: Hai bên thỏa thuận và phân vai thành Người chứng minh (Prover) và Người xác minh (Verifier). Sau đó hai bên cùng xác lập một giao dịch đa chữ ký - multisig và nạp tiền cược vào hệ thống để kích hoạt hợp đồng.
Khoản tiền này được sử dụng để trả cho chi phí công việc, chi phí cho các hoạt động thách thức (nếu có, nói dễ hiểu là chi phí kiện tụng) và tiền phạt gian lận (nếu có).
Bước 4 - Hoàn thành công việc: Sau khi công việc hoàn thành và hết thời gian chờ đợi mà không có bất kỳ thách thức nào, Prover nhận được số tiền theo hợp đồng.
Bước 5 - Giải quyết tranh chấp: Nếu Người xác minh (Verifier) nhận thấy có sai phạm trong quá trình làm việc, họ có thể gửi một bằng chứng gian lận - fraud proof lên hệ thống để yêu cầu xác minh. Có một khoảng thời gian xác định để Người xác minh (Prover) minh oan cho mình.
Có 3 trường hợp xảy ra:
Ngoài ra BitVM cũng có chức năng cho phép: Verifier nhận được tiền ngay lập tức nếu họ có thể thực thi thay Prover bằng cách chứng minh dữ liệu gốc (preimage) cho tất cả các trường hợp.
Các công việc cần thực hiện trong hợp đồng bao gồm cả thách thức và chứng minh sẽ được thực hiện off-chain, chỉ khi hai bên không thể thỏa thuận off-chain mới đưa lên on-chain để giải quyết.
Trên đây mình đã trình bày toàn bộ quy trình và cơ chế hoạt động của BitVM từ phần hạ tầng tới thực thi. Về mặt lý thuyết nó đúng là có khả năng thực thi tất cả mọi logic như một máy tính và dĩ nhiên là chạy smart contract trên mạng lưới Bitcoin.
Nhưng trên thực tế, hoạt động biên dịch smart contract thành mạch NAND sẽ tạo ra số lượng khổng lồ cổng NAND, chúng ta đang nói tới hàng tỷ cổng NAND cần thực thi. Nó không mang lại hiệu quả về mặt kinh tế, kể cả khi thực thi off-chain.
Trong phần mở đầu, mình cũng có đề cập BitVM như một sự kết hợp giữa Optimistic Rollup và State Channel (cụ thể là Lightning Network) là do cách thức vận hành của nó.
Cho những bạn chưa biết, Lightning Network là mạng lưới mở rộng trên Bitcoin theo phương pháp State Channel. Nó cho phép người dùng mở kênh riêng để thực hiện các giao dịch off-chain sau đó cập nhất kết quả cuối cùng xuống mạng lưới gốc.
Nhưng yếu điểm của State Channel là nó yêu cầu tất cả người tham gia cùng có mặt để xác thực các giao dịch, nếu phát sinh tranh chấp, giao thức off-chain sẽ là người phán xử.
BitVM nâng cấp độ phi tập trung lên một cấp khi chuyển người phán xử từ off-chain thành on-chain. Và vận dụng cơ chế tin tưởng của Optimistic để giúp hợp đồng tự động được thông qua mà không cần sự xác thực của tất cả các bên - miễn giao dịch được tin tưởng là chính xác.
Cơ chế hoạt động của BitVM được tóm tắt lại trong 5 thành phần sau:
Chúng ta đã biết rằng để hợp đồng thông minh có thể thực thi trên mạng lưới Bitcoin nó cần được biên dịch thành một chuỗi mạch NAND theo dạng Taptree. Sự phức tạp chính là nằm ở đây, theo đề cập của nhà sáng lập BitVM, với một smart contract thông thường đã có thể tạo ra hàng tỷ lá của cây Taptree.
Với độ cồng kềnh như thế, việc biên dịch hợp đồng đã là vấn đề khó khăn rồi chứ chưa nói tới việc chạy hợp đồng. Chi phí tài nguyên để làm các công việc này là cực lớn và không mang lại hiệu quả về mặt kinh tế.
Điểm hạn chế thứ hai là các hợp đồng thông minh này đã được biên dịch này sẽ chỉ có thể sử dụng một lần hoặc nhiều lần với cùng một người, một mục đích. Sở dĩ vậy là vì các nội dung hợp đồng được biên dịch thành dạng Taptree đã bao gồm toàn bộ các điều khoản ràng buộc cụ thể cho hai bên tham gia là Prover và Verifier. Nên khi người khác muốn sử dụng họ cần biên dịch một hợp đồng mới.
Điều này cũng chưa mang lại tính hiệu quả về mặt kinh tế và mở rộng.
Hiện tại BitVM mới hỗ trợ cho sự tham gia của hai bên là Prover và Verifier. Đây cũng là một hạn chế khá nghiêm trọng cho tính mở rộng của mạng lưới.
Mặc dù nhà sáng lập Robin Linus đã đưa ra một concept về hợp đồng có sự tham gia của nhiều người, nhưng cho đến hiện tại vẫn chưa có thông tin chính thức nào.
Here's a first sketch of a solution for the "1 prover vs n verifiers" case of running a BitVM.
— яobin linus (@robin_linus) October 11, 2023
The multi-party setting enables much more interesting use cases. Still, it's not quite a trustless bridge for BTC on sidechains. pic.twitter.com/2rqIiSCLkK
Adam Back, CEO Blockstream và là Bitcoin OG cho rằng mọi người chưa nên quá hào hứng với sự phát triển này.
for people getting (over) excited, this is cool but effectively a generalization of a two-party game - it says right in the abstract - so it's a bit like Greg Maxwell's 2016 ZKP contingent payments implemented example https://t.co/OeHRsbFjud
— Adam Back (@adam3us) October 9, 2023
Dotta, builder của hệ sinh thái Bitcoin bày tỏ sự thú và lưu ý rằng đã có proof-of-concept trên Github.
Major breakthrough for compute on Bitcoin: BitVM
— dotta (@dotta) October 9, 2023
If Ordinals = Bitcoin NFTs
BitVM = Bitcoin Smart Contracts
There's already proof-of-concept on Github
Limitations are that it currently only supports 2 parties, but this can be improved
Exciting https://t.co/avhVITkyNb pic.twitter.com/0FGIAHImdO
Eric Wall, nhà nghiên cứu blockchain thể hiện sự ủng hộ đối với sáng kiến này nhưng anh cũng bày tỏ về các vấn đề mà BitVM phải giải quyết.
two bitvm perspectives:
— Eric Wall (@ercwl) October 11, 2023
1: this is a technological dead end, the overhead is going to be massive, it will take years to get even a small use case to production, it will nerdsnipe people and stall real development
2: yes but the idea itself… that bitcoin CAN do general…
Dan Robinson, nhà nghiên cứu của quỹ đầu tư Paradigm chỉ trích đó không phải hệ thống Turning hoàn thiện, ông nói và nói thêm rằng nó sẽ không hoạt động trong thực tế cho bất kỳ mục đích nào mà bạn có thể muốn sử dụng.
This is not Turing completeness. This is functional completeness https://t.co/rjL9ATfHuz https://t.co/6ebt0lHPyY
— Dan Robinson (@danrobinson) October 9, 2023
Sau Ordinals, BitVM là một trong những sáng kiến thú vị nhất trên Bitcoin trong nhiều năm qua. Mặc dù còn nhiều hạn chế nhưng BitVM mới chỉ được vài ngày tuổi, các nhà phát triển vẫn đang tích cực làm việc để hoàn hiện hệ thống. Hy vọng chúng ta sẽ sớm được thấy nhiều ứng dụng hữu ích phát triển trên nền tảng này.
Kudō
Nguồn: Coin68