비트코인과 Layer2 자산의 크로스 체인 기술 분석

산업 속보
2024-08-05 21:01:57
수집
본 문서는 Schnorr/ECDSA 적응기 서명의 블록체인에서의 응용에 대한 보안 문제, 구현 세부 사항 및 크로스 체인 원자 교환에서의 응용을 자세히 논의합니다.

원문 제목:Adaptor Signatures and Its Application to Cross-Chain Atomic Swaps

원문 저자: mutourend,lynndell

서론

비트코인 Layer2 확장 솔루션의 빠른 발전에 따라 비트코인과 그 Layer2 대응 네트워크 간의 크로스 체인 자산 이동 빈도가显著하게 증가하고 있습니다. 이러한 추세는 Layer2 기술(예: Bitlayer)이 제공하는 더 높은 확장성, 더 낮은 거래 수수료 및 높은 처리량에 의해 촉진되고 있습니다. 이러한 발전은 더 효율적이고 경제적인 거래를 촉진하여 비트코인이 다양한 응용 프로그램에서 더 널리 채택되고 통합되도록 합니다. 따라서 비트코인과 Layer2 네트워크 간의 상호 운용성은 암호화폐 생태계의 핵심 구성 요소가 되어 혁신을 촉진하고 사용자에게 더 다양하고 강력한 금융 도구를 제공합니다.

표 1과 같이 비트코인과 Layer2 간의 크로스 체인 거래에는 중앙 집중식 크로스 체인 거래, BitVM 크로스 체인 브리지 및 크로스 체인 원자 교환의 세 가지 전형적인 솔루션이 있습니다. 이 세 가지 기술은 신뢰 가정, 보안성, 편리성, 거래 한도 등에서 각각 다르며 다양한 응용 요구를 충족할 수 있습니다.

표 1. 크로스 체인 거래 기술 비교

중앙 집중식 크로스 체인 거래:사용자는 먼저 비트코인을 중앙 집중식 기관(예: 프로젝트 팀 또는 거래소)에 지불하고, 중앙 집중식 기관은 Layer2 네트워크에서 사용자 지정 주소로 동등한 자산을 지불하여 크로스 체인 자산 이동을 완료합니다. 이 기술의 장점은 속도가 빠르고 중개 과정이 상대적으로 용이하다는 것입니다. 중앙 집중식 기관이 거래를 신속하게 확인하고 처리할 수 있기 때문입니다. 그러나 이 방법의 보안성은 전적으로 중앙 집중식 기관의 신뢰성과 평판에 의존합니다. 중앙 집중식 기관이 기술적 결함, 악의적 공격 또는 위반에 직면할 경우 사용자의 자금은 높은 위험에 처할 수 있습니다. 또한 중앙 집중식 크로스 체인 거래는 사용자의 개인 정보를 유출할 수 있으므로 사용자는 이러한 방법을 선택할 때 신중하게 고려해야 합니다. 따라서 편리함과 효율성이 사용자에게 큰 편의를 제공하지만, 보안성과 신뢰는 중앙 집중식 크로스 체인 거래가 직면한 주요 도전 과제가 됩니다.

BitVM 크로스 체인 브리지: 이 기술은 상대적으로 복잡합니다. 먼저, Peg-in 단계에서 사용자는 비트코인을 BitVM 연합이 제어하는 다중 서명 주소에 지불하여 비트코인을 잠급니다. Layer2에서 해당 수량의 토큰을 발행하고 이 토큰을 사용하여 Layer2 거래 및 응용 프로그램을 수행합니다. 사용자가 Layer2 토큰을 소각할 때, 운영자가 비용을 부담합니다. 그 후, 운영자는 BitVM 연합이 제어하는 다중 서명 풀에서 해당 수량의 비트코인을 상환합니다. 운영자의 악의적인 행동을 방지하기 위해 상환 과정은 낙관적 도전 메커니즘을 사용합니다. 즉, 임의의 제3자가 악의적인 상환 행위에 도전할 수 있으며, 악의적인 행동을 저지할 수 있습니다. 이 기술은 낙관적 도전 메커니즘을 도입하므로 기술적으로 상대적으로 복잡합니다. 또한, 낙관적 도전 메커니즘은 많은 도전 및 응답 거래를 포함하므로 거래 수수료가 높습니다. 따라서 BitVM 크로스 체인 브리지는 초대형 거래에만 적합하며, U의 증발과 유사하여 사용 빈도가 낮습니다.

크로스 체인 원자 교환: 원자 교환은 탈중앙화된 암호화폐 거래를 구현하는 계약입니다. 이 경우 "원자"는 자산 소유권의 변경이 실제로는 다른 자산 소유권의 변경을 의미합니다. 이 개념은 2013년 TierNolan이 Bitcointalk 포럼에서 처음 제안했습니다. 4년 동안 원자 교환은 이론적 영역에 머물렀습니다. 2017년까지 Decred와 Litecoin이 최초로 원자 교환을 성공적으로 완료한 블록체인 시스템이 되었습니다. 원자 교환은 두 당사자가 반드시 관련되어야 하며, 어떤 제3자도 교환 과정을 중단하거나 방해할 수 없습니다. 이는 이 기술이 탈중앙화되고 검열을 받지 않으며, 좋은 개인 정보 보호 기능을 가지고 있으며, 고빈도 크로스 체인 거래를 실현할 수 있음을 의미합니다. 따라서 탈중앙화 거래소에서 널리 사용됩니다. 현재 크로스 체인 원자 교환은 4건의 거래가 필요하며, 일부 솔루션은 거래 수를 2건으로 압축하려고 시도하지만, 교환 당사자에 대한 실시간 온라인 요구 사항을 증가시킵니다. 마지막으로, 크로스 체인 원자 교환 기술은 해시 시간 잠금 및 적응기 서명을 포함합니다.

해시 시간 잠금(HTLC)을 기반으로 한 크로스 체인 원자 교환: 최초로 크로스 체인 원자 교환을 성공적으로 구현한 프로젝트는 Decred로, "해시 잠금"과 "시간 잠금"을 활용하여 TierNolan이 제안한 원자 교환을 체인 상 스크립트(또는 스마트 계약)를 통해 구현했습니다. HTLC는 두 사용자가 시간 제한이 있는 암호화폐 거래를 수행할 수 있도록 합니다. 즉, 수신자는 규정된 시간 내에(블록 수 또는 블록 높이로 결정됨) 계약에 암호 증명("비밀")을 제출해야 하며, 그렇지 않으면 자금이 발신자에게 반환됩니다. 수신자가 지불을 확인하면 거래가 성공적으로 완료됩니다. 따라서 참여하는 두 블록체인은 모두 "해시 잠금"과 "시간 잠금" 기능을 가져야 합니다.

HTLC 원자 교환은 탈중앙화 교환 기술 분야의 중요한 돌파구이지만, 다음과 같은 문제가 존재합니다. 이러한 원자 교환 거래 및 관련 데이터는 모두 체인 상에서 이루어지므로 사용자 개인 정보가 유출됩니다. 다시 말해, 매번 교환할 때 두 블록체인에서 동일한 해시 값이 나타나며, 단지 몇 개의 블록만 차이가 납니다. 이는 관찰자가 교환에 참여하는 통화를 연결할 수 있음을 의미합니다. 즉, 서로 가까운 블록에서 동일한 해시 값을 찾을 수 있습니다(시간 스탬프 기준). 크로스 체인에서 통화를 추적할 때 출처를 쉽게 확인할 수 있습니다. 이러한 분석이 관련된 신원 데이터를 드러내지는 않지만, 제3자는 관련된 참여자의 신원을 쉽게 추론할 수 있습니다.

적응기 서명을 기반으로 한 크로스 체인 원자 교환: BasicSwap에서 제공하는 두 번째 교환은 "적응기 서명" 원자 교환이라고 하며, Monero 개발자 Joël Gugger가 2020년에 발표한 "Bitcoin--Monero Cross-chain Atomic Swap" 논문을 기반으로 합니다. 이 논문은 Lloyd Fournier의 2019년 논문 "One-Time Verifiably Encrypted Signatures, A.K.A. Adaptor Signatures"의 일종의 구현이라고 할 수 있습니다. 적응기 서명은 초기 서명과 결합하여 비밀 데이터를 표시하는 추가 서명으로, 양측이 서로 두 부분의 데이터를 동시에 공개할 수 있도록 하며, Monero 원자 교환 쌍을 가능하게 하는 스크립트리스 프로토콜의 핵심 구성 요소입니다.

HTLC 원자 교환과 비교할 때, 적응기 서명을 기반으로 한 원자 교환에는 3가지 장점이 있습니다. 첫째, 적응기 서명 교환 솔루션은 "비밀 해시" 교환이 의존하는 체인 상 스크립트(시간 잠금 및 해시 잠금 포함)를 대체합니다. 다시 말해, HTLC 교환의 비밀과 비밀 해시는 적응기 서명 교환에서 직접적인 대응 관계가 없습니다. 따라서 비트코인 연구계에서는 "스크립트리스 스크립트"라고 불립니다. 또한, 이러한 스크립트가 포함되지 않기 때문에 체인 상의 공간 점유가 줄어들어 적응기 서명을 기반으로 한 원자 교환이 더 가벼워지고 비용이 더 낮아집니다. 마지막으로, HTLC는 각 체인이 동일한 해시 값을 사용해야 하지만, 적응기 서명의 원자 교환에 관련된 거래는 연결될 수 없어 개인 정보 보호를 실현합니다.

이 문서는 먼저 Schnorr / ECDSA 적응기 서명과 크로스 체인 원자 교환 원리를 소개합니다. 그런 다음 적응기 서명에서 존재하는 난수 보안 문제와 크로스 체인 시나리오에서의 시스템 이질성과 알고리즘 이질성 문제를 분석하고 해결책을 제시합니다. 마지막으로 적응기 서명의 확장 응용을 통해 비상호작용 디지털 자산 관리 구현을 다룹니다.

적응기 서명과 크로스 체인 원자 교환

2.1 Schnorr 적응기 서명과 원자 교환

2.2 ECDSA 적응기 서명과 원자 교환

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

보안 문제와 해결책

3.1 난수 문제와 해결책

3.1.1 난수 유출 문제

Schnorr / ECDSA 적응기 서명의 사전 서명은 모두 난수 r에 대한 약속을 포함합니다: Ȓ = r ᐧ G. 또한, 제로 지식 증명에서 난수 v에 대한 약속은 Ṽ= v ᐧ G, V = v ᐧ Y입니다. 난수가 유출되면 개인 키가 유출될 수 있습니다.

구체적으로, Schnorr 프로토콜에서 난수 r이 유출되면 다음 방정식에 따라 개인 키 x를 계산할 수 있습니다.

ŝ = r + cx

마찬가지로, ECDSA 프로토콜에서 난수 r이 유출되면 다음 방정식에 따라 개인 키 x를 계산할 수 있습니다.

ŝ = r \^{-1}( hash ( m )+ R _ x x )

마지막으로, 제로 지식 증명 프로토콜에서 난수 v가 유출되면 다음 방정식에 따라 난수 r을 계산할 수 있습니다.

z := v + cr

따라서 난수 r을 기반으로 개인 키 x를 계산할 수 있습니다. 따라서 난수를 사용한 후 즉시 삭제해야 합니다.

3.1.2 난수 재사용 문제

임의의 두 크로스 체인 거래에서 적응기 서명 프로토콜이 동일한 난수를 사용하면 개인 키가 유출됩니다. 구체적으로, Schnorr 프로토콜에서 동일한 난수 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 ,

z _2 = v + c _2 r .

따라서 방정식을 해결하여 난수 r을 얻을 수 있으며, 이를 통해 개인 키 x를 얻을 수 있습니다.

이와 같이 서로 다른 사용자가 동일한 난수를 사용하면 개인 키가 유출될 수 있습니다. 다시 말해, 동일한 난수를 사용하는 두 사용자는 방정식을 해결하여 서로의 개인 키를 얻을 수 있습니다. 따라서 RFC 6979를 사용하여 난수 재사용 문제를 해결해야 합니다.

3.1.3 해결책: RFC 6979

RFC 6979는 DSA 및 EC DSA를 사용하여 결정론적 디지털 서명을 생성하는 방법을 지정하여 난수 k 생성과 관련된 보안 문제를 해결합니다. 전통적인 DSA 및 EC DSA 서명은 매번 서명 작업에서 무작위로 생성된 난수 k에 의존합니다. 이 난수가 재사용되거나 잘못 생성되면 개인 키의 보안이 위협받을 수 있습니다. RFC 6979는 개인 키와 서명할 메시지에서 결정론적으로 k를 도출하여 난수 생성의 필요성을 제거합니다. 이는 동일한 개인 키로 동일한 메시지를 서명할 때 서명이 항상 동일함을 보장하여 재현성과 예측 가능성을 강화합니다. 구체적으로, 결정론적 k는 HMAC에 의해 생성됩니다. 이 과정은 해시 함수(예: SHA256)를 사용하여 개인 키, 메시지 및 카운터의 해시 값을 계산합니다.

k = SHA256 (s k , msg , counter )

위의 방정식에서 간결성을 위해 개인 키 s k, 메시지 msg 및 카운터 counter의 해시 값만 계산하였으며, 실제 RFC 6979의 계산 과정은 더 많은 해시 계산을 포함합니다. 이 방정식은 k가 각 메시지에 대해 고유하며, 동일한 입력에 대해 재현 가능성을 가지며, 약한 또는 손상된 난수 생성기와 관련된 개인 키 노출 위험을 줄입니다. 따라서 RFC 6979는 DSA 및 EC DSA의 결정론적 디지털 서명에 대한 강력한 프레임워크를 제공하여 난수 생성과 관련된 주요 보안 문제를 해결하고 디지털 서명의 신뢰성과 예측 가능성을 강화합니다. Schnorr / EC DSA 서명에는 난수 결함이 있으므로 RFC 6979를 사용하여 방지해야 합니다. 따라서 Schnorr / EC DSA를 기반으로 한 적응기 서명도 이러한 문제를 가지고 있으며, 이러한 문제를 해결하기 위해 RFC 6979 규격을 사용해야 합니다.

3.2 크로스 체인 시나리오 문제와 해결책

3.2.1 UTXO와 계좌 모델 시스템 이질성 문제와 해결책

그림 1과 같이 비트코인은 UTXO 모델을 채택하고 있으며, Secp256 k1 곡선을 기반으로 네이티브 ECDSA 서명을 구현합니다. Bitlayer는 EVM 호환 비트코인 L2 체인으로, Secp256 k1 곡선을 사용하여 네이티브 ECDSA 서명을 지원합니다. 적응기 서명은 BTC 교환에 필요한 논리를 구현하며, Bitlayer 교환의 대응자는 이더리움 스마트 계약의 강력한 기능에 의해 지원됩니다.

적응기 서명을 기반으로 한 크로스 체인 원자 교환, 또는 적어도 ECDSA 곡선을 위해 설계된 반 스크립트리스 적응기 서명 솔루션은 이더리움과 호환되지 않습니다. 그 이유는 이더리움이 계좌 모델을 기반으로 하고 있기 때문입니다. 구체적으로, 적응기 서명을 기반으로 한 원자 교환에서 환불 거래는 사전에 서명되어야 합니다. 그러나 이더리움 시스템에서는 nonce를 알지 못하면 거래를 사전에 서명할 수 없습니다. 따라서 한쪽은 사전 서명이 완료된 후 거래를 실행하는 동안 거래를 보낼 수 있습니다. 이는 사전 서명된 거래가 무효화되게 만듭니다(Nonce가 이미 사용되었기 때문에 재사용할 수 없습니다).

또한 개인 정보 보호 측면에서 Bitlayer 스왑의 익명성이 HTLC보다 우수하다는 것을 의미합니다(스왑의 양측 모두 계약을 찾을 수 있습니다). 그러나 한쪽에 공개 계약이 필요하기 때문에 Bitlayer 스왑의 익명성은 적응기 서명의 익명성보다 낮습니다. 계약이 없는 쪽에서는 스왑 거래가 다른 거래와 동일하게 보입니다. 그러나 EVM 계약이 있는 쪽에서는 거래가 자산 스왑을 위한 것임이 명백합니다. 한쪽에 공개 계약이 있지만, 복잡한 체인 분석 도구를 사용하더라도 다른 체인으로 추적하는 것은 불가능합니다.

그림 1. UTXO와 계좌 모델 이질 시스템 크로스 체인 원자 교환

Bitlayer는 현재 네이티브 ECDSA 서명을 지원하며, 스마트 계약을 통해 Schnorr 서명 검증을 구현할 수 있습니다. 원래 Bitlayer 거래를 사용할 경우, 원자 교환에서 환불 거래를 사전 서명할 수 없습니다. Bitlayer 스마트 계약 거래를 사용해야 원자 교환을 구현할 수 있습니다. 그러나 이 과정은 개인 정보 보호를 희생하게 되며, Bitlayer 시스템에서 원자 교환에 참여하는 거래는 추적 가능하지만 BTC 시스템의 거래는 추적할 수 없습니다. Bitlayer 측에서는 Tornado Cash와 유사한 Dapp 응용 프로그램을 설계하여 BTC와 Bitlayer 간의 원자 교환에서 Bitlayer 측 거래에 대한 개인 정보 서비스를 제공할 수 있습니다.

3.2.2 동일한 곡선, 다른 알고리즘, 적응기 서명 보안

그림 2와 같이 비트코인과 Bitlayer가 모두 Secp256 k1 곡선을 사용한다고 가정하되, 비트코인은 Schnorr 서명을 사용하고 Bitlayer는 ECDSA를 사용한다고 가정합니다. 이 경우, Schnorr와 ECDSA를 기반으로 한 적응기 서명은 증명 가능한 안전성을 가집니다. ECDSA와 Schnorr 서명 예언자가 주어졌을 때, ECDSA를 공격하기 위해 시뮬레이터 S를 구성할 수 있습니다. 그러면 ECDSA 서명 예언자만 주어졌을 때, ECDSA를 공격하기 위해 시뮬레이터 S를 구성할 수 있습니다. 그러나 ECDSA는 안전합니다. 마찬가지로 ECDSA와 Schnorr 서명 예언자가 주어졌을 때, Schnorr 서명을 공격하기 위해 시뮬레이터 S를 구성할 수 있습니다. 그러면 ECDSA 서명 예언자만 주어졌을 때, Schnorr 서명을 공격하기 위해 시뮬레이터 S를 구성할 수 있습니다. 그러나 Schnorr 서명은 안전합니다. 따라서 크로스 체인 시나리오에서 적응기 서명이 동일한 곡선을 사용하지만 서명 알고리즘이 다르면 안전합니다. 다시 말해, 적응기 서명은 한쪽에서 ECDSA를 사용하고 다른 쪽에서 Schnorr 서명을 사용할 수 있습니다.

그림 2. 동일한 곡선, 다른 알고리즘, 적응기 서명

3.2.3 다른 곡선, 적응기 서명 불안전

비트코인이 Secp256 k1 곡선과 ECDSA 서명을 사용하고, Bitlayer가 ed25519 곡선과 Schnorr 서명을 사용하는 경우를 가정합니다. 이 경우 적응기 서명을 사용할 수 없습니다. 곡선이 다르기 때문에 타원 곡선 군의 차수가 다르며, 즉 모듈 계수가 다릅니다. Bob이 비트코인 시스템에서 y를 ECDSA 서명에 적응시킬 때, s := ŝ + y를 계산합니다. 이때 y의 값 공간은 Secp256 k1 타원 곡선 군의 스칼라 공간입니다. 그 후, Alice는 y를 사용하여 ed25519 타원 곡선 군에서 Schnorr 서명을 수행해야 합니다. 그러나 ed25519 곡선의 여인자는 8이며, 모듈 계수가 Secp256 k1 타원 곡선 군의 모듈 계수와 같지 않습니다. 따라서 y를 ed25519 곡선에서 Schnorr 서명에 사용하는 것은 안전하지 않습니다.

디지털 자산 관리 응용

디지털 자산 관리에는 세 가지 참여자가 있으며, 각각 구매자 Alice, 판매자 Bob 및 관리자가 있습니다. 적응기 서명을 사용하면 비상호작용 임계 디지털 자산 관리를 구현할 수 있으며, 상호작용 없이 임계 지출 전략의 하위 집합을 인스턴스화할 수 있습니다. 이 하위 집합은 초기화에 참여하는 참여자와 초기화에 참여하지 않는 참여자로 구성되며, 후자는 관리자로 불립니다. 관리자는 임의의 거래에 서명할 수 없으며, 지원되는 한쪽에만 비밀을 전송할 수 있습니다.

한편, 관리자는 몇 가지 고정된 결제 거래 중에서 선택할 수만 있으며, 다른 참여자 중 한 명과 새로운 거래를 서명할 수 없습니다. 따라서 이러한 비밀 해제 메커니즘은 비상호작용 임계 관리의 유연성이 임계 Schnorr 서명보다 떨어지게 만듭니다. 반면, 임계 Schnorr 서명을 사용하여 2- of -3 지출 전략을 설정할 수 있습니다. 그러나 임계 Schnorr 서명 프로토콜은 세 당사자가 분산 키 생성 프로토콜을 실행해야 합니다. 따라서 적응기 서명을 기반으로 한 자산 관리 프로토콜은 비상호작용의 장점을 가지고 있습니다.

4.1 적응기 서명을 기반으로 한 비상호작용 자산 관리

그림 3. 적응기 서명을 기반으로 한 비상호작용 자산 관리

그림 3과 같이 Alice와 Bob은 관리자가 포함된 2- of -3 거래 출력을 생성하고자 합니다. 조건 c에 따라 Alice 또는 Bob이 해당 거래 출력을 사용할 수 있습니다. Alice와 Bob 간에 분쟁이 발생하면 관리자가(공개 키 E, 개인 키 e) Alice 또는 Bob이 해당 자산을 얻도록 결정합니다.

  1. 서명되지 않은 자금 거래를 생성하여 BTC를 Alice와 Bob 간의 2- of -2 MuSig 출력으로 전송합니다.

  2. Alice는 임의의 값 t _ A를 선택하고, 특정 거래의 적응기를 t _ A ᐧ G의 Schnorr 사전 서명(\ha t { R }_ A ,\ha t { s }_ A )으로 Bob에게 전송합니다. 이 거래는 자금 출력을 Bob에게 전송하는 것입니다. Alice는 동시에 Bob에게 비밀 t _ A에 대한 암호문을 전송하고, 관리 공개 키 E를 E _ c = E + ha s h( E , c ) G로 조정하여 \textbf{검증 가능한 암호화} C = E n c ( E _ c , t _ A )를 제공합니다. 이 과정에서 Bob은 Alice의 사전 서명을 받은 후 자신의 서명을 추가하지만, 2- of -2 MuSig를 충족하지 않으므로 자금 출력을 사용할 수 없습니다. Bob이 t _ A를 알거나(관리자가 제공할 수 있음) Alice가 전체 서명을 추가로 서명하여 Bob에게 전송해야만 자금 출력을 사용할 수 있습니다.

  3. 이에 상응하여 Bob은 자신의 적응기 비밀 t _ B를 기반으로 단계(2)를 반복합니다. 이때 Bob이 서명한 거래는 자금 출력을 Alice에게 전송하는 것입니다.

  4. Alice와 Bob은 모두 수신한 암호문의 유효성을 검증하고, 암호문이 E _ c에 대한 비밀의 암호화임을 확인하여 자금 거래에 서명하고 방송합니다. 검증 가능한 암호화는 설정 단계에서 관리자가 참여할 필요가 없으며, 공개 계약 c도 필요하지 않습니다.

  5. 분쟁이 발생하면 Alice와 Bob은 암호문과 조건 c를 관리자로 전송할 수 있으며, 관리자는 실제 상황에 따라 판결을 내리고 조정된 개인 키 e + hash ( E , c )를 사용하여 t _ A / t _ B를 Bob / Alice에게 전송합니다.

분쟁이 없으면 Alice와 Bob은 원하는 대로 2- of -2 MuSig 출력을 사용할 수 있습니다. 분쟁이 발생하면 어느 한쪽이든 관리자를 연락하여 적응기 비밀 t _ A 또는 t _ B를 요청할 수 있습니다. 따라서 한쪽은 관리자의 도움을 받아 해당 적응기 서명을 완료하고 결제 거래를 방송할 수 있습니다.

4.2 검증 가능한 암호화

이산 로그 기반의 고전적인 검증 가능한 암호화 솔루션(Practical Verifiable Encryption and Decryption of Discrete Logarithms)은 Secp256k1 적응기에 사용할 수 없습니다. 이는 특수 구조화된 그룹만 지원하기 때문입니다.

현재 Secp256k1 이산 로그를 기반으로 검증 가능한 암호화를 수행하는 두 가지 유망한 방법이 있으며, 각각 PurifyJuggling입니다.

Purify는 결정론적 nonce(DN)를 갖는 MuSig 프로토콜을 생성하기 위해 처음 제안되었으며, 각 서명자가 제로 지식 증명을 사용하여 자신의 nonce가 공개 키와 메시지에 올바르게 적용된 결과임을 증명해야 합니다. Purify PRF는 Bulletproofs 제로 지식 프로토콜의 산술 회로에서 효율적으로 구현되어 Secp256k1에서 이산 로그를 생성하는 검증 가능한 암호화 솔루션을 만듭니다. 다시 말해, zkSnark를 사용하여 검증 가능한 암호화를 구현합니다.

Juggling 암호화는 네 단계로 구성됩니다: (1) 이산 로그 x를 길이 l의 여러 조각 x_k로 나누어 x = \sum _k 2\^{(k-1)l} xk로 만듭니다; (2) 공개 키 Y를 사용하여 조각 xk ᐧ G를 ElGamal로 암호화합니다: \{ Dk, Ek\} = \{ xk ᐧ G + rk ᐧ Y, rk ᐧ G \}; (3) 각 xk ᐧ G에 대해 범위 증명을 생성하여 Dk가 Pedersen 약속 xk ᐧ G + rk ᐧ Y임을 증명하고 그 값이 2\^l보다 작음을 증명합니다; (4) sigma 프로토콜을 사용하여 \{sum Dk, sum Ek\}가 xk ᐧ G의 올바른 암호화임을 증명합니다.

복호화 과정에서는 \{ D _ k , E _ k \}를 복호화하여 각 x _ k ᐧ G를 얻고, x _ k를 찾기 위해 범위를 탐색합니다(값 범위는 [0, 2\^ l )입니다).

Purify는 Bulletproofs 내에서 PRF를 실행해야 하므로 상대적으로 복잡하며, Juggling은 이론적으로 더 간단합니다. 또한 두 방법 간의 증명 크기, 증명 시간 및 검증 시간의 차이는 매우 작습니다.

결론

이 문서는 Schnorr / ECDSA 적응기 서명과 크로스 체인 원자 교환의 원리를 자세히 설명합니다. 적응기 서명에서 난수 유출 문제와 재사용 문제를 심층 분석하고, RFC 6979를 사용하여 이러한 문제를 해결할 것을 제안합니다. 또한 크로스 체인 응용 시나리오에서 블록체인의 UTXO 모델과 계좌 모델 간의 차이뿐만 아니라 적응기 서명이 서로 다른 알고리즘 및 곡선을 지원하는지 여부를 고려해야 함을 상세히 분석합니다. 마지막으로 적응기 서명의 확장 응용을 통해 비상호작용 디지털 자산 관리를 구현하고, 관련된 암호학적 원리인 검증 가능한 암호화에 대해 간단히 소개합니다.

참고 문헌

  1. Gugger J. Bitcoin - monero cross - chain atomic swap [ J ]. Cryptology ePrint Archive, 2020.

  2. Fournier L. One - time verifiably encrypted signatures aka adaptor signatures [ J ]. 2019, 2019.

  3. https :// crypto - in - act io n . github . io / ecdsa -blockcha in - dangers /190816- secp256 k1 - ecdsa - dangers . pdf

  4. Pornin T. Deterministic usage of the digital signature algorithm ( DSA ) and elliptic curve digital signature algorithm (EC DSA )[ R ]. 2013.

  5. Komlo C, Goldberg I. FROST : flexible round - optimized Schnorr threshold signatures [ C ]// Selected Areas in C ryptography: 27th I nternational C onference, Halifax , NS , C anada ( Virtual Event ), October 21-23, 2020, Revised Selected Papers 27. Spr in ger I nternational Publish in g, 2021: 34-65.

  6. https :// github . com / BlockstreamResearch / scriptless - scripts / blob / master / md / NITE . md

  7. https :// particl . news / the - dex - revolution - basicswap - and - private -e the reum- swaps /

  8. C amenisch J, Shoup V. Practical verifiable encryption and decryption of discrete logarithms [ C ]// Annual International C ryptology C onference. Berlin , Heidelberg : Springer Berlin Heidelberg , 2003: 126-144.

  9. Nick J, Ruffing T, Seurin Y, et al. MuSig - DN : Schnorr multi - signatures with verifiably d et erministic n on ces [ C ]// Proceedings of the 2020 A C M SIGSA C C on ference on C omputer and C ommunicati on s Security. 2020: 1717-1731.

  10. Shlomovits O, Leiba O. J ugglingswap : scriptless atomic cross - chain swaps [ J ]. arXiv preprint arXiv :2007.14423, 2020.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축