Bitlayer Research:“OP-DLC 2” 최적화 메커니즘 상세 설명
원문 제목:《OP-DLC 2 : 위대한 진리는 항상 간단하다》
저자 : mutourend \& lynndell, Bitlayer Research Group
1. 서론
Discreet Log Contract (DLC)는 매사추세츠 공과대학교의 Tadge Dryja가 2018년에 제안한 예언자 기반 계약 실행 프레임워크입니다. DLC는 두 당사자가 미리 정의된 조건에 따라 조건부 지불을 할 수 있도록 허용합니다. 양측은 가능한 결과를 미리 정하고 사전 서명을 하며, 예언자가 결과를 서명할 때 이 사전 서명을 사용하여 지불을 실행합니다. 따라서 DLC는 비트코인 예치금의 안전성을 보장하면서 새로운 탈중앙화 금융 애플리케이션을 구현합니다.
이전 기사 《DLC 원리 분석 및 최적화 고찰》에서는 DLC가 프라이버시 보호, 복잡한 계약, 자산 리스크 저하 등에서의 장점을 요약하고, DLC가 존재하는 키 리스크, 탈중앙화 신뢰 리스크, 공모 리스크 등의 문제를 분석하였으며, 탈중앙화 예언자, 문턱 서명, 낙관적 도전 메커니즘 등을 DLC에 도입하여 직면해야 할 다양한 문제를 해결했습니다. DLC에는 예언자, 앨리스, 밥 세 명의 참여자가 관련되어 있어, 서로 간의 공모 공격을 완전 탐색하는 것은 상대적으로 복잡하여 예방 전략도 상대적으로 복잡해집니다. 복잡한 방어 전략은 완벽하지 않으며, 대도 간단함에 부합하지 않고, 간결한 아름다움이 부족합니다.
비트코인에서는 임의의 참여자의 임의 행동이 UTXO를 통해 이루어져야 합니다. 따라서 합의 메커니즘을 사용하여 UTXO의 정확성을 보장하면 임의 공격에 저항할 수 있습니다. 유사하게, DLC에서는 임의의 참여자의 임의 행동이 CET(Contract Execution Transaction)를 통해 이루어져야 합니다. 따라서 낙관적 도전 메커니즘을 사용하여 CET의 정확성을 보장하면 임의 공격에 저항할 수 있습니다. 구체적으로, 예언자가 2BTC를 스테이킹한 후 CET를 서명할 수 있습니다. CET에 낙관적 도전 메커니즘을 추가합니다. CET가 도전받지 않거나 도전에 성공적으로 대응하면 CET는 정확하며, 정산을 완료할 수 있고, 예언자는 스테이킹을 해제하고 수수료를 얻습니다. 만약 예언자가 악의적으로 행동하려 한다면, 누구든지 성공적으로 도전할 수 있으며, 해당 CET는 정산할 수 없고, 예언자는 스테이킹 금액을 잃고 해당 예언자는 동일한 CET에 대해 다시 서명할 수 없습니다. 이는 대도 간단함에 부합하며, 간결한 아름다움을 가지고 있습니다.
2. DLC 원리
앨리스와 밥은 내기 계약을 체결합니다: 제 ξ 번째 블록의 해시 값이 홀수인지 짝수인지에 베팅합니다. 홀수일 경우 앨리스가 게임에서 이기고 자산을 인출할 수 있습니다; 짝수일 경우 밥이 게임에서 이기고 자산을 인출할 수 있습니다. DLC를 사용하여 예언자를 통해 제 ξ 번째 블록 정보를 전달하고 조건부 서명을 구성하여 올바른 승자가 모든 자산을 얻도록 합니다.
타원 곡선 생성원은 G이며, 차수는 q입니다. 예언자, 앨리스, 밥 각각의 키 쌍은 (z, Z), (x, X), (y, Y)입니다.
자금 거래(온체인): 앨리스와 밥은 함께 자금 거래를 생성하고, 각각 10BTC를 2-of-2 다중 서명 출력(하나의 공개 키 X는 앨리스에 속하고, 하나의 공개 키 Y는 밥에 속함)에 잠급니다.
CET 구축(오프체인): 앨리스와 밥은 CET1과 CET2를 생성하여 자금 거래를 사용합니다.
예언자는 약속 R = k · G를 계산한 후 S와 S'를 계산합니다.
S := R - hash(OddNumber, R) · Z
S' := R - hash(EvenNumber, R) · Z
따라서 앨리스와 밥에 해당하는 새로운 공개 키는 다음과 같습니다:
PK\^{Alice} := X + S
PK\^{Bob} := Y + S'.
정산(오프체인 -> 온체인): 제 ξ 번째 블록이 성공적으로 생성되면, 예언자는 해당 블록의 해시 값에 따라 CET1 또는 CET2를 서명합니다.
해시가 홀수인 경우, 예언자는 다음과 같이 서명합니다:
s := k - hash(OddNumber, R) z
CET1을 방송합니다.
해시가 짝수인 경우, 예언자는 s'를 서명합니다:
s' := k - hash(EvenNumber, R) z
CET2를 방송합니다.
출금(온체인): 예언자가 CET1을 방송하면, 앨리스는 새로운 개인 키를 계산하고 잠금된 20BTC를 사용할 수 있습니다.
sk\^{Alice} = x + s
예언자가 CET2를 방송하면, 밥은 새로운 개인 키를 계산하고 잠금된 20BTC를 사용할 수 있습니다.
sk\^{Bob} = y + s'
Bitlayer 연구 그룹은 다음과 같이 발견했습니다: 위 과정에서 임의 행동은 모두 CET를 통해 이루어져야 합니다. 따라서 낙관적 도전 메커니즘을 사용하여 CET의 정확성을 보장하면 임의 공격에 저항할 수 있습니다. 잘못된 CET는 도전받아 실행되지 않으며, 올바른 CET는 실행됩니다. 또한, 예언자는 악의적 행동에 대해 대가를 치러야 합니다.
도전 프로그램은 f(t)로, CET는 다음과 같이 구성되어야 합니다.
s = k - hash(f(t), R) z.
가정해보면, 실제 상황에서 제 ξ 번째 블록의 해시 값이 홀수 odd라면, 즉 f(ξ) = OddNumber일 경우, 예언자는 CET1을 서명해야 합니다.
s := k - hash(OddNumber, R) z.
하지만 예언자가 악의적으로 행동하여 함수 값을 Even으로 수정하고 CET2를 서명했습니다:
s' := k - hash(EvenNumber, R) z.
따라서 임의의 사용자는 f(ξ) ≠ OddNumber에 따라 해당 악의적 행동을 저지할 수 있습니다.
3. OP-DLC 2
OP-DLC는 다음 5가지 규정을 포함합니다:
- 예언자는 하나의 연합으로 구성되며, 연합에는 n명의 참여자가 있으며, 임의의 구성원이 CET를 서명할 수 있습니다. 2BTC를 스테이킹해야 예언자가 서명을 발행하고 수수료를 벌 수 있습니다. 만약 어떤 구성원이 악의적으로 행동하면, 스테이킹을 잃게 됩니다. 다른 구성원은 계속 CET를 서명하여 사용자가 자금을 인출할 수 있도록 보장합니다. 앨리스와 밥도 예언자가 될 수 있으며, 진정으로 자신만을 믿고 최소한의 신뢰를 유지할 수 있습니다.
- 만약 예언자가 악의적으로 행동하여 결과를 수정하면, 반드시 f1(ξ) ≠ z1, f2(z1) ≠ z2의 상황이 발생합니다. 따라서 임의의 참여자는 도전을 시작할 수 있으며, 즉 Disprove-CET1 거래를 진행할 수 있습니다.
- 만약 예언자가 정직하게 CET를 서명하면, 임의의 참여자는 유효한 Disprove 거래를 시작할 수 없습니다. 1주 후 CET는 올바르게 정산될 수 있습니다. 또한, 예언자는 0.05BTC의 보상을 얻으며, 이는 스테이킹한 2BTC의 1주 자금 점유 및 정직한 CET 서명의 수수료입니다.
- 임의의 참여자는 Oracle_sign에 대해 도전을 시작할 수 있습니다:
- 만약 Oracle_sign이 정직하다면, Disprove-CET1 거래를 시작할 수 없으며, 1주 후 CET 정산이 실행됩니다. 또한, 예언자의 스테이킹이 해제되고 수수료를 얻습니다;
- 만약 Oracle_sign이 정직하지 않다면, 즉 누군가가 성공적으로 Disprove-CET1 거래를 시작하고 connector A 출력을 성공적으로 사용했다면, 해당 예언자의 서명은 무효가 되며, 스테이킹한 2BTC를 잃게 되고, 향후 해당 예언자는 동일한 결과에 대해 해당 DLC 계약에 서명할 수 없으며, connector A 출력에 의존하는 Settle-CET1은 영구적으로 무효가 됩니다.
- OP-DLC의 도전은 허가 없이 이루어지며, 즉 임의의 참여자는 OP-DLC 내의 계약이 올바르게 실행되는지 감독할 수 있습니다. 따라서 예언자에 대한 신뢰를 최소화할 수 있습니다. 라이트닝 네트워크와 비교할 때, 앨리스와 밥도 오프라인으로 있을 수 있습니다. 왜냐하면 예언자가 정직하게 서명해야 CET가 정산되며, 악의적인 예언자는 누구에게나 도전받고 처벌받을 수 있기 때문입니다.
장점:
- 자산 통제도가 높고, 자신만을 신뢰함: 앨리스와 밥 모두 예언자가 되어 CET를 서명할 수 있습니다. 낙관적 도전 메커니즘은 잘못된 CET를 저지하므로 악의적으로 행동할 수 없습니다. 따라서 OP-DLC는 사용자가 자신만을 믿도록 할 수 있습니다. BitVM에서는 사용자가 운영자로 참여해야 하며, 이후 모든 입금에 참여해야만 자신만을 신뢰할 수 있습니다. 만약 사용자가 운영자로서 BitVM의 단일 UTXO 입금에만 참여한다면, 해당 UTXO는 임의의 다른 (n-1)명의 운영자에 의해 합법적으로 상환될 수 있으므로, 해당 사용자의 향후 출금은 여전히 다른 운영자가 비용을 선불할 것이라는 신뢰가 필요합니다. BitVM 운영자의 상환 권한은 각 단일 입금 UTXO에 잠겨 있습니다.
- 자금 활용률이 높음: 사용자가 자신만을 신뢰할 경우 필요한 자금량이 다릅니다. OP-DLC에서는 사용자가 자신의 출금에 의존하므로 동일한 양의 자금을 선불할 필요가 없습니다; 반면 BitVM에서는 사용자가 동일한 양의 자금을 선불해야 하며, 그 후 상환해야 합니다. 이는 더 큰 자금 압박을 초래합니다.
- 서명할 수 있는 예언자는 OP-DLC 입금 시 결정되어야 하지만, 사용자가 스스로 예언자가 되어 스스로 서명할 수 있습니다.
단점:
- 출금 시간은 1주 필요: 본질적으로 OP-DLC와 BitVM의 자금 시간 비용은 존재하며 동일합니다. OP-DLC 출금은 도전 기간을 거쳐야 자금을 받을 수 있습니다; 만약 BitVM이 사용자가 스스로 선불하는 것에 의존한다면, 동일한 양의 선불 자금도 도전 기간을 거쳐야 성공적으로 상환될 수 있습니다. 만약 BitVM이 다른 운영자의 선불에 의존하여 빠르게 출금하려 한다면, 이는 운영자에게 동일한 양의 자금 시간 비용을 수수료로 지불해야 함을 의미합니다.
- 사전 서명해야 할 서명의 수가 빠르게 증가하며, CET 수와 선형 관계를 가집니다. 모든 출금 결과를 열거하기 위해 가능한 한 많은 CET가 필요합니다.
4. 결론
OP-DLC는 낙관적 도전 메커니즘을 CET에 도입하여 잘못된 CET가 정산되지 않도록 보장하고, 해당 악의적 예언자가 스테이킹을 잃도록 합니다; 올바른 CET가 실행되도록 보장하고, 예언자의 스테이킹이 해제되며 수수료를 얻습니다. 이 방식은 임의 공격에 저항할 수 있으며, 간단한 아름다움을 가지고 있습니다.