Phân tích công nghệ mở rộng Bitcoin Layer 2: Bằng chứng về tính hợp lệ và Bằng chứng về gian lận
Tiêu đề gốc: Phân tích các kỹ thuật mở rộng lớp 2 của Bitcoin: Bằng chứng hợp lệ và bằng chứng gian lận
Tác giả gốc: mutourend lynndell, Bitlayer Labs
1 Giới thiệu
Đối với thuật toán f, hai bên không tin tưởng lẫn nhau, Alice và Bob, có thể thiết lập lòng tin theo cách sau:
-
Alice nhập x, chạy thuật toán f và thu được kết quả y. Bob cũng chạy thuật toán f dựa trên cùng một đầu vào x và kết quả là y′. Nếu y = y′, thì Bob chấp thuận đầu vào x và đầu ra y do Alice cung cấp. Đây là một cơ chế chứng minh tính hợp lệ đặc biệt, thường được sử dụng trong sự đồng thuận blockchain. Alice là nút đóng gói khối và Bob là nút tham gia vào sự đồng thuận.
-
Alice nhập x và chạy chương trình zk.prove trên thuật toán f để có được kết quả y và bằng chứng. Bob chạy chương trình zk.verify dựa trên f, y và bằng chứng. Nếu kết quả là đúng, Bob chấp thuận kết quả y của Alice; nếu kết quả là sai, Bob chấp thuận kết quả y của Alice. Nếu sai, Bob không công nhận kết quả y của Alice. Đây là bằng chứng về tính hợp lệ. Trong số đó, Bob có thể là hợp đồng trên chuỗi.
-
Alice nhập x, chạy thuật toán f và thu được kết quả y. Bob cũng chạy thuật toán f dựa trên cùng một đầu vào x và kết quả là y′. Nếu y = y′, thì không làm gì cả; nếu y ≠ y′, thì Bob Alice được thử thách với một chương trình f. Alice và Bob có thể tương tác một lần hoặc nhiều lần. Trọng tài được thực hiện dựa trên quy trình phản hồi thử thách. Đây là bằng chứng gian lận. Bob là người thách đấu, lắng nghe ngoài chuỗi. Thử thách trên chuỗi.
-
Alice nhập x, chạy chương trình zk.prove trên thuật toán f và thu được kết quả y và bằng chứng. Bob chạy chương trình zk.verify dựa trên f, y và bằng chứng. Nếu kết quả là đúng, không làm gì cả; nếu kết quả là sai, thì Bob thách thức Alice và chương trình bị thách thức là zk.verify. Alice và Bob có thể tương tác một hoặc nhiều lần. Alice và Bob có thể tương tác một hoặc nhiều lần. Trọng tài được thực hiện theo quy trình phản hồi thách thức. Đây là bằng chứng gian lận, trong đó Bob là người thách thức, lắng nghe ngoài chuỗi và thách thức trên chuỗi.
Đối với 2, 3 và 4 ở trên, giả sử x là giao dịch Lớp 2 và trạng thái bắt đầu, f là chương trình đồng thuận Lớp 2 và y là trạng thái kết thúc giao dịch, thì kế hoạch mở rộng Lớp 2 của blockchain tương ứng như sau:
-
Bằng chứng về tính hợp lệ: Dựa trên giả định bi quan, nó phải được chứng minh là hợp lệ trước khi được chấp nhận và có hiệu lực ngay lập tức. Trong bằng chứng hợp lệ, cần phải cung cấp bằng chứng cho thấy quá trình chuyển đổi trạng thái L2 là đúng, phản ánh quan điểm bi quan về thế giới – nếu và chỉ nếu Một trạng thái chỉ được chấp nhận khi nó được chứng minh là đúng.
-
Bằng chứng gian lận: Dựa trên các giả định lạc quan, nó được chấp nhận theo mặc định và bị từ chối trừ khi có người chứng minh là sai. Nó có thời gian thử thách và sẽ chỉ có hiệu lực sau thời gian thử thách. Trong bằng chứng gian lận, cần phải cung cấp bằng chứng cho thấy quá trình chuyển đổi trạng thái L2 là không chính xác, phản ánh Điều này tạo ra một góc nhìn lạc quan về thế giới – quá trình chuyển đổi trạng thái là đúng theo mặc định trừ khi được chứng minh là không chính xác.
Bảng 1: Các phương pháp xây dựng lòng tin
Ngoài ra, xin lưu ý rằng:
-
Chìa khóa để phân biệt bằng chứng gian lận với bằng chứng hợp lệ không phải là liệu có sử dụng hệ thống bằng chứng ZK như SNARK/STARK hay không. Hệ thống bằng chứng ZK thể hiện phương pháp bằng chứng được sử dụng, trong khi gian lận hoặc hợp lệ thể hiện nội dung của bằng chứng. Đây là lý do tại sao Kịch bản 1 trong Bảng 1 được cho là bằng chứng về hiệu quả.
-
Bằng chứng xác thực có tính kịp thời tốt hơn, nhưng độ phức tạp khi xác minh trên chuỗi tương đối cao; bằng chứng gian lận có độ phức tạp khi xác minh trên chuỗi thấp hơn, nhưng tính kịp thời tương đối kém.
-
Đối với trường hợp 2 và 4 trong Bảng 1, với sự trợ giúp của công nghệ đệ quy và kết hợp ZK, có thể tính toán và nén nhiều f, giúp giảm đáng kể chi phí xác minh các phép tính ngoài chuỗi trên chuỗi.
Hiện nay, được hưởng lợi từ các hợp đồng thông minh hoàn chỉnh Turing Solidity, các công nghệ chống gian lận và chống hợp lệ được sử dụng rộng rãi trong việc mở rộng Ethereum Layer 2. Tuy nhiên, theo mô hình Bitcoin, bị giới hạn bởi các hàm opcode giới hạn của Bitcoin và 1.000 phần tử ngăn xếp, Bài viết này tóm tắt các hạn chế và công nghệ đột phá theo mô hình Bitcoin trong bối cảnh mở rộng Bitcoin Layer 2, nghiên cứu các công nghệ chống gian lận và chống hợp lệ, và sắp xếp công nghệ phân đoạn tập lệnh độc đáo.
2 Hạn chế và đột phá theo mô hình Bitcoin
Có nhiều hạn chế theo mô hình Bitcoin, nhưng có thể sử dụng nhiều phương pháp hoặc công nghệ thông minh khác nhau để phá vỡ những hạn chế này. Ví dụ, Bit Commitment có thể phá vỡ giới hạn không trạng thái UTXO, taproot có thể phá vỡ giới hạn không gian tập lệnh, đầu ra kết nối có thể phá vỡ giới hạn phương thức chi tiêu UTXO và hợp đồng có thể phá vỡ các hạn chế trước khi ký.
2.1 Mô hình UTXO và hạn chế của tập lệnh
Bitcoin sử dụng mô hình UTXO, trong đó mỗi UTXO được khóa trong một tập lệnh khóa xác định các điều kiện phải đáp ứng để chi tiêu UTXO. Các tập lệnh Bitcoin có những hạn chế sau:
-
Bitcoin Script không có trạng thái;
-
Vì P2TR loại đầu ra, tổng số mã lệnh có thể chứa trong một giao dịch duy nhất lên tới khoảng 4 triệu, sẽ lấp đầy toàn bộ khối, trong khi đối với các loại đầu ra khác chỉ có 10.000 mã lệnh;
-
Các phương thức chi tiêu của một UTXO duy nhất bị hạn chế và chưa có sự khám phá về các phương thức chi tiêu kết hợp;
-
Không hỗ trợ chức năng hợp đồng linh hoạt;
-
Kích thước ngăn xếp bị giới hạn ở 1000 phần tử (altstack + stack) và kích thước tối đa của một phần tử là 520 byte;
-
Các phép toán số học (như phép cộng và phép trừ) bị giới hạn ở các phần tử 4 byte. Chúng không thể được sửa đổi thành các phần tử dài hơn, chẳng hạn như 20 byte hoặc lớn hơn, điều này là bắt buộc đối với các phép toán mật mã;
-
Mã lệnh như OP_MUL Và OP_MÈO đã bị vô hiệu hóa. Nếu sử dụng các mã lệnh hiện có để mô phỏng, chi phí sẽ cực kỳ cao. Ví dụ, để mô phỏng băm BLAKE 3 một vòng, kích thước tập lệnh là khoảng 75K.
2.2 Cam kết Bit: Phá vỡ giới hạn không trạng thái UTXO
Hiện tại, Bitcoin Script hoàn toàn không có trạng thái. Khi thực thi Bitcoin Script, môi trường thực thi của nó được đặt lại sau mỗi tập lệnh. Điều này khiến Bitcoin Script không thể hỗ trợ gốc việc ràng buộc tập lệnh 1 và tập lệnh 2 để có cùng giá trị x. Tuy nhiên, có một số cách để giải quyết vấn đề này. Ý tưởng cốt lõi là ký một giá trị theo một cách nào đó. Nếu một giá trị có thể được ký, thì có thể triển khai một tập lệnh Bitcoin có trạng thái. Bằng cách kiểm tra chữ ký của giá trị x trong tập lệnh 1 và tập lệnh 2, chúng ta có thể thực thi rằng cùng một giá trị x được sử dụng trong tập lệnh 1 và tập lệnh 2. Nếu có các chữ ký xung đột, nghĩa là ký 2 giá trị khác nhau cho cùng một biến x, chúng có thể bị phạt. Giải pháp là cam kết bit.
Nguyên lý cam kết bit tương đối đơn giản. Cái gọi là bit có nghĩa là đối với mỗi bit trong thông điệp chữ ký, hai giá trị băm khác nhau được thiết lập, cụ thể là băm 0 và băm 1. Nếu giá trị bit cần ký là 0, thì băm 0 được tiết lộ. Ảnh trước của băm 1 là ảnh trước 1. Nếu giá trị bit cần ký là 1, thì ảnh trước của băm 1 được tiết lộ.
Lấy một thông điệp bit đơn m ∈ {0, 1} làm ví dụ, tập lệnh mở khóa cam kết bit tương ứng chỉ là một số ảnh trước: nếu giá trị bit là 0, tập lệnh mở khóa tương ứng là ảnh trước 0 ——0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140; nếu giá trị bit là 1, thì tập lệnh mở khóa tương ứng là ảnh trước 1 — “0x47c31e611a3bd2f3a7a42207613046703fa27496”. Do đó, với sự trợ giúp của cam kết bit, giới hạn không trạng thái UTXO có thể bị phá vỡ và tập lệnh Bitcoin có trạng thái có thể được thực hiện, tạo ra nhiều tính năng mới thú vị.
OP_Băm 160
OP_SAO_LẠI
// Đây là băm 1
OP_BẰNG
OP_SAO_LẠI
OP_ROT
// Đây là băm 0
OP_BẰNG
OP_BOOLOR
OP_XÁC MINH
// Bây giờ giá trị của cam kết bit nằm trên ngăn xếp. Hoặc là ” 0 ” hoặc ” 1 ”.
Hiện tại có hai cách để triển khai Bit Commitment:
-
Chữ ký một lần của Lamport : Nguyên lý này tương đối đơn giản và chỉ yêu cầu sử dụng hàm băm, do đó nó thân thiện với Bitcoin. Đối với mỗi bit trong tin nhắn, cần phải cam kết hai giá trị băm, tạo ra dữ liệu chữ ký tương đối lớn. Nói cách khác, đối với tin nhắn có độ dài v bit, khóa công khai có độ dài 2v bit và chữ ký có độ dài v bit.
-
Chữ ký một lần của Winternitz : So với chữ ký Lamport, nó có thể giảm đáng kể độ dài của chữ ký và khóa công khai, nhưng lại làm tăng độ phức tạp của việc ký và xác minh chữ ký. Sơ đồ này có thể linh hoạt thiết lập các giá trị độ dài chuỗi băm d khác nhau, do đó Ví dụ, khi d = 15, độ dài của khóa công khai và độ dài của chữ ký đều ngắn hơn khoảng 4 lần, nhưng độ phức tạp của việc xác minh chữ ký sẽ tăng lên 4 lần. Về cơ bản, đây là sự đánh đổi giữa không gian ngăn xếp Bitcoin và kích thước tập lệnh. Chữ ký Lamport có thể được xem như một trường hợp đặc biệt của chữ ký Winternitz khi d = 1.
Hiện tại, thư viện BitVM 2 triển khai chữ ký Winternitz dựa trên hàm băm Blake 3. Độ dài chữ ký tương ứng với một bit đơn là khoảng 26 byte. Có thể thấy rằng chi phí đưa trạng thái thông qua cam kết bit là tốn kém. Trong quá trình triển khai dự án BitVM 2, trước tiên, tin nhắn được băm để có được giá trị băm 256 bit, sau đó giá trị băm được cam kết bit, do đó tiết kiệm được chi phí chung, thay vì cam kết trực tiếp với từng bit của tin nhắn dài hơn ban đầu.
2.3 Taproot: Phá vỡ giới hạn không gian tập lệnh
Bản nâng cấp soft fork Bitcoin Taproot được kích hoạt vào tháng 11 năm 2021 bao gồm 3 đề xuất: Chữ ký Schnorr (BIP 340) , Rễ cái (BIP 341) và TapScript (BIP 342). Một loại giao dịch mới, giao dịch Pay -to-Taproot (P2TR). Giao dịch P2TR kết hợp các ưu điểm của Taproot, MAST (Merkle Abstract Syntax Tree) và chữ ký Schnorr để tạo ra định dạng giao dịch riêng tư, linh hoạt và có khả năng mở rộng hơn.
P2TR hỗ trợ hai phương pháp chi tiêu: chi tiêu dựa trên đường dẫn khóa hoặc đường dẫn tập lệnh.
Theo quy định của Củ Cái (BIP 341) , khi chi tiêu theo đường dẫn tập lệnh, độ dài tối đa của đường dẫn Merkle tương ứng không vượt quá 128. Điều này có nghĩa là số lượng tapleaf trong taptree không vượt quá 2128. Kể từ bản nâng cấp segwit vào năm 2017, mạng Bitcoin có Kích thước khối được đo bằng đơn vị trọng số, với hỗ trợ tối đa là 4 triệu đơn vị trọng số (khoảng 4 MB). Khi đầu ra P2TR được chi tiêu thông qua đường dẫn tập lệnh, thực tế nó chỉ cần tiết lộ một tập lệnh tapeaf duy nhất, nghĩa là khối được đóng gói dưới dạng một tập lệnh tapleaf duy nhất. Điều này có nghĩa là đối với các giao dịch P2TR, kích thước tập lệnh tối đa cho mỗi tapleaf là khoảng 4 MB. Tuy nhiên, trong chính sách mặc định của Bitcoin, nhiều nút chỉ chuyển tiếp các giao dịch nhỏ hơn 400K. Nếu muốn chuyển tiếp các giao dịch lớn hơn, Để đóng gói, bạn cần hợp tác với các thợ đào.
Không gian tập lệnh cao cấp do Taproot mang lại khiến việc sử dụng các mã lệnh hiện có để mô phỏng các hoạt động mật mã như phép nhân và băm trở nên có giá trị hơn.
Khi xây dựng tính toán có thể xác minh dựa trên P2TR, kích thước tập lệnh tương ứng không còn giới hạn ở 4 MB nữa. Thay vào đó, tính toán có thể được chia thành nhiều hàm phụ và phân phối trên nhiều tapeaf, do đó phá vỡ giới hạn 4 MB. Giới hạn không gian tập lệnh 4 MB. Trên thực tế, thuật toán xác minh Groth 16 hiện tại được triển khai trong BitVM 2 có kích thước lên tới 2 GB. Tuy nhiên, nó có thể được chia và phân phối thành khoảng 1000 tapelet và kết hợp với cam kết bit, tính toàn vẹn và tính chính xác của toàn bộ phép tính có thể bị hạn chế bằng cách hạn chế tính nhất quán giữa đầu vào và đầu ra của từng hàm phụ.
2.4 Đầu ra của kết nối: Phá vỡ các hạn chế chi tiêu của UTXO
Bitcoin hiện cung cấp hai phương thức chi tiêu gốc cho một UTXO duy nhất: chi tiêu theo tập lệnh hoặc chi tiêu theo khóa công khai. Do đó, miễn là chữ ký khóa công khai chính xác tương ứng được cung cấp hoặc các điều kiện tập lệnh được đáp ứng, UTXO có thể được chi tiêu. Hai UTXO có thể được chi tiêu độc lập. Đối với việc chi tiêu, không thể thêm bất kỳ hạn chế nào để ràng buộc hai UTXO sao cho chúng chỉ có thể được chi tiêu nếu một số điều kiện bổ sung được đáp ứng.
Tuy nhiên, Burak, người sáng lập ra giao thức Ark, đã khéo léo sử dụng cờ SIGHASH để triển khai đầu ra của trình kết nối. Cụ thể, Alice có thể tạo chữ ký để gửi BTC của mình cho Bob. Tuy nhiên, vì chữ ký có thể cam kết với nhiều đầu vào, Alice Chữ ký có thể được đặt thành có điều kiện: chữ ký hợp lệ cho giao dịch Take_tx nếu và chỉ nếu giao dịch sử dụng đầu vào thứ hai. Đầu vào thứ hai được gọi là trình kết nối, kết nối UTXO A và UTXO B. Nói cách khác, giao dịch Take_tx hợp lệ nếu và chỉ nếu UTXO B không được Challenge_tx chi tiêu. Do đó, bằng cách hủy đầu ra của trình kết nối, giao dịch Take_tx có thể bị chặn không cho có hiệu lực.
Hình 1: Sơ đồ đầu ra của đầu nối
Trong giao thức BitVM 2, đầu ra của trình kết nối hoạt động như một hàm if…else. Khi đầu ra của trình kết nối được một giao dịch chi tiêu, nó không thể được một giao dịch khác chi tiêu để đảm bảo tính độc quyền của nó. Trong quá trình triển khai thực tế, phản hồi thách thức được dành riêng. Ngoài ra, đầu ra của trình kết nối tương ứng cũng có thể thiết lập các chính sách chi tiêu khác nhau khi cần, chẳng hạn như thiết lập giao dịch thách thức để bất kỳ ai cũng có thể chi tiêu và thiết lập giao dịch phản hồi để chỉ có người vận hành hoặc Bất kỳ ai cũng có thể chi tiêu sau ngày hết hạn.
2.5 Hợp đồng: Phá vỡ các hạn chế trước khi ký kết
Hiện tại, các tập lệnh Bitcoin chủ yếu hạn chế các điều kiện để mở khóa, nhưng không hạn chế cách UTXO có thể được chi tiêu thêm. Lý do là các tập lệnh Bitcoin không thể đọc nội dung của chính giao dịch, nghĩa là chúng không thể đạt được nội quan giao dịch. Nếu các tập lệnh Bitcoin có thể kiểm tra bất kỳ phần nào của giao dịch, Nội dung (bao gồm cả đầu ra) có thể thực hiện chức năng hợp đồng.
Các phương pháp thực hiện hợp đồng hiện nay có thể được chia thành hai loại:
-
Tiền ký: Dựa trên khả năng của tập lệnh Bitcoin hiện có, chữ ký trước được sử dụng để xây dựng hợp đồng được xác định trước với chức năng hạn chế. Nghĩa là, tất cả các giao dịch có thể xảy ra trong tương lai đều được thiết kế và ký trước, khóa những người tham gia vào một khóa riêng và tỷ lệ cụ thể. Một số giải pháp Nó thậm chí còn yêu cầu các bên tạo khóa riêng ngắn hạn cho tất cả các giao dịch được ký trước. Sau khi hoàn tất việc ký trước, các khóa riêng ngắn hạn này sẽ bị xóa một cách an toàn, khiến kẻ tấn công không thể lấy được khóa riêng ngắn hạn và đánh cắp tiền. Khi thêm người tham gia hoặc cập nhật hoạt động, cần phải lặp lại quy trình trên, dẫn đến chi phí bảo trì lớn. Ví dụ: Lightning Network triển khai hợp đồng 2 bên thông qua ký trước và sử dụng công nghệ khóa thời gian băm (HTLC) để đạt được nhiều chức năng định tuyến 2 bên của hợp đồng có thể đạt được chiến lược mở rộng giảm thiểu sự tin cậy. Tuy nhiên, Lightning Network yêu cầu nhiều giao dịch được ký trước và bị giới hạn ở hai bên, điều này hơi cồng kềnh. Trong BitVM 1, hàng trăm giao dịch được ký trước Trong BitVM 2 được tối ưu hóa, số lượng giao dịch cần được ký trước trong mỗi lần khởi tạo cũng lên tới hàng chục. Cho dù là BitVM 1 hay BitVM 2, chỉ có nhà điều hành tham gia ký trước mới đủ điều kiện được hoàn tiền. Nếu có n người tham gia ký trước và mỗi người tham gia cần ký trước m giao dịch, thì độ phức tạp của việc ký trước của mỗi người tham gia sẽ là n ∗ m.
-
Giới thiệu mã lệnh hợp đồng: Giới thiệu các mã lệnh chức năng hợp đồng mới có thể làm giảm đáng kể độ phức tạp trong giao tiếp và chi phí bảo trì giữa những người tham gia hợp đồng, do đó giới thiệu một phương pháp triển khai hợp đồng linh hoạt hơn cho Bitcoin. Ví dụ, OP_CAT: được sử dụng để ghép chuỗi byte. Mặc dù chức năng của nó rất đơn giản, nhưng nó rất mạnh mẽ và có thể làm giảm đáng kể độ phức tạp của BitVM; OP_TXHASH: có thể kiểm soát các hành động trong hợp đồng với độ chi tiết tốt hơn. Nếu được sử dụng trong BitVM, nó có thể hỗ trợ một tập hợp lớn hơn các nhà điều hành, Điều này cải thiện đáng kể các giả định về bảo mật của BitVM và giảm thiểu sự tin cậy của nó. Ngoài ra, phương pháp ký trước có nghĩa là trong thiết kế BitVM, nhà điều hành chỉ có thể sử dụng quy trình hoàn trả thanh toán trước, điều này không hiệu quả về mặt sử dụng vốn. Tuy nhiên, thông qua mã lệnh hoạt động hợp đồng mới, có thể đạt được Thanh toán trực tiếp cho người gửi tiền từ nhóm quỹ peg-in cải thiện hiệu quả của quỹ hơn nữa. Do đó, mô hình hợp đồng linh hoạt sẽ phá vỡ hiệu quả các hạn chế ký trước truyền thống.
3 Bitcoin Layer 2 Scaling: Bằng chứng về tính hợp lệ và Bằng chứng về gian lận
Cả bằng chứng hợp lệ và bằng chứng gian lận đều có thể được sử dụng để mở rộng Bitcoin L2. Sự khác biệt chính giữa hai loại này được thể hiện trong Bảng 2.
Bảng 2: Bằng chứng hợp lệ và bằng chứng gian lận
Dựa trên cam kết bit, taproot, chữ ký trước và đầu ra của trình kết nối, có thể xây dựng bằng chứng gian lận dựa trên Bitcoin. Dựa trên taproot, bằng cách giới thiệu các mã hoạt động hợp đồng như OP_CAT, có thể xây dựng bằng chứng hợp lệ dựa trên Bitcoin. Ngoài ra, tùy thuộc vào việc Bob có hệ thống Access hay không, bằng chứng gian lận có thể được chia thành bằng chứng gian lận được cấp phép và bằng chứng gian lận không được cấp phép. Trong số đó, trong bằng chứng gian lận được cấp phép, chỉ một nhóm cụ thể mới có thể khởi tạo một thách thức với tư cách là Bob, trong khi trong bằng chứng gian lận không được cấp phép, bất kỳ bên thứ ba nào cũng có thể Khởi tạo một thách thức với tư cách là Bob. Tính bảo mật của không được cấp phép tốt hơn được cấp phép, điều này có thể làm giảm nguy cơ thông đồng ác ý giữa các bên được cấp phép.
Theo số lượng tương tác thách thức-phản hồi giữa Alice và Bob, bằng chứng gian lận có thể được chia thành bằng chứng gian lận một vòng và bằng chứng gian lận nhiều vòng, như thể hiện trong Hình 2.
Hình 2: Bằng chứng gian lận một vòng so với bằng chứng gian lận nhiều vòng
Như thể hiện trong Bảng 3, bằng chứng gian lận có thể được triển khai thông qua các mô hình tương tác khác nhau, bao gồm mô hình tương tác một vòng và mô hình tương tác nhiều vòng.
Bảng 3: Tương tác một vòng và tương tác nhiều vòng
Trong mô hình mở rộng Bitcoin Layer 2, BitVM 1 sử dụng cơ chế chống gian lận nhiều vòng, BitVM 2 sử dụng cơ chế chống gian lận một vòng và bitcoincircle stark sử dụng bằng chứng hợp lệ. Trong số đó, BitVM 1 và BitVM 2 có thể được sử dụng mà không cần thực hiện bất kỳ thay đổi nào đối với giao thức Bitcoin. , trong khi bitcoin-circle stark cần giới thiệu một opcode mới OP_CAT.
Đối với hầu hết các tác vụ tính toán, Bitcoin signet, testnet và mainnet không thể được biểu diễn đầy đủ bằng một tập lệnh 4 MB, do đó cần có công nghệ phân tách tập lệnh, tức là phân tách tập lệnh thể hiện toàn bộ phép tính thành các phần nhỏ hơn 4 MB và phân phối chúng cho các nút khác nhau. tapleaf.
3.1 Bằng chứng gian lận nhiều vòng trên Bitcoin
Như được thể hiện trong Bảng 3, bằng chứng gian lận nhiều vòng phù hợp với các tình huống mà bạn muốn giảm lượng tính toán trọng tài trên chuỗi và/hoặc không thể xác định được đoạn tính toán có vấn đề trong một bước. Như tên gọi của nó, bằng chứng gian lận nhiều vòng liên quan đến một loạt các vòng đàm phán giữa người chứng minh và người xác minh. Cần có nhiều vòng tương tác để xác định vị trí các đoạn tính toán có vấn đề, sau đó trọng tài được thực hiện dựa trên các đoạn tính toán đã xác định được.
Robin Linuss sớm Sách trắng BitVM (thường được gọi là BitVM 1) đã sử dụng nhiều vòng bằng chứng gian lận. Giả sử rằng mỗi vòng thời gian thử thách là một tuần và phương pháp tìm kiếm nhị phân được sử dụng để xác định vị trí đoạn tính toán có vấn đề, chu kỳ phản hồi thử thách trên chuỗi cho Groth 16 Verifier sẽ là Cao tới 30 tuần, tính kịp thời cực kỳ kém. Mặc dù hiện nay có những nhóm nghiên cứu phương pháp tìm kiếm n-ary hiệu quả hơn tìm kiếm nhị phân , tính kịp thời của chúng vẫn thấp hơn nhiều so với chu kỳ 2 tuần trong một vòng chống gian lận.
Hiện tại, các bằng chứng gian lận nhiều vòng theo mô hình Bitcoin đều sử dụng các thử thách được cấp phép, trong khi các bằng chứng gian lận một vòng thực hiện phương pháp thử thách không cần cấp phép, giúp giảm nguy cơ thông đồng giữa những người tham gia và do đó cung cấp bảo mật cao hơn. Tận dụng taproot, BitVM 1 được tối ưu hóa. Nó không chỉ giảm số vòng tương tác xuống còn 1 mà còn mở rộng phương pháp thử thách thành phương pháp không cần cấp phép, nhưng phải trả giá bằng việc tăng lượng tính toán trọng tài trên chuỗi.
3.2 Một vòng bằng chứng gian lận trên Bitcoin
Bằng chứng gian lận có thể được xác minh chỉ bằng một tương tác giữa người chứng minh và người xác minh. Trong mô hình này, người xác minh chỉ cần đưa ra một thách thức một lần và người chứng minh chỉ cần phản hồi một lần. Trong phản hồi này, người chứng minh cần cung cấp một bằng chứng. , khẳng định rằng phép tính của mình là đúng. Nếu người xác minh có thể tìm thấy sự không nhất quán từ bằng chứng, thì thách thức thành công, nếu không thì thách thức thất bại. Các đặc điểm của một vòng bằng chứng gian lận tương tác được thể hiện trong Bảng 3.
Hình 3: Một vòng bằng chứng gian lận
Trong sách trắng kỹ thuật BitVM 2: Kết nối Bitcoin với Lớp thứ hai được Robin Linus phát hành vào ngày 15 tháng 8 năm 2024, một phương pháp tương tự như Hình 3 đã được sử dụng để triển khai cầu nối chuỗi chéo BitVM 2 bằng cách sử dụng một vòng bằng chứng gian lận.
3.3 Bitcoin + OP_CAT để đạt được bằng chứng xác thực
OP_CAT là một phần của ngôn ngữ kịch bản khi Bitcoin lần đầu tiên được phát hành, nhưng đã bị vô hiệu hóa vào năm 2010 do lỗ hổng bảo mật. Tuy nhiên, cộng đồng Bitcoin đã thảo luận về việc kích hoạt nó trong nhiều năm. Hiện tại, OP_CAT đã được gán số 347 và đã được đăng ký trong dấu hiệu Bitcoin.
Chức năng chính của OP_CAT là kết hợp hai phần tử trong ngăn xếp và đẩy kết quả kết hợp trở lại ngăn xếp. Tính năng này mở ra hợp đồng và STARK Verifier trên Bitcoin:
-
Hợp đồng: Andrew Poelstra đề xuất CAT và Schnorr Tricks I , sử dụng các thủ thuật OP_CAT và Schnorr để triển khai hợp đồng trên Bitcoin. Trong số đó, thuật toán Schnorr là chữ ký số của loại đầu ra P 2 TR; đối với các loại đầu ra khác, có thể sử dụng các thủ thuật ECDSA tương tự, xem Các giao ước với CAT và ECDSA . Với sự trợ giúp của hợp đồng OP_CAT, nó có thể giúp chia thuật toán STARK Verifier thành nhiều giao dịch và dần dần xác minh toàn bộ bằng chứng STARK.
-
Người xác minh STARK: STARK Verifier về cơ bản nối dữ liệu lại với nhau và băm dữ liệu đó. Không giống như các phép toán đại số, băm là một phép toán tập lệnh Bitcoin gốc, có thể tiết kiệm rất nhiều chi phí chung. Lấy OP_SHA 256 làm ví dụ, phương pháp OP_CAT gốc chỉ yêu cầu một mã lệnh, trong khi phương pháp tương tự yêu cầu hàng trăm K. Các phép toán băm chính trong STARK là xác minh đường dẫn Merkle và phép biến đổi Fiat-Shamir. Do đó, OP_CAT rất thân thiện với thuật toán STARK Verifier.
3.4 Công nghệ phân tách tập lệnh Bitcoin
Mặc dù tính toán cần thiết để chạy thuật toán xác minh tương ứng để xác minh bằng chứng sau bằng chứng SNARK/STARK ít hơn nhiều so với tính toán cần thiết để chạy trực tiếp phép tính gốc f. Tuy nhiên, khi chuyển đổi nó thành thuật toán xác minh được triển khai trong tập lệnh Bitcoin, thì tính toán cần thiết ít hơn nhiều so với tính toán cần thiết để chạy trực tiếp phép tính gốc f. Kích thước tập lệnh vẫn rất lớn. Hiện tại, dựa trên các mã lệnh Bitcoin hiện có, sau khi tối ưu hóa, kích thước tập lệnh xác minh Groth 16 được triển khai và kích thước tập lệnh xác minh Fflonk vẫn lớn hơn 2 GB. Tuy nhiên, kích thước của một khối Bitcoin chỉ là 4 MB, không thể chạy toàn bộ tập lệnh xác minh trong một khối duy nhất. Tuy nhiên, sau khi Bitcoin được nâng cấp lên taproot, nó hỗ trợ thực thi các tập lệnh bằng tapleaf, có thể chia tập lệnh xác minh thành nhiều khối, sau đó xây dựng một taptree với mỗi khối là một tapleaf. Giữa mỗi khối, cam kết bit được sử dụng để đảm bảo tính nhất quán của các giá trị giữa các khối.
Với hợp đồng OP_CAT, STARK Verifier có thể được chia thành nhiều giao dịch tiêu chuẩn có kích thước nhỏ hơn 400 KB, do đó toàn bộ bằng chứng xác thực STARK có thể được xác minh mà không cần phải cộng tác với thợ đào.
Phần này tập trung vào công nghệ Split có liên quan của Bitcoin Script trong trường hợp hiện tại mà không giới thiệu hoặc kích hoạt bất kỳ mã lệnh mới nào.
Khi chia tách tập lệnh, thông tin kích thước sau đây cần được cân bằng:
-
Kích thước của một tập lệnh khối đơn không được vượt quá 4 MB và phải bao gồm không gian cho các tập lệnh cam kết bit đầu vào, chữ ký giao dịch, v.v.
-
Kích thước tối đa của một ngăn xếp khối đơn không quá 1000. Do đó, chỉ nên giữ các phần tử cần thiết trên mỗi ngăn xếp khối, để dành đủ không gian ngăn xếp phục vụ cho việc tối ưu hóa kích thước tập lệnh. Vì phí giao dịch Bitcoin không phụ thuộc vào kích thước ngăn xếp được sử dụng.
-
Cam kết bit trên Bitcoin rất tốn kém. Vì vậy, hiện tại 1 bit tương ứng với 26 byte và số lượng bit đầu vào và đầu ra giữa 2 khối liền kề phải được giảm thiểu.
-
Để tạo điều kiện thuận lợi cho việc kiểm toán, chức năng của từng khối phải càng rõ ràng càng tốt.
Hiện nay, các phương pháp phân đoạn tập lệnh chủ yếu được chia thành ba loại sau:
-
Phân đoạn tự động: Dựa trên kích thước ngăn xếp và kích thước tập lệnh, hãy tìm một phương pháp phân đoạn giúp giảm thiểu kích thước ngăn xếp trong khi vẫn giữ kích thước tập lệnh ở mức khoảng 3 MB. Ưu điểm của phương pháp này là độc lập với thuật toán xác minh cụ thể và có thể mở rộng sang bất kỳ phân đoạn tập lệnh nào. Nhược điểm là: (1) toàn bộ khối logic cần được đánh dấu riêng, ví dụ, khối mã OP_IF không thể được chia nhỏ, nếu không kết quả thực thi tập lệnh sau khi chia nhỏ sẽ không chính xác; (2) kết quả thực thi khối có thể tương ứng với nhiều phần tử trên ngăn xếp, Số lượng phần tử ngăn xếp cần áp dụng cam kết bit cần được đánh dấu theo logic tính toán thực tế; (3) Các hàm logic được triển khai bởi mỗi tập lệnh khối khó đọc, không có lợi cho việc kiểm toán; (4) Ngăn xếp có thể chứa dữ liệu sẽ không được khối tiếp theo sử dụng. Các phần tử, lãng phí không gian ngăn xếp.
-
Phân đoạn chức năng: Phân đoạn dựa trên các hàm con chức năng trong phép tính. Các giá trị đầu vào và đầu ra của các hàm con là rõ ràng. Trong khi phân đoạn tập lệnh, tập lệnh cam kết bit mà mỗi khối yêu cầu cũng được triển khai, làm cho tổng tập lệnh khối cuối cùng có kích thước nhỏ hơn 4 MB và kích thước ngăn xếp nhỏ hơn 1000. Ưu điểm: chức năng rõ ràng, logic rõ ràng của một khối duy nhất, khả năng đọc tốt và kiểm toán dễ dàng. Nhược điểm: biểu thức của logic tính toán ban đầu không khớp với biểu thức của logic cấp tập lệnh. Hàm con tính toán ban đầu có thể là tối ưu, nhưng không có nghĩa là nó tối ưu ở cấp tập lệnh.
-
Phân đoạn thủ công: Điểm phân đoạn tập lệnh không nằm trong chức năng phụ chức năng, nhưng được thiết lập thủ công. Nó đặc biệt phù hợp với trường hợp kích thước của một chức năng phụ đơn lẻ lớn hơn 4 MB. Ưu điểm là nó có thể được sử dụng cho các chức năng phụ có kích thước tập lệnh lớn, chẳng hạn như F q1 2 Các chức năng phụ tính toán liên quan được phân chia thủ công; logic của một khối duy nhất rõ ràng, dễ đọc và dễ kiểm tra. Nhược điểm là do hạn chế của khả năng điều chỉnh thủ công, khi tập lệnh tổng thể được tối ưu hóa, các điểm phân chia thủ công đã đặt trước đó có thể Không tối ưu, cần điều chỉnh lại.
Ví dụ, sau nhiều vòng tối ưu hóa, kích thước tập lệnh của trình xác minh Groth 16 đã giảm từ khoảng 7 GB xuống còn khoảng 1,26 GB. Ngoài tối ưu hóa tính toán tổng thể này, mỗi khối cũng có thể được tối ưu hóa riêng biệt để tận dụng tối đa không gian ngăn xếp. Đối với ví dụ, bằng cách giới thiệu một thuật toán tốt hơn dựa trên bảng tra cứu và tải và dỡ bảng tra cứu động có thể giảm thêm kích thước tập lệnh của mỗi đoạn.
Chi phí tính toán và môi trường hoạt động của ngôn ngữ lập trình web2 hoàn toàn khác so với các tập lệnh Bitcoin, do đó đối với các tập lệnh Bitcoin của nhiều thuật toán khác nhau, việc chỉ đơn giản là dịch các triển khai hiện có là không khả thi. Các tối ưu hóa sau:
-
Việc tìm ra một thuật toán có vị trí bộ nhớ tối ưu, ngay cả khi phải hy sinh một số nỗ lực tính toán, có thể giảm số lượng bit đầu vào và đầu ra giữa các khối, do đó giảm lượng dữ liệu cần thiết để cam kết giao dịch assertTx trong thiết kế BitVM 2.
-
Bằng cách tận dụng tính giao hoán của các phép toán liên quan (như phép toán logic), xy = yx, gần một nửa bảng tra cứu được lưu lại.
-
Hiện tại, số lượng tập lệnh tương ứng với hoạt động F q1 2 là rất lớn. Chúng ta có thể xem xét sử dụng Fiat-Shamir, Schwartz-Zipple và các chương trình cam kết đa thức để giảm đáng kể độ phức tạp tính toán của hoạt động miền mở rộng F q1 2.
4 Tóm tắt
Bài viết này trước tiên giới thiệu các hạn chế về tập lệnh Bitcoin và giới thiệu cách sử dụng các cam kết Bitcoin để phá vỡ các hạn chế không trạng thái UTXO, sử dụng Taproot để phá vỡ các hạn chế về không gian tập lệnh, sử dụng đầu ra của trình kết nối để phá vỡ các hạn chế về chi tiêu UTXO và sử dụng hợp đồng để phá vỡ các hạn chế trước khi ký. Sau đó, các bằng chứng gian lận và các đặc điểm hợp lệ của bằng chứng gian lận, các đặc điểm của bằng chứng gian lận được cấp phép và bằng chứng gian lận không được cấp phép, các đặc điểm của bằng chứng gian lận một vòng và bằng chứng gian lận nhiều vòng và công nghệ phân tách tập lệnh Bitcoin được sắp xếp và tóm tắt toàn diện.
Người giới thiệu
-
OP_NẾU , OP_MÈO , OP_SHA 256
-
StarkWare, Bằng chứng hợp lệ so với Bằng chứng gian lận, 2019.01.23
-
StarkWare, Bằng chứng hợp lệ so với Bằng chứng gian lận, 2024.05.09
-
StarkWare, Con đường đến với tính toán chung trên Bitcoin, 2024.07.24
-
BitVMX, Tối ưu hóa thuật toán cho Bitcoin Script, 2024.06.27
-
Alchemy, Optimistic Rollup hoạt động như thế nào (Hướng dẫn đầy đủ), 2023.08.09
-
Ethereum, Optimistic Rollups gian lận chứng minh, 2024.07.17
Bài viết này có nguồn từ internet: Phân tích công nghệ mở rộng Bitcoin Layer 2: Bằng chứng về tính hợp lệ và Bằng chứng về gian lận
Bài viết liên quan: Kỷ nguyên Harris: Bình minh mới cho ngành công nghiệp tiền điện tử?
Tác giả gốc: Andrew Singer Bản dịch gốc: BitpushNews và Chiến dịch tranh cử của Phó Tổng thống Hoa Kỳ hiện tại và ứng cử viên tổng thống Kamala Harris đã gửi một số tín hiệu cho thấy chính quyền của bà sẽ có lợi cho ngành công nghiệp tiền điện tử. Khi Harris tiếp tục leo lên trong các cuộc thăm dò, các nhà quan sát ngành công nghiệp bắt đầu đặt ra nhiều câu hỏi hơn. Liệu nhiệm kỳ tổng thống của Harris có bao gồm các cố vấn trẻ tuổi và những người được bổ nhiệm chính trị cởi mở hơn với công nghệ tiền điện tử và blockchain, trái ngược với những người bảo thủ như Biden, Yellen và Gensler không? Liệu nó có hỗ trợ luật cải cách tiền điện tử công bằng và cân bằng không? Liệu nó có phục vụ người dùng tiền điện tử và những người đổi mới tốt hơn Đảng Cộng hòa không — mặc dù Donald Trump đã nói rằng ông muốn trở thành "tổng thống tiền điện tử" và hứa sẽ sa thải Chủ tịch SEC Gary Gensler (kẻ thù không đội trời chung của tiền điện tử) vào "ngày đầu tiên" của…