원문 제목: 어댑터 서명과 교차 체인 원자 스왑에의 적용
원문 링크
원문 문서로 이동합니다: https://blog.bitlayer.org/Adaptor_Signatures_and_Its_Application_to_Cross-Chain_Atomic_Swaps/
저자: mutourend, lynndell
1. 서론
비트코인의 레이어2 확장 체계가 빠르게 발전하면서 비트코인과 레이어2 대응 자산 간의 교차 체인 자산 전송 빈도가 크게 증가했습니다. 전송 빈도가 크게 증가했습니다. 이러한 추세는 비트레이어와 같은 레이어2 기술이 제공하는 확장성 증가, 낮은 거래 수수료, 높은 처리량 덕분입니다. 이러한 발전은 보다 효율적이고 비용 효율적인 거래를 촉진하여 다양한 애플리케이션에서 비트코인의 폭넓은 채택과 통합을 촉진합니다. 그 결과, 비트코인과 레이어2 네트워크 간의 상호운용성은 암호화폐 생태계의 핵심 요소로 자리 잡아 혁신을 주도하고 사용자에게 더욱 다양하고 강력한 금융 도구를 제공하고 있습니다.
표 1에서 볼 수 있듯이 비트코인과 레이어2 간의 크로스체인 거래에는 중앙화된 크로스체인 거래, BitVM 크로스체인 브리지, 크로스체인 아토믹 스왑의 세 가지 일반적인 시나리오가 있습니다. 이 세 가지 기술은 신뢰 가정, 보안, 편의성, 거래량 측면에서 서로 다르며 다양한 애플리케이션 요구 사항을 충족할 수 있습니다.
표 1. 크로스체인 트랜잭션 기술 비교

중앙화된 교차 체인 거래: 사용자가 먼저 중앙화된 조직(예: 프로젝트 또는 거래소)에 비트코인을 지불하면 중앙화된 조직이 L로 지불합니다. )로 결제하면 중앙화된 기관은 사용자가 지정한 주소로 레이어2 네트워크에서 해당 자산과 동일한 가치를 지불하여 체인 간 자산 전송을 완료합니다. 이 기술의 장점은 중앙화된 기관이 거래를 빠르게 확인하고 처리할 수 있기 때문에 속도가 빠르고 집계 과정이 상대적으로 쉽다는 것입니다. 그러나 이 방법의 보안은 전적으로 중앙화된 기관의 신뢰성과 평판에 달려 있습니다. 중앙화된 기관이 기술적 장애, 악의적인 공격, 채무 불이행을 겪을 경우 사용자의 자금은 더 높은 위험에 노출됩니다. 또한 중앙화된 크로스체인 거래는 사용자 개인정보가 유출될 수 있으므로 사용자는 이 방법을 선택할 때 신중하게 고려해야 합니다. 따라서 편리함과 효율성은 사용자에게 큰 편의를 제공하지만, 보안과 신뢰는 중앙화된 크로스 체인 거래가 직면한 주요 과제입니다.
비트브이엠 크로스체인 브리지: 이 기술은 비교적 복잡합니다. 먼저, 페그인 단계에서 사용자는 비트코인 잠금을 위해 BitVM 컨소시엄이 관리하는 다중 서명 주소에 비트코인을 지불합니다. 이에 해당하는 수의 패스가 Layer2에서 발행되고, 이 패스는 Layer2 트랜잭션과 애플리케이션을 구현하는 데 사용됩니다. 사용자가 레이어2 패스를 파기하면 운영자가 이를 진행합니다. 그런 다음 운영자는 해당 수의 비트코인을 BitVM 컨소시엄이 관리하는 다중 서명 풀에 상환합니다. 운영자가 악의적인 행위를 저지르는 것을 방지하기 위해 상환 프로세스에는 낙관적 이의 제기 메커니즘이 적용되어 제3자가 악의적인 상환에 이의를 제기하고 악의적인 행위를 저지할 수 있습니다. 이 기술은 낙관적 이의 제기 메커니즘을 도입하기 때문에 비교적 복잡합니다. 또한 낙관적 챌린지 메커니즘은 많은 수의 챌린지 및 응답 트랜잭션을 포함하며, 트랜잭션 수수료가 높습니다. 따라서 BitVM 교차 체인 브리지는 U의 증분 발행과 유사한 초대형 트랜잭션에만 적용할 수 있으며, 따라서 사용 빈도가 낮습니다.
크로스체인 아토믹 스왑: 아토믹 스왑은 탈중앙화된 암호화폐 거래를 가능하게 하는 콘트랙트입니다. 여기서 '원자적'이란 한 자산의 소유권 변경이 실제로 다른 자산의 소유권 변경을 의미한다는 뜻입니다. 이 개념은 2013년 티어놀란이 비트코인토크 포럼에서 처음 소개했으며, 이후 4년 동안 아토믹 스왑은 이론의 영역에 머물러 있었습니다. 2017년이 되어서야 디크레드와 라이트코인이 원자 교환을 성공적으로 완료한 최초의 블록체인 시스템이 되었습니다. 아토믹 스왑은 두 당사자가 참여해야 하며, 제3자는 교환 과정을 방해하거나 간섭할 수 없습니다. 이는 이 기술이 탈중앙화되고, 검열되지 않으며, 개인 정보 보호가 더 뛰어나고, 고빈도 교차 체인 거래가 가능하여 탈중앙화 거래소에서 널리 사용된다는 것을 의미합니다. 현재 크로스 체인 아토믹 교환에는 4번의 트랜잭션이 필요하며, 일부 계획은 트랜잭션 수를 2번으로 압축하려고 하지만, 이는 교환 당사자의 실시간 온라인 요구 사항 등을 증가시킬 것입니다. 마지막으로 크로스 체인 아토믹 교환 기술에는 주로 해시 시간 잠금과 어댑터 서명이 포함됩니다.
해시 시간 잠금(HTLC) 기반 크로스체인 아토믹 거래소: 크로스체인 아토믹 거래소를 성공적으로 구현한 최초의 프로젝트는 온체인 스크립트의 도움으로 해시 잠금과 시간 잠금을 활용하는 디크레드(Decred)였습니다. HTLC를 사용하면 두 명의 사용자가 시간 제한이 있는 암호화폐 거래를 할 수 있으며, 수신자는 지정된 기간(블록 수 또는 블록 높이에 따라 결정됨) 내에 계약에 암호학적 증명("비밀")을 제출해야만 자금이 교환됩니다. "), 그렇지 않으면 자금은 발신자에게 반환됩니다. 수신자가 결제를 확인하면 트랜잭션이 성공한 것입니다. 따라서 참여하는 두 블록체인은 모두 "해시 잠금" 및 "타임 잠금" 기능을 갖춰야 합니다.
탈중앙화 거래소 기술에서 HTLC 아토믹 거래소는 획기적인 발전이지만, 몇 가지 문제점이 있습니다. 이러한 아토믹 거래소 거래와 이와 관련된 데이터는 온체인에서 이루어지기 때문에 사용자 개인정보 유출로 이어질 수 있습니다. 즉, 거래가 발생할 때마다 동일한 해시값이 양쪽 블록체인에 나타나며 몇 블록 차이로만 분리됩니다. 즉, 관찰자는 거래소에 관련된 통화를 연결할 수 있으며, 서로 가까운 블록에서 동일한 해시값을 찾을 수 있습니다(타임스탬프 기준). 체인 전체에서 통화를 추적할 때 출처를 쉽게 파악할 수 있습니다. 이 분석에서 관련 신원 데이터는 드러나지 않지만, 제3자는 관련 참여자의 신원을 쉽게 추론할 수 있습니다.
어댑터 서명 기반 교차 체인 아토믹 스왑: 베이직스왑에서 제공하는 두 번째 유형의 스왑은 "어댑터 서명" 아토믹 스왑으로 알려져 있으며, 2020년 모네로 개발자 조엘 구거가 "이진 서명"이라는 제목으로 발표한 기사를 기반으로 합니다. 모네로 개발자 조엘 구거는 2020년에 "비트코인-모네로 교차 체인 아토믹 스왑}"이라는 제목의 논문을 발표했습니다. 이 논문은 로이드 푸르니에의 2019년 논문 '일회성 검증 가능한 암호화된 서명, 일명 어댑터 서명'을 구현한 것으로 설명할 수 있습니다. 어댑터 서명은 초기 서명과 결합하여 비밀 데이터를 공개하고, 양 당사자가 데이터의 두 부분을 동시에 서로에게 공개할 수 있도록 하는 추가 서명이며, 모네로 원자 교환 쌍을 가능하게 하는 스크립트리스 프로토콜의 핵심 구성 요소입니다.
어댑터 서명 기반 아토믹 교환은 HTLC 아토믹 교환에 비해 세 가지 장점이 있습니다: 첫째, 어댑터 서명 교환 체계는 시간 잠금과 해시 잠금을 포함해 "비밀 해시" 교환이 의존하는 온체인 스크립팅을 대체합니다. 즉, HTLC 교환의 비밀과 비밀 해시는 어댑터 서명 교환에 직접 대응하는 것이 없습니다. 따라서 비트코인 연구 커뮤니티에서는 이를 "스크립트리스 스크립트"라고 부릅니다. 또한, 이러한 스크립트가 개입되지 않기 때문에 체인 풋프린트가 줄어들어 어댑터 서명 기반 아토믹 거래소가 더 가볍고 저렴해집니다. 마지막으로, HTLC는 각 체인에 동일한 해시값을 사용해야 하는 반면 어댑터 서명 기반 아토믹 교환에서는 트랜잭션을 연결할 수 없으므로 개인 정보를 보호할 수 있습니다.
이 백서에서는 먼저 슈노르/ECDSA 어댑터 서명과 크로스체인 아토믹 교환의 원리를 소개합니다. 그런 다음 어댑터 서명의 난수 보안 문제와 크로스 체인 시나리오에서 시스템 이질성 및 알고리즘 이질성 문제를 분석하고 해결책을 제시합니다. 마지막으로 비대화형 디지털 자산 수탁을 실현하기 위해 어댑터 서명을 확장하여 적용합니다.
2. 어댑터 서명과 크로스체인 아토믹 교환
2.1 슈노르 어댑터 서명과 아토믹 교환

<>< h2 style="text-align: 왼쪽;">2.2 ECDSA 어댑터 서명 및 원자 교환

2.2.1 영지식 증명 zk{v | Ṽ. = v ᐧ G, V = v ᐧ Y}

3. 보안 문제 및 해결 방법
3.1 난수 문제와 해결 방법
3.1.1 난수 유출 문제
슈노르/ECDSA 어댑터 서명의 사전 서명은 모두 난수 $r$를 커밋 Ȓ = r ᐧ G. 또한 영지식 증명은 난수 $Ṽ = v ᐧ G,V = v ᐧ Y$를 난수 $v$에 커밋합니다. 난수가 유출되면 개인 키가 유출됩니다.
특히, 슈노르 프로토콜에서는 난수 $r$이 유출되면 다음과 같은 방정식에 따라 사용할 수 있습니다
$ŝ = r + c x.$
개인키 $x$를 계산합니다.
유사하게 ECDSA 프로토콜에서 난수 $r$이 유출되면 다음 공식에 따라 개인 키 $x$를 계산할 수 있습니다
$ŝ = r^{-1}(hash(m)+R_x x)입니다.
$x$에서 개인키를 계산합니다.
마지막으로, 영지식 증명 프로토콜에서 난수 $v$가 유출되면 다음 방정식에 따라 $x$에서 개인 키를 계산할 수 있습니다
$z := v + c r.$
난수 $r$을 계산하고, 난수 $r$을 기반으로 개인 키 $x$를 추가로 계산합니다. 따라서 난수는 사용 후 즉시 삭제해야 합니다.
3.1.2 난수 재사용 문제
두 개의 크로스체인 트랜잭션에서 어댑터 서명 프로토콜이 동일한 난수를 사용할 경우 개인키 유출로 이어질 수 있습니다. 특히, 슈노르 프로토콜에서 동일한 난수 $r$을 사용하는 경우, 다음 방정식 집합에서 $r$과 $x$만 알 수 있습니다
$ ŝ_1 =r + c_1 x, $
& ŝ_2 = r + c_2 x. $
따라서 방정식 시스템을 풀면 개인 키 $x$를 얻을 수 있습니다.
유사하게, ECDSA 어댑터 서명 프로토콜에서 동일한 난수 $r$을 사용하는 경우 다음 방정식 체계에서 $r$과 $x$만 알 수 있습니다
$ ŝ_1 = r^{-1}(hash( m_1)+R_x x),$
$ ŝ_2 = r^{-1}(hash(m_2)+R_x x).
이렇게 방정식을 풀면 개인 키 $x$를 구할 수 있습니다.
마지막으로, 영지식 증명 프로토콜에서 동일한 난수 $v$를 사용하는 경우 다음 방정식 체계에서 $v$와 $r$만 알 수 있습니다
$z_1 = v+c_1 r, $
따라서 방정식 시스템을 풀면 난수 $r$을 구할 수 있고, 이를 더 풀면 개인 키 $x$를 구할 수 있습니다.
유추하자면, 동일한 난수를 사용하는 다른 사용자도 개인키를 유출할 수 있습니다. 즉, 동일한 난수를 사용하는 두 사용자가 방정식 시스템을 풀고 서로의 개인키를 얻을 수 있습니다. 따라서 난수 재사용 문제를 해결하려면 RFC 6979를 사용해야 합니다.
3.1.3 해결 방법: RFC 6979
RFC 6979는 DSA 및 ECDSA를 사용하여 결정론적 디지털 서명을 생성하는 방법을 지정하여 임의의 k 값을 생성하는 것과 관련된 보안 문제를 해결합니다. 보안 문제를 해결합니다. 기존의 DSA 및 ECDSA 서명은 각 서명 작업에 대해 무작위로 생성된 난수 k에 의존합니다. 이 난수가 재사용되거나 부적절하게 생성되면 개인 키의 보안이 손상될 수 있습니다. RFC 6979는 개인 키와 서명할 메시지에서 $k$를 결정론적으로 도출하여 난수를 생성할 필요가 없습니다. 따라서 동일한 개인 키를 사용하여 동일한 메시지에 서명할 때 서명이 항상 동일하므로 재현성과 예측 가능성이 향상됩니다. 구체적으로, 결정론적 $k$는 HMAC에 의해 생성됩니다. 이 과정에는 개인 키, 메시지, 카운터의 해시값을 계산하기 위한 해시 함수(예: SHA256)가 포함됩니다.
$k = SHA256(sk, msg, counter).
위 공식에서는 표현의 단순화를 위해 개인 키 sk, 메시지 msg, 카운터에 대해서만 해시를 계산하지만 실제 RFC 6979 계산 과정에는 더 많은 해시 계산이 포함됩니다. 이 방정식은 각 메시지마다 k가 고유하면서도 동일한 입력에 대해 재현이 가능하도록 보장하며, 취약하거나 손상된 난수 생성기와 관련된 개인 키 노출 위험을 줄여줍니다. 따라서 RFC 6979는 난수 생성과 관련된 중요한 보안 문제를 해결하고 디지털 서명의 신뢰성과 예측 가능성을 향상시키는 DSA 및 ECDSA를 사용하는 결정론적 디지털 서명을 위한 강력한 프레임워크를 제공합니다. 따라서 높은 보안과 엄격한 운영 요건 준수가 필요한 애플리케이션에 매우 중요한 표준이며, 슈노르/ECDSA 서명은 RFC 6979를 사용하여 보호해야 하는 난수 결함을 가지고 있습니다. 따라서 슈노르/ECDSA 기반 어댑터 서명도 이러한 문제를 겪고 있으며 이를 해결하기 위해 RFC 6979 사양을 사용해야 합니다.
3.2 크로스체인 시나리오 문제와 해결책
3.2.1 UTXO 및 계정 모델링 시스템의 이기종 문제와 해결책
3.2.2. 왼쪽;">그림 1에서 볼 수 있듯이 비트코인은 Secp256k1 커브를 기반으로 네이티브 ECDSA 서명을 구현하는 UTXO 모델을 채택하고 있으며, Bitlayer는 EVM 호환 비트코인 L2 체인으로, Secp256k1 커브를 채택하고 네이티브 ECDSA 서명을 지원합니다. 어댑터 서명은 BTC 거래소에 필요한 로직을 구현하는 반면, Bitlayer 거래소는 이더리움 스마트 컨트랙트의 힘으로 지원됩니다.
어댑터 서명에 기반한 크로스 체인 아토믹 스왑 또는 적어도 ECDSA 커브를 위해 설계된 세미 스크립트리스 어댑터 서명 체계는 이더와 호환되지 않습니다. 그 이유는 이더가 UTXO 모델이 아닌 계정 모델이기 때문입니다. 특히 어댑터 서명 기반 아토믹 교환에서는 환불 거래에 사전 서명이 필요합니다. 그러나 이더리움 시스템에서는 논스를 알지 못하면 트랜잭션에 사전 서명할 수 없습니다. 결과적으로 당사자가 사전 서명 완료와 트랜잭션 실행 사이에 트랜잭션을 전송할 수 있으며, 이는 사전 서명된 트랜잭션을 무효화합니다(논스가 이미 사용되어 재사용할 수 없기 때문입니다).
또한, 프라이버시 관점에서 볼 때 이는 비트레이어 스왑의 익명성이 HTLC보다 우수하다는 것을 의미합니다(스왑의 양측 모두 계약을 찾을 수 있음). 그러나 한쪽 당사자가 공개 컨트랙트를 보유해야 한다는 점 때문에 비트레이어 스왑은 어댑터 서명보다 익명성이 떨어집니다. 계약이 없는 쪽에서 스왑 거래는 다른 거래처럼 보입니다. 그러나 EVM 계약이 있는 쪽에서는 거래가 자산 스왑을 위한 것이 분명합니다. 한 쪽이 공개 계약을 가지고 있더라도 정교한 체인 분석 도구를 사용하더라도 다른 체인으로 역추적하는 것은 불가능합니다.

그림 1. UTXO와 계정 모델 이기종 시스템 간의 교차 체인 아토믹 교환
Bitlayer는 현재 네이티브 ECDSA 서명을 지원하며 스마트 컨트랙트를 통해 슈노르 서명 검증을 구현할 수도 있습니다. 네이티브 Bitlayer 트랜잭션을 사용하는 경우, 아토믹 거래소에서 환불 거래에 사전 서명할 수 없으며, 아토믹 거래소를 활성화하려면 Bitlayer 스마트 컨트랙트 트랜잭션이 필요합니다. 그러나 이 과정에서 개인 정보 보호가 희생됩니다. 즉, 아토믹 거래소와 관련된 거래는 Bitlayer 시스템에서 추적할 수 있지만 BTC 시스템에서의 거래는 추적할 수 없습니다. 토네이도 캐시와 같은 디앱 애플리케이션은 비트레이어 측에서 설계하여 BTC와 비트레이어 간 아토믹 익스체인지의 비트레이어 측 거래에 대한 프라이버시를 제공할 수 있습니다.
3.2.2 동일한 커브, 다른 알고리즘, 어댑터 서명 보안
그림 2와 같이 비트코인과 Bitlayer가 모두 Secp256k1 커브를 사용하고 있다고 가정해 보겠습니다. 비트코인은 슈노르 서명을 사용하고 Bitlayer는 ECDSA를 사용하며, 슈노르 및 ECDSA 어댑터 서명을 기반으로 보안이 입증된 경우입니다. ECDSA와 슈노르 서명 예측자가 주어진다고 가정하면, ECDSA를 위반하는 시뮬레이터 S를 구성하는 것이 가능합니다. ECDSA 서명 예측자만 주어진다면, ECDSA를 위반하는 시뮬레이터 S를 구성하는 것이 가능합니다. 그러나 ECDSA는 안전합니다. 마찬가지로 ECDSA와 슈노르 서명 예측기가 주어졌을 때 슈노르 서명을 무력화하는 시뮬레이터 S를 구성할 수 있다고 가정하면, ECDSA 서명 예측기만 주어졌을 때 슈노르 서명을 무력화하는 시뮬레이터 S를 구성할 수 있습니다. 그러나 슈노르 서명은 안전합니다. 따라서 크로스 체인 시나리오에서 어댑터 서명은 동일한 커브를 사용하지만 다른 서명 알고리즘을 사용할 때 안전합니다. 즉, 어댑터 서명을 사용하면 한쪽 끝은 ECDSA를 사용하고 다른 쪽 끝은 슈노르 서명을 사용할 수 있습니다.

그림 2. 동일한 커브, 다른 알고리즘, 어댑터 서명
3.2. .3 서로 다른 곡선, 안전하지 않은 어댑터 서명
비트코인은 Secp256k1 곡선과 ECDSA 서명을 사용하는 반면 Bitlayer는 ed25519 곡선과 슈노르 서명을 사용한다고 가정해 보겠습니다. 이 경우 어댑터 서명은 사용할 수 없습니다. 다른 곡선은 타원 곡선 그룹의 다른 순서, 즉 다른 모듈러스 계수로 이어집니다. bob은 비트코인 시스템에서 $y$를 ECDSA 서명에 적용할 때 $s:= ŝ+y$를 계산합니다. 이 시점에서 $y$의 값 공간은 Secp256k1 타원 곡선 그룹의 스칼라 공간입니다. 이후 앨리스는 $y$를 사용해 ed25519 타원 곡선 그룹에 슈노르 서명을 수행해야 합니다. 그러나 ed25519 커브 코사인은 8이고 모듈러스 계수는 Secp256k1 타원 커브 그룹의 모듈러스 계수와 같지 않습니다. 따라서 ed25519 커브의 슈노르 서명에 $y$를 사용하는 것은 안전하지 않습니다.
>
4. 디지털 자산 에스크로 신청
디지털 자산 에스크로에는 구매자 앨리스, 판매자 밥, 수탁자 세 명의 참여자가 있습니다. 어댑터 서명을 사용하면 비대화형 임계값 디지털 자산 에스크로를 사용할 수 있으며 상호 작용 없이 임계값 지출 정책의 하위 집합을 인스턴스화할 수 있습니다. 이 하위 집합은 초기화에 참여하는 참여자와 참여하지 않는 참여자의 두 가지 유형으로 구성되며, 후자를 에스크로 당사자라고 합니다. 수탁 당사자는 임의의 트랜잭션에 서명할 수 없으며, 지원되는 당사자 중 한 사람에게만 비밀을 전송합니다.
한편으로 수탁자는 몇 가지 고정 정산 거래 중에서만 선택할 수 있으며 다른 참여자 중 한 명과 새로운 거래에 서명할 수 없습니다. 따라서 이러한 비밀 해제 메커니즘은 비대화형 임계값 에스크로를 임계값 슈노르 서명보다 덜 유연하게 만듭니다. 반면에 임계값 슈노르 서명을 사용하여 2대 3 지출 정책을 설정할 수 있습니다. 그러나 임계값 슈노르 서명 프로토콜은 탈중앙화된 키 생성 프로토콜을 수행하기 위해 3자 작업이 필요합니다. 따라서 어댑터 서명 기반 자산 커스터디 프로토콜은 비대화형이라는 장점이 있습니다.
4.1 어댑터 서명에 기반한 비대화형 자산 커스터디

그림 3. 비대화형 어댑터 서명 기반 자산 에스크로
그림 3과 같이 앨리스와 밥은 에스크로 당사자를 포함하는 보이지 않는 전략으로 2대 3 트랜잭션 출력을 생성하려고 합니다. 조건 $c$에 따라 앨리스나 밥 중 한 명이 이 트랜잭션 출력을 사용할 수 있습니다. 앨리스와 밥 사이에 분쟁이 발생하면 수탁자 당사자(공개 키 $E$와 개인 키 $e$)가 앨리스와 밥 중 누가 자산을 가져갈지 결정합니다.
BTC를 앨리스와 밥 사이의 2대2 MuSig 출력으로 보내는 서명되지 않은 자금 조달 트랜잭션을 생성합니다.
< li>Alice는 임의의 값 $t_A$를 선택하고 $t_A ᐧ G$의 적응자를 가진 슈노르 사전 서명 $(\hat{R}_A,\hat{s}_A)$를 특정 거래에 대해 Bob에게 보냅니다. 트랜잭션은 자금 출력을 밥에게 보내는 것이며, 앨리스는 동시에 한 쌍의 비밀 $t_A$가 포함된 암호문을 밥에게 보내고 에스크로된 공개 키 $E$를 $E_c = E + hash(E, c)G$의 \textbf{검증 가능한 암호화}$C = Enc(E_c, t_A)$로 변환하는 것입니다. 밥이 앨리스의 사전 서명을 받고 자신의 서명을 추가하는 프로세스는 2대 2 뮤시그를 만족하지 않으므로 펀딩 출력을 사용할 수 없습니다. 밥이 $t_A$를 알고 있거나(관리자가 제공할 수 있음) 앨리스가 전체 서명을 추가로 서명하여 밥에게 보내는 경우에만 펀딩 출력을 사용할 수 있습니다.
. /li>
그렇다면 Bob은 자신의 어댑터 비밀 $t_B$를 기반으로 (2)단계를 반복합니다. 이 때 밥은 트랜잭션에 서명하여 펀딩 출력을 앨리스에게 보냅니다.
앨리스와 밥 모두 수신한 암호문의 유효성을 확인하여 암호문이 암호 $E_c$의 암호화임을 확인한 후 펀딩 트랜잭션에 서명하고 브로드캐스트합니다. . 검증 가능한 암호화를 사용하면 설정 단계에 관리자가 관여할 필요가 없으며 컨트랙트 $c$를 공개할 필요가 없습니다.
>분쟁이 발생하면 앨리스와 밥은 에스크로 당사자에게 암호문과 조건 c를 전송하고, 이 당사자는 실제 상황을 판단한 후 조정된 개인 키 $e+hash(E, c)$를 사용해 $t_A/t_B$를 해독하여 밥/앨리스에게 보낼 수 있습니다.
공개 계약 $c$가 필요 없습니다. Alice.
분쟁이 없다면 Alice와 Bob은 2대2 MuSig 출력을 원하는 대로 사용할 수 있습니다.
분쟁이 있다면 어느 쪽이든 관리자에게 연락하여 어댑터 비밀 $t_A 또는 $t_B$를 요청할 수 있습니다. 그 결과 당사자 중 한 명이 관리자의 도움을 받아 어댑터 서명을 완료하고 해당 결제 트랜잭션을 브로드캐스트할 수 있습니다.
4.2 검증 가능한 암호화
실질적인 검증 가능한 암호화와 이산 로그의 복호화)는 특수하게 구조화된 그룹의 검증만 지원하기 때문에 Secp256k1 어댑터와 함께 사용할 수 없습니다.
현재, Secp256k1 이산을 기반으로 검증 가능한 암호화를 수행하는 두 가지 유망한 방법이 있습니다. 로그 기반의 검증 가능한 암호화를 위한 두 가지 방법, 즉 Purify와 저글링이 있습니다.
Purify는 원래 결정론적 논스(DN)를 사용하여 MuSig 프로토콜을 만들기 위해 제안되었으며, 각 서명자가 영지식(zero-knowledge)을 사용하여 자신의 논스가 공개 키와 메시지에 의사 랜덤 함수(PRF)를 정확하게 적용한 결과임을 증명하도록 요구합니다. )를 공개 키와 메시지에 올바르게 적용했는지 증명할 수 있습니다.PRF를 푸는 것은 Secp256k1에서 이산 로그에 대해 검증 가능한 암호화 체계를 만들기 위해 Bulletproofs 영지식 프로토콜의 산술 회로에서 효율적으로 구현할 수 있습니다. 즉, 검증 가능한 암호화를 구현하려면 zkSnark를 사용하세요.
저글링 암호화는 네 단계로 구성됩니다: (1) 이산 로그 $x$를 길이 $l$의 여러 조각 $x_k$로 분할하여 $x = \sum _k 2^{(k-1)l} x_k$가 되도록 (2) 조각 $x_k$에 공개 키 $Y를 사용함. ᐧ G$ 에 대한 ElGamal 암호화 $\{ D_k, E_k\} = \{ x_k ᐧ G + r_k ᐧ Y, r_k ᐧ G \}$; (3) 공개 키 $Y$ 를 사용하여 각 $x_k. k ᐧ G$를 암호화하여 $D_k$가 $2^l$보다 작은 값을 갖는 페더슨 커미트먼트 $x_k ᐧ G + r_k ᐧ Y$라는 범위 증명을 생성합니다; (4) 시그마 프로토콜을 사용하여 $\{ sum D_k, sum E_k\}$ 가 $x_k ᐧ G$ 의 올바른 암호화임을 증명합니다.
복호화 과정에서는 각 $x_k ᐧ G$가 $\{D_k, E_k\}$에 대해 복호화된 다음 $x_k$($[0, 2^l)$ 범위의 값)를 찾기 위해 철저한 검색이 수행됩니다.
Purify는 방탄 내에서 PRF를 수행해야 하므로 상대적으로 복잡한 반면, 저글링은 이론적으로 더 간단합니다. 또한 증명 크기, 증명 기간 및 검증 기간에서 둘 사이의 차이는 매우 작습니다.
5. 요약
이 백서에서는 슈노르/ECDSA 어댑터 서명과 교차 체인 원자 교환의 원리에 대해 자세히 설명합니다. 어댑터 서명이 난수 유출 문제, 중복 문제를 겪고 있는 것을 심층적으로 분석하고 이러한 문제를 해결하기 위해 RFC 6979의 사용을 제안합니다. 또한, 크로스체인 적용 시나리오를 상세히 분석하여 블록체인의 UTXO 모델과 계정 모델의 차이점뿐만 아니라 어댑터 서명이 다른 알고리즘과 다른 커브를 지원하는지 여부에 대한 문제도 고려해야 한다고 주장합니다. 마지막으로 비대화형 디지털 자산 수탁을 실현하기 위해 어댑터 서명을 확장하여 적용하고, 관련된 암호화 기본 요소인 검증 가능한 암호화에 대해 간략하게 소개합니다.
참고자료
Gugger J. 비트코인-모네로 교차 체인 원자 스왑[J]. 암호학 전자 인쇄 아카이브, 2020.
Fournier L. 일회성 검증 가능하게 암호화된 서명, 일명 어댑터 signatures[J]. 2019, 2019.
https://crypto-in-action.github.io/ecdsa-blockchain-dangers/190816-secp256k1- ecdsa-dangers.pdf
포르닌 T. 디지털 서명 알고리즘(DSA)의 결정론적 사용 및 타원형 곡선 디지털 서명 알고리즘(ECDSA)[R]. 2013.
콤로 C, 골드버그 I. FROST: 유연한 라운드 최적화 슈노르 임계값 서명[C]//Selected 암호화 분야: 제27회 국제 컨퍼런스, 핼리팩스, NS, 캐나다(가상 이벤트), 2020년 10월 21-23일, 선택된 논문 수정본 27. Springer 국제 출판, 2021: 34-65.
https://github.com/BlockstreamResearch/scriptless- scripts/blob/master/md/NITE.md
https://particl.news/the-dex-revolution-basicswap-and- private-ethereum-swaps/
카메니쉬 J, 슈프 V. 실용적인 검증 가능한 암호화 및 복호화 이산 로그[C]//연례 국제 암호학 컨퍼런스. 베를린, 하이델베르크: Springer Berlin Heidelberg, 2003: 126-144.
< li>Nick J, Ruffing T, Seurin Y, 외. MuSig-DN: 검증 가능한 결정론적 비조건을 가진 슈노르 다중 서명[C]//. 2020 컴퓨터 및 통신 보안에 관한 2020 ACM SIGSAC 컨퍼런스 프로시딩. 2020: 1717-1731.
Shlomovits O, Leiba O. 저글링스왑: 스크립트리스 원자 교차 체인 스왑[J]. arXiv 사전 인쇄 arXiv:2007.14423, 2020.