Tiêu đề gốc: Bitlayer Core Technology: DLC and its Optimization Considerations
Tác giả gốc: mutourend & lynndell, Nhóm Nghiên cứu Bitlayer
Discreet Log Contract (DLC) là một khung hợp đồng thực hiện dựa trên máy Oracle được Tadge Dryja của Đại học Massachusetts đề 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 đã xác định trước kết quả có thể và đã ký trước, và sử dụng các chữ ký trước đó để thực hiện thanh toán khi máy Oracle ký kết kết quả. Do đó, DLC không chỉ đảm bảo an toàn cho tiền gửi Bitcoin mà còn thực hiện các ứng dụng tài chính phi tập trung mới.
Bài viết trước “Phân tích nguyên tắc DLC và tư duy tối ưu hóa của nó” đã tóm tắt những lợi thế của DLC trong việc 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, đồng thời phân tích các vấn đề về rủi ro Chìa khoá bảo mật, rủi ro Phi tập trung niềm tin và rủi ro thông đồng trong DLC, đồng thời giới thiệu các nhà tiên tri phi tập trung, chữ ký ngưỡng và cơ chế thách thức lạc quan vào DLC để giải quyết các vấn đề khác nhau mà nó phải đối mặt. Bởi vì DLC liên quan đến ba người tham gia, Máy Oracle, Alice và Bob, âm mưu giữa những người tham gia khác nhau tương đối phức tạp, dẫn đến các 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 phù hợp với sự đơn giản và thiếu vẻ đẹp của sự đơn giản.
Trong Bitcoin, bất kỳ hành vi nào của bất kỳ người tham gia nào cũng cần phải được thực hiện thông qua UTXO. Do đó, sử dụng Cơ chế đồng thuận để đảm bảo rằng UTXO là chính xác có khả năng chống lại các cuộc tấn công tùy ý. Tương tự, trong DLC, bất kỳ hành vi nào của bất kỳ bên nào cũng cần được thực hiện thông qua CET (Giao dịch ution hợp đồng). Do đó, nếu bạn sử dụng cơ chế thách thức lạc quan để đảm bảo rằng CET là chính xác, bạn sẽ có thể chống lại các cuộc tấn công tùy ý. Cụ thể, sau khi Máy Oracle thế chấp TC 2B, bạn sẽ có thể ký CET. Thêm một cơ chế thách thức lạc quan vào CET. Nếu CET không bị thách thức, hoặc nếu thử thách được giải quyết thành công, CET là chính xác, Thanh toán có thể được hoàn thành Máy Oracle thế chấp được phát hành và phí được thanh toán; Nếu Oracle cố gắng làm điều ác, bất cứ ai cũng có thể thách thức thành công, CET sẽ không Thanh toán, Máy Oracle sẽ mất thế chấp và Máy Oracle sẽ không người theo lệnh long có thể ký cùng một CET. Phù hợp với sự đơn giản của đại lộ, với vẻ đẹp giản dị.
Alice và Bob ký kết thỏa thuận cược: đặt cược rằng giá trị băm của khối thứ ξ là số lẻ hoặc 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 qua máy Oracle truyền thông tin về khối thứ ξ để xây dựng chữ ký điều kiện để cho phía chiến thắng nhận toàn bộ tài sản.
Máy Oracle, Alice và Bob đều có cặp khóa bảo mật tương ứng là (z, Z), (x, X), (y, Y) với phần tử sinh của đường cong elip là G, có bậc là q.
Giao dịch nạp vốn (trên chuỗi): Alice và Bob cùng tạo một giao dịch nạp vốn, mỗi người khóa 10 BTC trong một đầu ra đa chữ ký 2 trên 2 (một khóa công khai X thuộc về Alice, một khóa công khai Y thuộc về Bob).
Xây dựng CET (off-chain): Alice và Bob tạo ra CET 1 và CET 2 để chi tiêu giao dịch ghi nhận vốn.
Máy Oracle tính cam kết R = k · G, sau đó tính S và S’
S := R - Hàm băm(Số lẻ, R) · Z
S’ := R - Hàm băm(Số chẵn, R) · Z
Khóa công khai mới tương ứng với Alice và Bob như sau:
PK^{Alice} := X + S
PK^{Bob} := Y + S’.
Thanh toán (off-chain->on-chain): Khi Khối đầu tiên được tạo thành công, CET 1 hoặc CET 2 tương ứng được ký Máy Oracle theo giá trị Hàm băm của Khối.
Nếu hàm băm là số lẻ, máy Oracle sẽ ký như sau s
s := k - Hàm băm(Số lẻ, R) z
Phát sóng CET 1.
Nếu giá trị băm là số chẵn, thì máy Oracle sẽ ký s’
s’ := k - Hàm băm(Số chẵn, R) z
Phát sóng CET 2.
Rút tiền (on-chain): Nếu máy Oracle thông báo CET 1, 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 máy Oracle phát sóng CET 2, Bob có thể tính toán ra khóa riêng mới và chi tiêu 20 BTC đã bị khóa
sk^{Bob} = y + s’
Nhóm nghiên cứu Bitlayer phát hiện: Trong quá 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 CET đúng, có thể chống lại bất kỳ cuộc tấn công nào. CET sai sẽ bị thách thức, không được thực hiện, trong khi CET đúng sẽ được thực hiện. Ngoài ra, máy Oracle cần phải trả giá cho hành vi độc hại.
Nếu chương trình thách thức là f(t), thì CET nên được xây dựng như sau
s = k - Hàm băm(f(t), R) z.
Giả sử giá trị Hàm băm của Khối thực là lẻ lẻ, tức là f(ξ) = OddNumber, Máy Oracle nên ký CET 1
s := k - Hàm băm(Số lẻ, R) z.
Tuy nhiên, máy Oracle gian ác đã thay đổi giá trị hàm thành Even và ký CET 2:
s’ := k - hash(SốChẵn, R) z.
Do đó, bất kỳ người dùng nào cũng có thể ngăn chặn hành vi độc hại này dựa trên f(ξ) ≠ OddNumber.
OP-DLC bao gồm 5 quy định sau đây:
Nếu Oracle_sign trung thực, thì không thể khởi động giao dịch Disprove-CET 1, sau 1 tuần thực hiện thanh toán CET. Ngoài ra, thế chấp máy Oracle được mở khóa và nhận phí giao dịch;
Nếu Oracle_sign không trung thực, tức là bất kỳ ai thành công trong việc khởi động giao dịch Disprove-CET 1, thành công chi tiêu đầu ra của connector A, chữ ký của máy Oracle này sẽ bị vô hiệu hóa, mất 2B TC đã thế chấp và máy Oracle sẽ không thể ký kết kết quả tương tự cho hợp đồng DLC trong tương lai, vì Settle-CET 1 phụ thuộc vào đầu ra của connector A sẽ bị vô hiệu hóa vĩnh viễn.
Ưu điểm:
Nhược điểm:
OP-DLC đưa cơ chế thách thức lạc quan vào CET, đảm bảo CET sai lầm không được thanh toán, và tài sản thế chấp của máy Oracle độc hại tương ứng; đảm bảo CET đúng được thực hiện, và tài sản thế chấp của máy Oracle được mở khóa và nhận phí giao dịch. Phương pháp này có khả năng chống lại bất kỳ cuộc tấn công nào, đồng thời đơn giản và đẹp đẽ.
Tài liệu tham khảo