Phân tích công nghệ mở rộng Layer2 Bitcoin : Bằng chứng xác thực và bằng chứng gian lận

Bài viết này được dịch máy
Xem bản gốc
Có nhiều hạn chế trong mô hình Bitcoin , nhưng có thể sử dụng nhiều phương pháp hoặc công nghệ khéo léo khác nhau để vượt qua những hạn chế này.

Được viết bởi: mutourend & lynndell, Bitlayer Labs

1 Giới thiệu

Đối với một thuật toán f nhất định, hai người tham gia Alice và Bob không tin tưởng lẫn nhau có thể thiết lập lòng tin theo cách sau:

  1. Alice nhập x, chạy thuật toán f và nhận đượ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 nhậ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. Trong đó, Alice là nút đóng gói khối và Bob là nút tham gia đồng thuận.

  2. 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ả đúng thì Bob chấp nhận kết quả y của Alice; nếu kết quả sai thì Bob không chấp nhận kết quả y của Alice. Đây là bằng chứng về hiệu quả. Trong đó, Bob có thể là một hợp đồng trực Chuỗi.

  3. Alice nhập x, chạy thuật toán f và nhận đượ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′, không làm gì cả; nếu y ≠ y′, thì Bob thách thức Alice và chương trình bị thách thức là f. Số lần tương tác giữa Alice và Bob có thể là một hoặc lần. Trọng tài được thực hiện dựa trên quá trình phản hồi thách thức. Đây là bằng chứng của sự lừa đảo. Trong đó, Bob là người thách thức, giám sát Chuỗi và thách thức trên Chuỗi.

  4. 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ả sai, Bob thách thức Alice và chương trình bị thử thách là zk.verify. Số lần tương tác giữa Alice và Bob có thể là một hoặc lần. Số lần tương tác giữa Alice và Bob có thể là một hoặc lần. Trọng tài được thực hiện dựa trên quá trình phản hồi thách thức. Đây là bằng chứng của sự lừa đảo. Trong đó, Bob là người thách thức, giám sát Chuỗi và thách thức trên Chuỗi.

Đối với 2,3,4 ở trên, gọi x là giao dịch Layer2 và trạng thái bắt đầu, f là chương trình đồng thuận Layer2 và y là trạng thái kết thúc giao dịch, tương ứng với kế hoạch mở rộng Layer2 blockchain . TRONG ĐÓ:

  • Bằng chứng về tính hợp lệ: Dựa trên các giả định bi quan, nó phải được chứng minh là có hiệu quả trước khi được chấp nhận và nó sẽ có hiệu lực ngay lập tức. Trong bằng chứng về tính hợp lệ, cần đưa ra bằng chứng cho thấy quá trình chuyển đổi trạng thái L2 là đúng, điều này phản ánh quan điểm bi quan về thế giới - một trạng thái sẽ được chấp nhận khi và chỉ 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, được chấp nhận theo mặc định và bị từ chối trừ khi được chứng minh là sai. Có một khoảng thời gian trong cửa sổ thử thách và nó sẽ không có hiệu lực cho đến sau khoảng thời gian trong cửa sổ thử thách. Trong bằng chứng gian lận, cần có 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 quan điểm lạc quan về thế giới - một quá trình chuyển đổi trạng thái nhất định là đúng theo mặc định trừ khi được chứng minh là không chính xác.

Bảng 1: Cách xây dựng niềm tin

Ngoài ra, xin lưu ý:

  • 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à xác định liệu các hệ thống bằng chứng ZK như SNARK/STARK có được sử dụng hay không. Hệ thống chứng minh ZK thể hiện phương pháp chứng minh được sử dụng, trong khi sự gian lận hoặc tính 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 coi là bằng chứng về tính hiệu quả.

  • Bằng chứng hợp lệ có tính kịp thời tốt hơn, nhưng độ phức tạp của xác minh trên Chuỗi tương đối cao; bằng chứng gian lận có độ phức tạp thấp hơn của xác minh Chuỗi, 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ệ kết hợp và đệ quy ZK, nhiều f có thể được tính toán và nén, khấu hao đáng kể và giảm chi phí xác minh của các tính toán ngoài Chuỗi trên Chuỗi.

Hiện tại, được hưởng lợi từ sự vững chắc của các hợp đồng thông minh Turing-complete, công nghệ chống gian lận và chứng minh tính hợp lệ được sử dụng rộng rãi trong việc mở rộng Ethereum Layer2 . Tuy nhiên, theo mô hình Bitcoin, các ứng dụng kỹ thuật này vẫn đang trong giai đoạn khám phá do những hạn chế như chức năng opcode hạn chế Bitcoin và 1.000 phần tử ngăn xếp. Theo kịch bản mở rộng Layer2 Bitcoin , 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, nghiên cứu công nghệ chứng minh tính hợp lệ và chống gian lận, đồng thời phân loại công nghệ phân đoạn tập lệnh độc đáo theo mô hình Bitcoin.

2 hạn chế và đột phá theo mô hình Bitcoin

Có nhiều hạn chế trong mô hình Bitcoin , nhưng có thể sử dụng nhiều phương pháp hoặc công nghệ khéo léo khác nhau để vượt qua những hạn chế này. Ví dụ: cam kết bit có thể vượt qua giới hạn không trạng thái UTXO, taproot có thể vượt qua giới hạn không gian tập lệnh, đầu ra của trình kết nối có thể vượt qua giới hạn phương thức chi tiêu UTXO và hợp đồng có thể vượt qua giới hạn ký trước.

2.1 Giới hạn về mô hình và tập lệnh UTXO

Bitcoin áp dụng mô hình UTXO và mỗi UTXO bị 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. Bitcoin Script có những hạn chế sau:

  1. Các tập lệnh Bitcoin không có trạng thái;

  2. Đối với loại đầu ra P2TR, tổng số opcode tối đa có thể được cung cấp trong một giao dịch là 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 opcode;

  3. Các phương thức chi tiêu của một UTXO duy nhất bị hạn chế và thiếu sự khám phá các phương thức chi tiêu kết hợp;

  4. Không hỗ trợ các chức năng hợp đồng linh hoạt;

  5. Kích thước ngăn xếp được giới hạn tối đa 1000 phần tử (altstack + stack) và kích thước tối đa của một phần tử là 520 byte;

  6. Các phép toán số học (chẳng hạn như cộng, trừ) được giới hạn ở các phần tử 4 byte. Không thể sửa đổi thành các phần tử dài, chẳng hạn như 20 byte hoặc lớn hơn, nhưng cần thiết cho các hoạt động mã hóa;

  7. Các opcode như OP_MUL và OP_CAT đã bị vô hiệu hóa. Nếu bạn sử dụng các opcode hiện có để mô phỏng, chi phí sẽ rất cao. Ví dụ: để mô phỏng hàm băm BLAKE3 một vòng, kích thước tập lệnh là khoảng 75K.

Cam kết 2.2 Bit: Vượt qua các giới hạn không trạng thái của UTXO

Các tập lệnh Bitcoin hiện tại hoàn toàn không có trạng thái. Khi thực thi các tập lệnh Bitcoin, hoàn cảnh thực thi của chúng sẽ được đặt lại sau mỗi tập lệnh. Điều này dẫn đến việc Bitcoin Script không thể hỗ trợ nguyên bản tập lệnh ràng buộc 1 và tập lệnh 2 để có cùng giá trị x. Tuy nhiên, có phương pháp 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 bạn có thể tạo chữ ký trên một giá trị, bạn có thể triển khai các tập lệnh Bitcoin có trạng thái. Nghĩa là, bạn có thể buộc cùng một giá trị x trong Tập lệnh 1 và Tập lệnh 2 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. Điều này có thể bị phạt nếu có chữ ký xung đột, tức là cùng một biến x được ký với 2 giá trị khác nhau. Giải pháp là cam kết bit.

Nguyên tắc cam kết Bit tương đối đơn giản. Cái gọi là bit đề cập đến việc thiết lập hai giá trị băm khác nhau cho mỗi bit trong thông báo chữ ký, đó là hash0 và hash1. Nếu giá trị bit cần được ký là 0 thì preimage0 của hash0 sẽ được hiển thị; nếu giá trị bit cần được ký là 1 thì preimage1 của hash1 sẽ được hiển thị.

Lấy một thông báo 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 tiền ảnh: nếu giá trị bit là 0 thì tập lệnh mở khóa tương ứng là preimage0 - "0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140"; 1, tập lệnh mở khóa tương ứng là preimage1——"0x47c31e611a3bd2f3a7a42207613046703fa27496". Do đó, với sự trợ giúp của cam kết bit, giới hạn không trạng thái của UTXO có thể bị phá vỡ và các tập lệnh Bitcoin có trạng thái có thể được triển khai, tạo ra nhiều tính năng mới thú vị khác nhau.

OP_HASH160

OP_DUP

<0xf592e757267b7f307324f1e78b34472f8b6f46f3> // Đây là hash1

OP_EQUAL

OP_DUP

OP_ROT

<0x100b9f19ebd537fdc371fa1367d7ccc802dc2524> // Đây là hash0

OP_EQUAL

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.

Bit Commitment hiện có hai phương thức triển khai:

  • Chữ ký một lần của Lamport: Nguyên tắc tương đối đơn giản và chỉ yêu cầu sử dụng hàm băm nê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 2 giá trị băm, dẫn đến dữ liệu chữ ký tương đối lớn. Nói cách khác, đối với một thông báo có độ dài v bit, độ dài khóa chung là 2v bit và độ dài chữ ký là 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 chung, nhưng làm tăng độ phức tạp của việc ký và xác minh. Giải pháp này có thể linh hoạt thiết lập các giá trị d có độ dài chuỗi băm khác nhau để tạo ra sự cân bằng giữa độ dài và độ phức tạp. Ví dụ: khi đặt d = 15, độ dài của khóa chung và độ dài chữ ký sẽ 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. Đây thực chất 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ể coi là trường hợp đặc biệt của chữ ký Winternitz khi d =1.

Hiện tại, trong thư viện BitVM2, hàm băm dựa trên Blake3 triển khai chữ ký Winternitz. Độ 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í để giới thiệu trạng thái thông qua cam kết bit là rất tốn kém. Do đó, trong quá trình triển khai dự án BitVM2, thông báo trước tiên được băm để thu được giá trị băm 256 bit, sau đó thực hiện cam kết bit trên giá trị băm, nhờ đó tiết kiệm chi phí thay vì trực tiếp thực hiện thao tác băm trên mỗi bit của lời hứa dài hơn ban đầu.

2.3 Taproot: Vượt qua giới hạn về không gian tập lệnh

Nâng cấp soft fork Bitcoin Taproot được kích hoạt từ tháng 11 năm 2021 có 3 Đề án: Chữ ký Schnorr (BIP 340), Taproot (BIP 341) và TapScript (BIP 342). Một loại giao dịch mới được giới thiệu - Giao dịch trả tiền cho Taproot (P2TR). Giao dịch P2TR có thể tạo định dạng giao dịch riêng tư, linh hoạt và mở rộng hơn bằng cách kết hợp các ưu điểm của Taproot, MAST (Cây cú pháp trừu tượng Merkle) và chữ ký Schnorr.

P2TR hỗ trợ hai phương thức chi tiêu: chi tiêu dựa trên đường dẫn Key hoặc đường dẫn tập lệnh.

Theo quy định tại Taproot (BIP 341), khi chi tiêu bằng đường dẫn script thì độ 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 lá vòi trong cây vòi không vượt quá 2128. Kể từ khi nâng cấp segwit vào năm 2017, mạng Bitcoin đo kích thước khối theo đơn vị trọng lượng, với mức hỗ trợ tối đa là 4 triệu đơn vị trọng lượng (khoảng 4MB). Khi đầu ra P2TR được sử dụng thông qua đường dẫn tập lệnh, chỉ cần hiển thị một tập lệnh tapleaf duy nhất, nghĩa là khối được đóng gói bằ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 tương ứng với mỗi tapleaf là khoảng 4MB. Tuy nhiên, trong chiến lược mặc định Bitcoin, nhiều nút chỉ chuyển tiếp các giao dịch nhỏ hơn 400K. Nếu các giao dịch lớn hơn muốn được đóng gói, họ cần hợp tác với thợ đào.

Phí bảo hiểm không gian tập lệnh do Taproot mang lại giúp việc sử dụng các mã hoạt động hiện có để mô phỏng các hoạt động mã hóa như nhân và băm trở nên có giá trị hơn.

Khi xây dựng một phép tính có thể kiểm chứng dựa trên P2TR, kích thước tập lệnh tương ứng không còn bị giới hạn ở 4 MB. Thay vào đó, phép tính có thể được chia thành nhiều hàm phụ và phân bổ trên nhiều tapleaf, nhờ đó vượt qua giới hạn về kích thước tập lệnh 4 MB. Trên thực tế, kích thước của thuật toán xác minh Groth16 hiện được triển khai trong BitVM2 cao tới 2GB. Tuy nhiên, nó có thể được chia và phân phối trong khoảng 1000 tapleaf. Bằng cách 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 chức năng phụ.

2.4 Đầu ra của trình kết nối: Vượt qua những hạn chế của phương thức chi tiêu UTXO

Bitcoin hiện cung cấp các 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 bằng khóa chung. Do đó, UTXO có thể được sử dụng miễn là chữ ký khóa công khai chính xác tương ứng được cung cấp hoặc đáp ứng các điều kiện của tập lệnh. Hai UTXO có thể được chi tiêu độc lập và không thể thêm các hạn chế để hạn chế hai UTXO, do đó phải đáp ứng một số điều kiện bổ sung trước khi chúng có thể được chi tiêu.

Tuy nhiên, Burak, người sáng lập giao thức Ark, đã nhận ra đầu ra của trình kết nối bằng cách sử dụng cờ SIGHASH khéo léo. 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 nhiều Đầu vào, Alice có thể đặt chữ ký của mình có điều kiện: chữ ký hợp lệ cho giao dịch Take_tx khi và chỉ khi giao dịch sử dụng đầu vào thứ hai. Đầu vào thứ hai được gọi là đầu 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ệ khi và chỉ khi UTXO B chưa được Challenge_tx chi tiêu. Do đó, bằng cách đốt đầu ra của trình kết nối, giao dịch Take_tx có thể bị chặn hiệu lực.

Hình 1: Sơ đồ đầu ra của đầu nối

Trong giao thức BitVM2, đầu ra của trình kết nối hoạt động như một hàm if...else. Sau khi giao dịch sử dụng đầu ra của trình kết nối, giao dịch khác sẽ không thể sử dụng giao dịch đó để đảm bảo tính độc quyền của giao dịch đó. Trong triển khai thực tế, để dành thời gian phản hồi thử thách, UTXO với khóa thời gian cũng được giới thiệu thêm. Ngoài ra, đầu ra của trình kết nối tương ứng cũng có thể đặt các chiến lược chi tiêu khác nhau nếu cần. Ví dụ: giao dịch thử thách có thể được đặt thành có thể chi tiêu bởi bất kỳ ai, trong khi giao dịch phản hồi có thể được đặt thành chỉ người điều hành mới có thể chi tiêu hoặc bất kỳ ai cũng có thể chi tiêu sau khi hết hạn. .

2.5 Hợp đồng: Vượt qua các hạn chế trước khi ký kết

Tập lệnh Bitcoin hiện tại chủ yếu giới hạn các điều kiện để mở khóa, nhưng không giới hạn cách UTXO có thể được chi tiêu thêm. Lý do là tập lệnh Bitcoin không thể đọc được nội dung của giao dịch, tức là nó không thể thực hiện việc xem xét nội tâm giao dịch. Nếu tập lệnh Bitcoin có thể kiểm tra bất kỳ nội dung nào của giao dịch (bao gồm cả đầu ra), thì chức năng hợp đồng có thể được thực hiện.

Phương pháp thực hiện hợp đồng hiện nay có thể được chia thành hai loại:

  • Ký trước: Dựa trên khả năng viết kịch bản Bitcoin hiện có, ký trước sẽ xây dựng các 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ý kết trước, khóa người tham gia vào private key cụ thể. Một số kế hoạch thậm chí còn yêu cầu các bên tạo private key có thời hạn sử dụng ngắn cho tất cả các giao dịch được ký trước. Khi quá trình ký trước hoàn tất, private key ngắn hạn này sẽ bị xóa một cách an toàn để kẻ tấn công không thể lấy được private key ngắn hạn và đánh cắp tiền. Tuy nhiên, lần người tham gia mới được thêm vào hoặc hoạt động được cập nhật, quy trình trên cần phải được lặp lại, dẫn đến chi phí bảo trì lớn. Ví dụ: Lightning Network thực hiện hợp đồng 2 bên thông qua việc ký trước và sử dụng công nghệ Hash Time Lock (HTLC) để triển khai chức năng định tuyến của nhiều hợp đồng 2 bên, từ đó đạt được chiến lược mở rộng giảm thiểu độ tin cậy. Tuy nhiên, Lightning Network yêu cầu ký trước nhiều giao dịch và bị giới hạn ở hai bên, điều này hơi cồng kềnh; trong BitVM1, hàng trăm giao dịch cần phải được ký trước lần khi nó được khởi tạo, trong khi ở BitVM2 được tối ưu hóa thì cần phải có. được ký trước lần lần khởi tạo. Số lượng giao dịch được ký trước cũng lên tới hàng chục. Cho dù đó là BitVM1 hay BitVM2, chỉ những nhà khai thác tham gia ký trước mới tư cách được hoàn trả. 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 các opcode hợp đồng: Việc giới thiệu các opcode 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, từ đó giới thiệu một phương thức triển khai hợp đồng linh hoạt hơn cho Bitcoin . Ví dụ: OP_CAT: dùng để nối các 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ể 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 mức độ chi tiết tốt hơn. Nếu được sử dụng trong BitVM, nó có thể hỗ trợ một nhóm toán tử lớn hơn, do đó cải thiện đáng kể các giả định bảo mật của BitVM và giảm thiểu độ tin cậy. Ngoài ra, phương thức ký trước dành cho thiết kế BitVM mà nhà điều hành chỉ có thể sử dụng quy trình hoàn trả khoản tạm ứng và hiệu quả sử dụng vốn thấp với mã hoạt động hợp đồng mới, có thể thanh toán trực tiếp cho người dùng rút tiền mặt từ người dùng; nhóm quỹ cố định, nâng cao hơn nữa hiệu quả sử dụng vốn. Do đó, mô hình hợp đồng linh hoạt sẽ vượt qua các hạn chế trước khi ký kết truyền thống một cách hiệu quả.

Mở rộng quy mô 3 Layer2 Bitcoin : Bằng chứng xác thực và bằng chứng 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 xác thực và bằng chứng gian lận

Dựa trên cam kết bit, taproot, ký trước và đầu ra của trình kết nối, bằng chứng gian lận dựa trên Bitcoin có thể được xây dựng. Dựa trên taproot và bằng cách giới thiệu các mã hoạt động hợp đồng, chẳng hạn như OP_CAT, chứng chỉ hiệu lực dựa trên Bitcoin có thể được xây dựng. Ngoài ra, tùy thuộc vào việc Bob có hệ thống truy cập 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 phép. Trong đó, trong bằng chứng gian lận được cấp phép, chỉ một nhóm cụ thể mới có thể thách thức với tư cách là Bob, trong khi ở bằng chứng gian lận không được phép, bất kỳ bên thứ ba nào cũng có thể thách thức với tư cách là Bob. Tính bảo mật của hệ thống không được phép tốt hơn so với hệ thống được phép, điều này có thể làm giảm rủi ro mỗi người tham gia được phép tham gia vào các hành vi xấu xa.

Theo số lượng tương tác phản hồi thử thách giữa Alice và Bob, bằng chứng gian lận có thể được chia thành một vòng bằng chứng gian lận và nhiều vòng bằng chứng gian lận, như trong Hình 2.

Hình 2: Một vòng chứng minh gian lận và nhiều vòng chứng minh gian lận

Như được trình bày trong Bảng 3, bằng chứng gian lận có thể đạt được 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

Theo mô hình mở rộng Bitcoin Layer2 , BitVM1 sử dụng cơ chế chống gian lận nhiều vòng, BitVM2 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 đó, BitVM1 và BitVM2 có thể được triển khai mà không cần bất kỳ sửa đổi nào đối với giao thức Bitcoin, trong khi vòng tròn bitcoin hoàn toàn yêu cầu giới thiệu mã opcode mới OP_CAT.

Đối với hầu hết nhiệm vụ điện toán, cần phải sử dụng tập lệnh 4MB, tập lệnh biểu diễn phép Bitcoin chỉnh, tập lệnh biểu diễn phép tính hoàn chỉnh thành các phần nhỏ hơn 4MB và được phân bổ cho mỗi tác vụ điện toán. .

3.1 Nhiều vòng chứng minh gian lận trên Bitcoin

Như được hiển thị 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 số lượng tính toán trọng tài trên Chuỗi và/hoặc khi không thể xác định được đoạn tính toán có vấn đề trong một bước. Bằng chứng gian lận nhiều vòng, như tên cho thấy, yêu cầu nhiều vòng tương tác giữa người chứng minh và người xác minh để xác định các đoạn tính toán có vấn đề, sau đó tiến hành phân xử dựa trên các đoạn tính toán được định vị.

Sách trắng BitVM đầu tiên của Robin Linus (thường được gọi là BitVM1) đã sử dụng nhiều vòng bằng chứng gian lận. Giả sử rằng thời gian thử thách của mỗi vòng là một tuần và phương pháp tìm kiếm nhị phân được sử dụng để xác định đoạn tính toán vấn đề, thì thời gian phản hồi thử thách trên Chuỗi đối với Trình xác minh Groth16 sẽ kéo dài tới 30 tuần, rất kém về tính kịp thời. Mặc dù hiện tại có đội ngũ đang nghiên cứu phương pháp tìm kiếm n-ary hiệu quả hơn phương pháp nhị phân nhưng tính kịp thời của nó vẫn thấp hơn nhiều so với chu kỳ 2 tuần trong một vòng chứng minh gian lận.

Hiện tại, nhiều vòng bằng chứng gian lận theo mô hình Bitcoin đều sử dụng các thử thách được cấp phép, trong khi một vòng bằng chứng gian lận thực hiện phương pháp thử thách không cần cấp phép, giúp giảm rủi ro thông đồng giữa những người tham gia và mang lại tính bảo mật cao hơn. Để đạt được mục tiêu này, Robin Linus đã tận dụng tối đa lợi thế của taproot để tối ưu hóa BitVM1. Nó không chỉ giảm lần vòng tương tác xuống còn một mà còn mở rộng phương thức thử thách thành phương thức không được phép, nhưng phải trả giá bằng việc tăng số lượng tính toán trọng tài Chuỗi.

3.2 Một vòng bằng chứng gian lận về Bitcoin

Bằng chứng gian lận xác minh có thể được hoàn thành chỉ với 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 bắt đầu thử thách một lần và người chứng minh chỉ cần phản hồi một lần. Trong câu trả lờ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 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 này thì thử thách sẽ thành công, nếu không thì thử thách sẽ 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 chứng minh gian lận

Robin Linus đã phát hành Sách trắng kỹ thuật BitVM2: Kết nối Bitcoin với Lớp thứ hai vào ngày 15 tháng 8 năm 2024, sử dụng phương pháp tương tự như Hình 3 để triển khai cầu nối xuyên chuỗi BitVM2 với một vòng bằng chứng gian lận.

3.3 Bitcoin+OP_CAT nhận ra bằng chứng hợp lệ

OP_CAT là một phần của ngôn ngữ kịch bản khi Bitcoin được phát hành lần đầu tiên và 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 vài năm. Hiện tại OP_CAT đã được gán số 347 và được kích hoạt trên signet 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ả đã tổng hợp trở lại ngăn xếp. Tính năng này cho phép các hợp đồng và Trình xác minh STARK trên Bitcoin:

  • Hợp đồng: Andrew Poelstra đề xuất CAT và Schnorr Tricks I, sử dụng kỹ thuật OP_CAT và Schnorr để thực hiện hợp đồng trên Bitcoin. Trong đó, thuật toán Schnorr là chữ ký số của loại đầu ra P2TR; đối với các loại đầu ra khác, có thể sử dụng các kỹ thuật ECDSA tương tự, xem 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 Trình xác minh STARK thành nhiều giao dịch và dần dần xác minh toàn bộ bằng chứng STARK.

  • Trình xác minh STARK: Trình xác minh STARK về cơ bản kết hợp dữ liệu lại với nhau và băm nó. 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 giúp tiết kiệm lượng lớn chi phí. Lấy OP_SHA256 làm ví dụ, chế độ gốc chỉ yêu cầu một opcode, trong khi chế độ mô phỏng yêu cầu hàng trăm K opcode. Các hoạt động băm chính trong STARK là xác minh đường dẫn Merkle và chuyể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 chia tập lệnh Bitcoin

Mặc dù sau khi được SNARK/STARK chứng minh, lượng tính toán cần thiết để chạy thuật toán xác minh tương ứng nhằm xác minh bằng chứng ít hơn nhiều so với lượng tính toán cần thiết để chạy trực tiếp phép tính ban đầu f. Tuy nhiên, khi chuyển đổi điều này sang triển khai thuật toán xác minh trong tập lệnh Bitcoin, số lượng tập lệnh cần thiết vẫn rất lớn. Hiện tại, dựa trên opcode Bitcoin hiện có, sau khi tối ưu hóa, kích thước tập lệnh trình xác minh Groth16 và kích thước tập lệnh trình xác minh Fflonk vẫn lớn hơn 2GB. Tuy nhiên, kích thước của một khối Bitcoin chỉ là 4MB và 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 nâng cấp taproot, Bitcoin hỗ trợ thực thi các tập lệnh bằng tapleaf. Tập lệnh xác minh có thể được chia thành nhiều phần và sau đó mỗi phần được sử dụng như một phần tapleaf để xây dựng một cây taproot. Giữa mỗi chunk, 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 chunk.

Với hợp đồng OP_CAT, Trình xác minh STARK có thể được chia thành nhiều giao dịch tiêu chuẩn dưới 400KB, để có thể hoàn thành việc xác minh toàn bộ chứng chỉ hiệu lực STARK mà không cần phải hợp tác với thợ đào.

Trong phần này, chúng tôi tập trung vào công nghệ Split có liên quan của các tập lệnh Bitcoin mà không giới thiệu bất kỳ opcode mới nào để kích hoạt các tình huống hiện có.

Khi phân đoạn tập lệnh, thông tin chiều sau cần được cân bằng:

  • Kích thước của một tập lệnh chunk không vượt quá 4MB 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 đơn không vượt quá 1.000. Do đó, chỉ nên giữ lại các phần tử bắt buộc trên mỗi ngăn xếp đoạn, từ đó dành đủ không gian ngăn xếp để phục vụ tối ưu hóa kích thước tập lệnh. Bởi 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.

  • Các cam kết về bit trên Bitcoin rất tốn kém. Do đó, 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 hai khối liền kề phải được giảm thiểu.

  • Để tạo điều kiện thuận lợi cho kiểm toán, chức năng của từng đoạn phải càng rõ ràng càng tốt.

Hiện nay, các phương pháp phân đoạn chữ viết 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 phương pháp phân đoạn có kích thước tập lệnh khoảng 3MB và kích thước ngăn xếp tối thiểu. Ưu điểm của phương pháp này là nó không liên quan gì đến thuật toán xác minh cụ thể và có thể mở rộng cho bất kỳ phân đoạn tập lệnh được tính toán nào. Nhược điểm là: (1) Toàn bộ đoạn logic cần đánh dấu riêng. Ví dụ: không thể phân tách khối mã OP_IF, nếu không kết quả thực thi tập lệnh phân tách sẽ không chính xác (2) Kết quả thực thi đoạn mã có thể tương ứng với nhiều đoạn; các phần tử trên ngăn xếp, yêu cầu Đánh dấu số lượng phần tử ngăn xếp mà cam kết bit cần được áp dụng dựa trên logic tính toán thực tế; (3) Hàm logic được thực hiện bởi mỗi tập lệnh chunk khó đọc và không có lợi cho kiểm toán(4) ) Ngăn xếp có thể chứa các phần tử không được sử dụng trong đoạn tiếp theo, gây lãng phí không gian ngăn xếp.

  • Phân đoạn chức năng: Phân chia theo từng chức năng phụ trong phép tính. Các giá trị đầu vào và đầu ra của chức năng phụ rõ ràng. Trong khi tập lệnh được phân đoạn, tập lệnh cam kết bit cần thiết cho từng đoạn cũng được triển khai. tập lệnh tổng khối cuối cùng là Kích thước nhỏ hơn 4MB và kích thước ngăn xếp nhỏ hơn 1000. Ưu điểm là: chức năng rõ ràng, logic rõ ràng của từng đoạn, khả năng đọc tốt và kiểm toán dễ dàng. Điểm bất lợi là 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 phụ tính toán ban đầu có thể 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 ở các chức năng phụ chức năng mà được đặt thủ công. Nó đặc biệt phù hợp với các tình huống có kích thước của một chức năng phụ lớn hơn 4MB. Ưu điểm là các hàm phụ có kích thước tập lệnh nặng, chẳng hạn như các hàm phụ tính toán liên quan đến Fq12, có thể được chia theo cách thủ công; một đoạn duy nhất có logic rõ ràng, dễ đọc và dễ kiểm toán. Nhược điểm là: bị hạn chế bởi 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 đoạn thủ công đã đặt trước đó có thể không tối ưu và cần phải điều chỉnh lại.

Ví dụ: sau nhiều vòng tối ưu hóa, trình xác minh Groth16 đã giảm kích thước tập lệnh từ khoảng 7GB xuống còn khoảng 1,26GB. Ngoài việc tối ưu hóa tính toán tổng thể này, mỗi đoạn cũng có thể được tối ưu hóa riêng lẻ để tận dụng tối đa không gian ngăn xếp. 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ỡ tải động bảng tra cứu, kích thước tập lệnh của mỗi đoạn có thể được giảm thêm.

Chi phí tính toán và hoàn cảnh chạy của ngôn ngữ lập trình web2 hoàn toàn khác với chi phí và hoàn cảnh chạy của tập lệnh Bitcoin , do đó, để triển khai tập lệnh Bitcoin bằng nhiều thuật toán khác nhau, chỉ dịch cách triển khai hiện tại sẽ không hoạt động. Do đó, các tối ưu hóa sau đây cần được xem xét cho kịch bản Bitcoin :

  • Việc tìm kiếm một thuật toán có vị trí bộ nhớ tối ưu, ngay cả khi một phần của phép tính bị hy sinh, 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 đã cam kết cho sàn giao dịch khẳng địnhTx trong thiết kế BitVM2.

  • Tận dụng tính giao hoán của các phép toán liên quan (chẳng hạn như phép toán logic), x&y = y&x, tiết kiệm gần một nửa bảng tra cứu.

  • Hiện tại, số lượng tập lệnh tương ứng với hoạt động Fq12 rất lớn. Hãy cân nhắc sử dụng các sơ đồ cam kết Fiat-Shamir, Schwartz-Zipple và đ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 Fq12.

4 Tóm tắt

Bài viết này lần đầu tiên giới thiệu các hạn chế của tập lệnh Bitcoin và giới thiệu việc sử dụng Bitcoin hứa hẹn sẽ vượt qua các hạn chế không trạng thái của UTXO, việc sử dụng Taproot để vượt qua các giới hạn về không gian tập lệnh, việc sử dụng đầu ra của trình kết nối để vượt qua các hạn chế về phương thức chi tiêu UTXO và sử dụng hợp đồng để vượt qua các hạn chế trước khi ký kết. Sau đó, các đặc điểm của bằng chứng gian lận và bằng chứng hợp lệ, 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 phép, các đặc điểm của một vòng bằng chứng gian lận và nhiều vòng bằng chứng gian lận cũng như công nghệ phân đoạn tập lệnh Bitcoin đã được sắp xếp và tóm tắt một cách toàn diện.

Khu vực:
Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận