Tác giả: mutourend & lynndell, Nhóm nghiên cứu Bitlayer
1. Giới thiệu
Hợp đồng nhật ký kín đáo (DLC) là khung thực thi hợp đồng dựa trên oracle do Tadge Dryja của MIT đề xuất vào năm 2018. DLC cho phép hai bên thực hiện thanh toán có điều kiện dựa trên các điều kiện được xác định trước. Cả hai bên đều xác định trước và ký trước các kết quả có thể xảy ra, đồng thời sử dụng các chữ ký trước này để thực hiện thanh toán khi nhà tiên tri ký vào kết quả. Do đó, DLC cho phép các ứng dụng tài chính phi tập trung mới đồng thời đảm bảo an toàn cho tiền gửi Bitcoin.
Bài viết trước"Nguyên tắc DLC" Suy nghĩ phân tích và tối ưu hóa" tóm tắt những ưu điểm của DLC về bảo vệ quyền riêng tư, hợp đồng phức tạp và rủi ro tài sản thấp. Nó cũng phân tích các vấn đề của DLC như rủi ro chính, rủi ro tin cậy phi tập trung và rủi ro thông đồng. Và phi tập trung oracles, chữ ký ngưỡng, cơ chế thử thách lạc quan, v.v. được đưa vào DLC để giải quyết các vấn đề khác nhau mà nó phải đối mặt. Vì DLC liên quan đến ba bên: nhà tiên tri, Alice và Bob nên việc các bên khác nhau thông đồng để tấn công triệt để là tương đối phức tạp, dẫn đến một chiến lược phòng ngừa tương đối phức tạp. Các chiến lược phòng thủ phức tạp không hoàn hảo, không tuân theo nguyên tắc đơn giản và thiếu vẻ đẹp của sự đơn giản.
Trong Bitcoin, mọi hành vi của bất kỳ người tham gia nào đều cần được thực hiện thông qua UTXO. Do đó, sử dụng cơ chế đồng thuận để đảm bảo UTXO chính xác có thể chống lại các cuộc tấn công tùy tiện. Tương tự, trong DLC, mọi hành vi của bất kỳ người tham gia nào cũng cần được thực hiện thông qua CET (Giao dịch thực hiện hợp đồng). Do đó, sử dụng cơ chế thách thức lạc quan để đảm bảo CET đúng có thể chống lại các cuộc tấn công tùy tiện. Cụ thể, sau khi oracle cam kết 2 BTC, nó có thể ký CET. Thêm cơ chế thách thức lạc quan vào CET. Nếu CET không bị thách thức hoặc thử thách được đáp ứng thành công, CET là chính xác và việc giải quyết có thể được hoàn thành, và oracle không được đặt cược và nhận phí xử lý; đã giải quyết và oracle sẽ mất tiền Khoản tiền gửi được gửi và oracle không thể ký lại cùng một CET. Phù hợp với sự đơn giản tuyệt vời, nó có vẻ đẹp của sự đơn giản.
2. Nguyên tắc DLC
Alice và Bob ký thỏa thuận cờ bạc: đặt cược vào ngày thứ ξ Giá trị băm của một khối là số lẻ hoặc số chẵn. Nếu đó là số lẻ, Alice thắng trò chơi và có thể rút tài sản; nếu đó là số chẵn, Bob thắng trò chơi và có thể rút tài sản. Sử dụng DLC, thông tin khối thứ ξ được chuyển qua oracle để tạo chữ ký có điều kiện để người chiến thắng chính xác sẽ giành được tất cả tài sản.
Bộ tạo đường cong elip là G và thứ tự là q. Các cặp khóa của oracle Alice và Bob lần lượt là (z, Z), (x, X), (y, Y).
Giao dịch vốn (trên chuỗi): Alice và Bob cùng nhau tạo một giao dịch cấp vốn, mỗi người khóa 10 BTC trong đầu ra 2 trên 2 chữ ký ( Khóa công khai X thuộc về Alice và khóa chung Y thuộc về Bob).
Xây dựng CET (ngoài chuỗi): Alice và Bob tạo CET1 và CET2 để chi tiêu cho các giao dịch bơm vốn.
Nhà tiên tri tính toán cam kết R = k · G, sau đó tính S và S'
S := R - hash(OddNumber, R) · Z
S' := R - hash(EvenNumber, R) · Z
Các khóa công khai mới tương ứng với Alice và Bob như sau:
PK^{Alice} := X + S< /p>
PK^{Bob} := Y + S'.
Dàn xếp (ngoài chuỗi- >Trên chuỗi): Khi khối thứ ξ được tạo thành công, nhà tiên tri sẽ ký CET1 hoặc CET2 tương ứng dựa trên giá trị băm của khối.
Nếu hàm băm là số lẻ, oracle sẽ ký hiệu s như sau
s := k - hash(OddNumber, R) z
Phát CET1.
Nếu hàm băm chẵn thì dấu hiệu oracle s'
s' := k - hash(EvenNumber, R) z
Phát CET2.
Rút tiền (trên chuỗi): Nếu nhà tiên tri phát CET1, Alice có thể tính toán khóa riêng mới và chi tiêu 20 BTC bị khóa
sk^{Alice} = x + s
Nếu oracle phát CET2, Bob có thể tính toán khóa riêng mới và chi tiêu 20 BTC bị khóa
sk^{Bob} = y + s'
Nghiên cứu về lớp bit nhóm nhận thấy rằng: trong quy trình trên, mọi hành vi đều cần được thực hiện thông qua CET. Do đó, chỉ cần sử dụng cơ chế thách thức lạc quan để đảm bảo rằng CET là chính xác và nó có thể chống lại mọi cuộc tấn công. CET sai sẽ bị thách thức và không được thực thi, trong khi CET đúng sẽ được thực thi. Ngoài ra, nhà tiên tri cần phải trả giá cho hành vi độc hại.
Chương trình được thử thách là f(t), thì CET nên được xây dựng như sau
s = k - hash(f(t), R) z.
Giả sử rằng tình huống thực tế là giá trị băm của khối thứ ξ là số lẻ , tức là f (ξ) = OddNumber, oracle nên ký CET1
s := k - hash(OddNumber, R) z.
Tuy nhiên, nhà tiên tri đã làm điều ác và thay đổi giá trị hàm thành Even, ký tên CET2:
s' : = k - hash( EvenNumber, R) z.
Do đó, bất kỳ người dùng nào cũng có thể ngăn chặn hành vi nguy hiểm này theo f(ξ) ≠ OddNumber.
3.OP-DLC 2
OP-DLC bao gồm 5 điều khoản sau:< /p>
Nhà tiên tri bao gồm một liên minh. Có n người tham gia trong liên minh và bất kỳ thành viên nào. là Tất cả đều có thể ký CET. Chỉ bằng cách cam kết 2 BTC, máy oracle mới có thể cấp chữ ký và kiếm phí xử lý. Nếu một thành viên làm điều ác, tiền cược sẽ bị mất. Các thành viên khác có thể tiếp tục ký CET để đảm bảo người dùng có thể rút tiền. Alice và Bob cũng có thể trở thành nhà tiên tri, chỉ thực sự tin tưởng vào bản thân mình và giảm thiểu sự tin tưởng.
Nếu oracle làm ác và sửa đổi kết quả chắc chắn sẽ dẫn đến tình trạng f1(ξ) ≠ z1, f2 (z1) ≠ z2 Xuất hiện. Do đó, bất kỳ người tham gia nào cũng có thể bắt đầu một thử thách, nghĩa là thực hiện giao dịch Disprove-CET1.
Nếu nhà tiên tri ký CET một cách trung thực thì không bên tham gia nào có thể bắt đầu giao dịch Từ chối hợp lệ. Sau 1 tuần, CET có thể được giải quyết chính xác. Ngoài ra, nhà tiên tri còn nhận được phần thưởng 0,05 BTC khi sử dụng vốn trong 1 tuần với 2 BTC đã cam kết và phí xử lý để ký CET một cách trung thực.
Bất kỳ người tham gia nào cũng có thể thách thức Oracle_sign:
Nếu Oracle_sign là trung thực thì giao dịch Disprove-CET1 không thể được bắt đầu và việc thanh toán CET sẽ được thực hiện sau 1 tuần . Ngoài ra, máy oracle được cam kết unlock và nhận phí xử lý;
Nếu Oracle_sign không trung thực, tức là bất kỳ ai cũng khởi tạo thành công Disprove-CET1 Nếu giao dịch chi tiêu thành công đầu ra của trình kết nối A, chữ ký của oracle không hợp lệ và 2BTC đã cam kết sẽ bị mất trong tương lai, oracle sẽ không còn có thể bắt đầu chữ ký với kết quả tương tự trên hợp đồng DLC. , vì Settle dựa vào đầu ra của đầu nối A -CET1 sẽ vĩnh viễn không hợp lệ.
Các thử thách trong OP-DLC là không được phép, tức là bất kỳ người tham gia nào cũng có thể giám sát các thử thách trong OP-DLC Hợp đồng có được thực hiện đúng hay không. Vì vậy, niềm tin vào oracle bị giảm thiểu. So với Lightning Network, Alice và Bob cũng có thể ngoại tuyến. Bởi vì nhà tiên tri sẽ chỉ giải quyết CET bằng những chữ ký trung thực, còn những nhà tiên tri độc ác sẽ bị bất kỳ ai thách thức và trừng phạt.
Ưu điểm:
Có quyền kiểm soát cao đối với tài sản và chỉ tin tưởng vào bản thân: Alice và Bob đều có thể trở thành nhà tiên tri và ký CET. Cơ chế thách thức lạc quan sẽ đánh bại được CET sai lầm nên cái ác không thể làm được. Vì vậy, OP-DLC cho phép người dùng chỉ tin vào chính mình. Trong BitVM, người dùng cần đóng vai trò là Người vận hành và tham gia vào tất cả các khoản tiền gửi tiếp theo để chỉ tin tưởng vào chính mình. Nếu người dùng với tư cách là Nhà điều hành chỉ tham gia vào một khoản tiền gửi UTXO duy nhất trong BitVM và UTXO có thể được hoàn trả hợp pháp bởi bất kỳ Nhà điều hành nào (n-1) khác, thì người dùng vẫn cần tin tưởng các Nhà điều hành khác để tạm ứng tiền trong tương lai. Quyền hoàn trả của Nhà điều hành BitVM bị khóa trên mỗi UTXO gửi tiền duy nhất.
Hiệu quả sử dụng vốn cao: Nếu người dùng chỉ tin tưởng vào bản thân thì số tiền cần có sẽ khác. Trong OP-DLC, người dùng dựa vào việc rút tiền của chính họ và không cần phải ứng trước một số tiền bằng nhau; trong BitVM, người dùng cần phải ứng trước một lượng tiền bằng nhau và sau đó được hoàn trả. Điều này mang lại áp lực tài chính lớn hơn.
Cần phải xác định oracle có thể ký khi gửi tiền vào OP-DLC, nhưng người dùng cũng có thể tự mình trở thành oracle Hãy tự mình ký tên.
Nhược điểm:
Thời gian rút tiền mất 1 tuần: Về cơ bản, chi phí vốn thời gian của OP-DLC và BitVM đều tồn tại và bằng nhau. Việc rút tiền OP-DLC phải trải qua giai đoạn thử thách trước khi có thể nhận được tiền; nếu BitVM dựa vào người dùng để tự ứng trước, thì số tiền ứng trước tương tự cũng phải trải qua giai đoạn thử thách trước khi có thể được hoàn trả thành công. Nếu BitVM dựa vào các Nhà khai thác khác để tiến hành rút tiền nhanh chóng, điều đó có nghĩa là Nhà khai thác cần phải trả một lượng tiền và chi phí thời gian bằng nhau như phí xử lý.
Số lượng chữ ký cần ký trước ngày càng tăng nhanh và có quan hệ tuyến tính với số lượng CET. Cần càng nhiều CET càng tốt để liệt kê tất cả các kết quả rút tiền.
4. Kết luận
OP-DLC sẽ lạc quan Cơ chế thử thách được đưa vào CET để đảm bảo rằng CET sai không được giải quyết và oracle độc hại tương ứng sẽ mất cam kết; nó đảm bảo rằng CET chính xác được thực thi và cam kết oracle được mở khóa và thu được phí xử lý. Phương pháp này có thể chống lại bất kỳ cuộc tấn công nào và có vẻ đẹp của sự đơn giản.
Tài liệu tham khảo
Đặc điểm kỹ thuật cho Hợp đồng nhật ký kín đáo
Hợp đồng nhật ký kín đáo
-
Phân tích nguyên tắc DLC và tư duy tối ưu hóa
Tập hợp lạc quan
< /li>BitVM 2: Xác minh không cần cấp phép đối với Bitcoin