저자: mutourend & lynndell, Bitlayer Research Group
신중한 로그 계약(DLC)은 2018년 MIT의 태지 드라이야가 제안한 예측 머신 기반 계약 체결 프레임워크로, 두 당사자가 미리 정의된 조건에 따라 조건부 결제를 할 수 있도록 합니다. 양 당사자는 가능한 결과를 미리 결정하여 사전 서명하고, 예측 머신이 결과에 서명하면 이 사전 서명을 사용하여 결제를 실행합니다. 결과적으로 DLC는 비트코인 예치금을 보호하면서 새로운 탈중앙화 금융 애플리케이션을 가능하게 합니다.
이전 글인 "DLC의 원리 분석과 최적화에 대한 생각"에서는 DLC의 역할을 다음과 같이 요약했습니다. 프라이버시 보호, 복잡한 계약, 낮은 자산 위험 등 장점과 함께 키 위험, 탈중앙화 신뢰 위험, 담합 위험 등 DLC의 문제점을 분석하고 탈중앙화 술어 머신, 임계값 서명, 낙관적 도전 메커니즘 등을 도입하여 DLC가 직면해야 할 다양한 문제를 해결했습니다. DLC는 예언 머신, 앨리스, 밥이라는 세 명의 참여자가 참여하기 때문에 서로 다른 참여자 간의 담합 공격 소진이 상대적으로 복잡하고, 이에 따라 방어 전략도 상대적으로 복잡합니다. 복잡한 방어 전략은 완벽하지 않고, 단순성의 경로를 따르지 않으며, 단순함의 아름다움이 부족합니다.
비트코인에서는 모든 참여자가 임의의 행동을 하려면 UTXO가 필요합니다. 따라서 합의 메커니즘을 사용해 UTXO가 올바른지 확인하면 임의의 공격에 저항할 수 있습니다. 마찬가지로 DLC에서 모든 참여자의 임의 행위는 CET(컨트랙트 실행 트랜잭션)를 통해 구현되어야 합니다. 따라서 낙관적 챌린지 메커니즘을 사용하여 CET가 올바른지 확인하면 임의 공격에 저항할 수 있습니다. 구체적으로, 예측 머신은 2BTC를 약정한 후 CET에 서명할 수 있으며, 낙관적 챌린지 메커니즘이 CET에 추가됩니다. CET가 도전받지 않거나 도전에 성공적으로 대응하면 CET는 정확하고 정산될 수 있으며 예측자는 서약에서 해제되고 수수료를 받게 되며, 오라클이 나쁜 일을 시도하면 누구나 CET에 성공적으로 도전할 수 있고 CET는 정산되지 않으며 예측자는 서약을 잃고 예측자는 동일한 CET에 다시 서명할 수 없게 됩니다. 이는 단순함의 길과 일치하며 단순함의 아름다움이 있습니다.
앨리스와 밥은 ξ번째 블록의 해시값이 홀수인지 짝수인지에 베팅하는 내기 계약을 체결했습니다. 홀수이면 앨리스가 게임에서 승리하여 자산을 인출할 수 있고, 짝수이면 밥이 게임에서 승리하여 자산을 인출할 수 있습니다. DLC를 사용하면 ξ번째 블록 메시지를 예측 머신에 전달하여 올바른 승리자가 모든 자산을 획득하도록 조건부 서명을 구성할 수 있습니다.
타원 곡선 생성 요소는 G이고 순서는 q입니다. 예측 머신, 앨리스, 밥의 각 키 쌍은 (z, Z), (x, X), (y, Y)입니다.
펀딩 트랜잭션(온체인): 앨리스와 밥은 각각 10BTC를 2대 2 다중 서명 출력에 잠그는 펀딩 트랜잭션을 함께 생성합니다(공개 키 X 하나는 앨리스에 속하고 공개 키 Y 하나는 밥에 속함).
CET 생성(오프체인): 앨리스와 밥은 펀딩된 트랜잭션을 사용하기 위해 CET1과 CET2를 생성합니다.
예측 머신은 커미션 R = k - G를 계산한 다음 S와 S'
S := R - hash(OddNumber, R) - Z
S' := R - hash(EvenNumber, R) - Z
그렇다면 Alice와 Bob에 해당하는 새 공개 키는 다음과 같습니다.
PK^{Alice} := X + S입니다.
PK^{Bob} := Y + S'.
정산(오프체인 - 온체인): ξ번째 블록이 성공적으로 생성되면, 블록의 해시값에 따라 예측 머신이 해당 CET1 또는 CET2에 서명합니다.
해시가 홀수인 경우 예측 머신은 다음과 같이 서명합니다. 부호 s
s := k - 해시(OddNumber, R) z
Broadcast CET1.
해시가 짝수이면 가 짝수이면 예측 머신은 s'
s' := k - hash(EvenNumber, R) z
Broadcast CET2.
Broadcast CET2.
를 출력합니다. 왼쪽;">코인 출금(온체인): 예측 머신이 CET1을 브로드캐스트하면 앨리스는 새 개인 키를 계산하여 잠긴 20 BTC를
sk^{Alice} = x + s
사용할 수 있습니다. 예측 머신이 CET2를 브로드캐스트하면 Bob은 새로운 개인키를 계산하여 잠긴 20 BTC를 사용할 수 있습니다
sk^{Bob} = y + s'
비트 레이어 연구 그룹은 위의 프로세스에서 다음과 같은 사실을 발견했습니다. 를 통해 임의의 동작을 구현해야 한다는 사실을 발견했습니다. 그 결과, 낙관적 챌린지 메커니즘을 사용하여 CET가 올바른지 확인함으로써 임의의 공격에 저항할 수 있습니다. 잘못된 CET는 이의를 제기하여 실행되지 않고, 올바른 CET는 실행됩니다. 또한 예측 머신은 악의적인 행동에 대한 대가를 지불해야 합니다.
도전할 프로그램은 f(t)이며, CET는 다음과 같이 구성해야 합니다
s = k - hash(f(t), R) z.
진정한 경우는 ξ번째 블록의 해시가 OddOdd, 즉 f(ξ) = OddNumber이고 술어는 CET1
s := k - hash(OddNumber, R) z.
그러나 예언 기계가 악의를 품고 함수 값을 짝수로 변경하여 CET2에 서명했습니다.
s' := k - hash(EvenNumber, R) z.
. 따라서 모든 사용자는 f(ξ) ≠ OddNumber에 기반한 악의적인 행동을 막을 수 있습니다.
OP-DLC는 다음 다섯 가지 조항으로 구성됩니다.
예언 기계는 n명의 참여자로 구성된 동맹으로 구성되며, 구성원 중 한 명은 서명을 게시하여 예언 기계가 수수료를 받기 위해 CET. 서약 2BTC에 서명할 수 있습니다. 구성원 중 한 명이 사악하면 서약은 손실됩니다. 다른 회원은 계속해서 CET에 서명하여 사용자가 자금을 인출할 수 있도록 할 수 있습니다. 앨리스와 밥도 예언 기계가 될 수 있으며, 이는 자신만을 믿고 신뢰를 최소화할 수 있습니다.
예측 머신이 오류를 일으켜 결과를 수정하면 필연적으로 f1(ξ) ≠ z1, f2(z1) ≠ z2가 되는 상황이 발생할 수 밖에 없습니다. 따라서 모든 참여자는 이의를 제기할 수 있으며, 즉 반증-CET1 트랜잭션을 시작할 수 있습니다.
예언 머신이 CET에 정직하게 서명하면 어떤 참여자도 유효한 반증 거래를 시작할 수 없습니다. 1주일이 지나면 CET가 올바르게 정산될 수 있습니다. 또한, 예언 머신은 약정된 2BTC 1주 자본금에 대한 0.05BTC 보너스와 CET에 정직하게 서명한 것에 대한 수수료를 받습니다.
모든 참가자는 오라클사인에 도전할 수 있습니다:
Oracle_sign이 정직한 경우, Disprove-CET1 트랜잭션은 시작될 수 없으며 1주일 후에 CET 정산이 실행됩니다. 또한, 술어 머신은 잠금 해제를 서약하고 수수료를 받습니다.
Oracle_sign이 정직하지 않은 경우, 즉 Disprove-CET1 거래를 성공적으로 개시한 사람이 커넥터 A 출력을 성공적으로 소비하는 경우, 해당 술어 머신의 서명이 무효화되고, 담보된 2BTC는 손실되며, 해당 커넥터 A 출력에 의존하는 Settle-CET1이 영구적으로 무효화되므로 해당 DLC 계약에 대해 해당 예측자가 향후 동일한 결과를 가진 서명을 개시할 수 없습니다.
OP-DLC의 챌린지는 비허가형, 즉 모든 참여자가 OP-DLC 내에서 계약이 올바르게 실행되는지 감독할 수 있습니다. 따라서 포식자에 대한 신뢰를 최소화할 수 있습니다. 라이트닝 네트워크와 달리 앨리스와 밥은 오프라인 상태일 수도 있습니다. 예언 기계는 정직하게 서명한 경우에만 CET를 정산하는 반면, 사악한 예언 기계는 누구나 이의를 제기하고 처벌할 수 있기 때문입니다.
장점:
자산에 대한 높은 통제력, 자신만을 신뢰: 앨리스와 밥은 모두 예언 기계가 되어 CET에 서명할 수 있으며, 낙관적 도전 메커니즘은 잘못된 CET를 저지하므로 악을 행할 수 없습니다. 따라서 OP-DLC는 사용자가 자신만을 신뢰할 수 있습니다. BitVM에서는 사용자가 오퍼레이터가 되어야 하며, 이후 모든 입금에 참여해야만 자신만을 신뢰할 수 있습니다. 사용자가 다른 (n-1) 오퍼레이터가 합법적으로 상환할 수 있는 단 하나의 BitVM UTXO 입금에만 오퍼레이터로 참여하는 경우, 사용자는 향후 입금을 진행하려면 여전히 다른 오퍼레이터를 신뢰해야 하며, BitVM 오퍼레이터의 상환 권한은 입금하는 개별 UTXO에게만 제한됩니다.
더 높은 자본 활용도: 사용자가 자신만 신뢰하는 경우, 다른 금액의 자본이 필요합니다; OP-DLC에서는 사용자가 자신의 출금에 의존하고 동일한 금액의 자본으로 선지급할 필요가 없지만, BitVM에서는 사용자가 동일한 금액의 자본으로 선지급한 후 상환받아야 합니다. 이는 더 많은 재정적 부담을 초래합니다.
서명할 수 있는 예치자는 OP-DLC 입금 시점에 확인해야 하지만, 사용자가 직접 예치자가 되어 직접 서명할 수 있습니다.
단점:
1주일의 출금 시간: 기본적으로 OP-DLC와 BitVM 모두 자본 시간 비용이 소요됩니다. OP-DLC와 BitVM의 자금 시간 비용은 모두 동일하며, OP-DLC 출금에는 자금을 사용할 수 있기 전에 챌린지 기간이 적용되며, BitVM이 사용자의 자체 선지급에 의존하는 경우, 동일한 금액의 선지급은 자금을 성공적으로 상환하기 전에 챌린지 기간이 적용될 수 있습니다. BitVM이 다른 운영자에게 자금을 신속하게 선지급하는 경우, 이는 운영자의 동등한 금액의 자금을 선지급하는 데 소요되는 시간 비용을 수수료로 지불해야 함을 의미합니다.
사전 서명해야 하는 서명 수는 더 빠르게 증가하며, 이는 CET 수와 선형적으로 연관됩니다. 코인 출금의 모든 결과를 열거하려면 가능한 한 많은 CET가 필요합니다.
OP-DLC는 잘못된 CET가 정산되지 않고 해당 악성 사전 서명 머신이 서약을 잃지 않도록 낙관적 도전 메커니즘을 CET에 도입하여 올바른 CET가 실행되고 예언 머신이 잠금을 해제하고 수수료를 받기로 서약합니다. 이 접근 방식은 임의의 공격에 강하고 단순하다는 장점이 있습니다.
참고자료
신중한 로그 계약에 대한 사양
사양
신중한 로그 계약
DLC 원칙 설명
신중한 로그 계약 설명 및 낙관적 사고
낙관적 롤업
BitVM 2: 비허가성 비트코인에 대한 검증