미스릴 이해하기

https://cexplorer.io/article/understanding-mithril

미스릴은 Cardano 메인넷에 게시되어 있습니다. 미스릴의 작동 원리와 용도에 대해 설명하겠습니다.

믿지 말고 확인하세요
분산화의 기본 원칙 중 하나는 시스템 참여자로서 신뢰해야 하는 제3자가 없다는 것입니다. 신뢰 대신 모든 정보를 확인하여 단일 버전의 진실을 얻을 수 있는 기회가 있습니다. 주어진 시간에 당신에게 사실인 것은 시스템의 다른 모든 참가자에게도 마찬가지입니다.

블록체인 네트워크에 완전한 참여자가 되려면 모든 거래 내역을 확인할 수 있는 자체 전체 노드를 실행해야 합니다. 사람들은 자신의 전체 노드를 실행하려고 하지 않으며 모바일 장치에서도 가능하지 않습니다. 전체 노드를 실행하는 것은 리소스 집약적입니다. 또한 시간과 특정 기술이 필요합니다.

이 문제는 전체 블록 대신 블록 헤더(각 블록의 거래에 대한 일종의 요약)만 저장하는 소위 라이트 노드에 의해 부분적으로 해결되었습니다. 이로 인해 스토리지, 처리 능력 및 대역폭 요구 사항이 감소되었습니다. 그러나 라이트노드는 풀노드와 독립적으로 거래를 검증할 수 없다는 단점이 있다. 라이트 노드는 또한 풀 노드를 사용하여 트랜잭션을 네트워크에 브로드캐스트하고 블록체인 상태에 대한 업데이트를 받습니다.

라이트 노드는 암호화 증명이나 신뢰할 수 있는 체크포인트와 같은 신뢰할 수 있는 정보 소스가 있는 경우에만 풀 노드 없이도 트랜잭션을 확인할 수 있습니다. 예를 들어 일부 라이트 노드는 SPV(Simplified Payment Verification) 프로토콜을 사용하여 풀 노드에 포함 증명을 요청하여 거래를 확인할 수 있습니다. 포함 증명은 거래를 가장 최근 블록에 연결하는 일련의 블록 헤더입니다. 그런 다음 라이트 노드는 자체 블록 헤더에 대한 증명을 확인하고 거래가 유효하고 네트워크에서 확인되었는지 확인할 수 있습니다.

라이트 노드가 아니고 독점 프로토콜을 통해서만 서버와 통신하는 일부 라이트 지갑이 있습니다. 이는 일반적으로 서버에 개인 키를 저장하고 거래를 관리하는 온라인 지갑 또는 관리 지갑입니다. 이 지갑은 블록체인과 직접 상호 작용하지 않지만 이를 위해 자체 서버에 의존합니다.

Trezor 또는 Ledger 하드웨어 지갑을 일반적인 방식으로 사용하더라도 개별 블록체인의 전체 노드에 연결된 타사 서버에 의존합니다.

제3자에 대한 의존은 거래 검열, 데이터 수집, 개인 정보 유출 또는 계정 동결의 잠재적인 위험을 초래하므로 분산화의 이상에 어긋납니다.

탈중앙화 때문에 사람들이 풀노드를 운영할 것이라고 기대하는 것은 순진한 생각입니다. 풀 노드의 모든 장점을 제공하고 휴대폰에서 편리하게 실행할 수 있는 기술적 솔루션을 만드는 것이 필요합니다.

Mithril을 사용하면 자신의 장치에서 데이터를 효율적으로 확인할 수 있는 기능 측면에서 제3자와 완전히 독립적인 무신뢰 라이트 클라이언트 및 DeFi 애플리케이션을 만들 수 있습니다. 또한 빠른 노드 부트스트래핑 및 안전한 데이터 동기화, 지분 분배(온체인 거버넌스)를 기반으로 한 분산 투표, 효율적인 사이드체인 관리, 보다 확장 가능한 블록체인 개발 촉진 등을 가능하게 합니다.

스테이크 기반 임계값 다중 서명 방식(STM)
미스릴은 본질적으로 카르다노 네트워크가 암호화 인증서를 생성할 수 있게 해주는 서명 체계입니다. 이 인증서는 필요한 양의 지분(코인)을 소유한 참가자가 생성(암호로 서명)했음을 쉽게 확인할 수 있는 증거입니다.

인증서는 여러 참가자(ADA 보유자)가 동의하고 (디지털) 서명으로 메시지를 적극적으로 검증하여 동의를 공개적으로 선언하는 메시지로 생각할 수 있습니다. 참가자는 기본적으로 서명을 통해 모든 정보를 확인할 수 있습니다. 구체적인 용도 중 하나는 블록체인 상태에 대한 스냅샷을 정기적으로 생성하는 것입니다.

모든 이해관계자가 메시지를 확인할 필요는 없습니다. 대신, 새 인증서가 생성될 때마다 무작위 참가자 집합이 선택되고 해당 참가자 중 충분한 하위 집합이 인증서에 서명해야 합니다. 주어진 슬롯에서 새로운 블록을 생산할 권리를 갖는 슬롯 리더와 유사하게 미스릴 참가자는 무작위로 추첨됩니다.

스테이크 기반 임계값 다중 서명(STM)은 블록체인 네트워크에서 스테이크(코인)의 분배를 존중하는 일종의 임계값 서명 방식(TSS)입니다. TSS는 여러 서명자의 서명을 기반으로 단일 디지털 서명을 생성할 수 있는 시스템입니다.

이는 K-of-N 다중 서명 방식과 유사한 개념입니다. 예를 들어 이 체계에서는 5명의 참가자가 메시지 서명에 사용할 수 있는 개인 키를 소유하고 있습니다. 3명의 참가자만이 메시지에 서명한 경우 유효한 것으로 간주됩니다(3/5).

STM 방식은 등록된 참가자(서명자) 수와 지분에 따라 인증서에 서명할 수 있는 참가자 수가 결정된다는 점에서 K-of-N 방식과 다릅니다.

예를 들어 블록체인 트랜잭션을 생성할 때 사용하는 일반 디지털 서명의 작동 방식을 알고 있다면 STM 작동 방식의 기본 원칙을 쉽게 이해할 수 있습니다.

STM은 당사자 그룹이 개별 개인 키를 공개하지 않고 집단적으로 메시지에 서명(인증서 생성)할 수 있도록 하는 일종의 디지털 서명 프로토콜입니다. 디지털 서명은 메시지의 신뢰성과 무결성을 증명하는 방법입니다. 디지털 서명은 일반적으로 메시지와 서명자의 개인 키에 수학 함수를 적용하여 생성됩니다. 개인 키는 서명자만 알고 있는 비밀 정보이고, 공개 키는 누구나 서명을 확인하는 데 사용할 수 있는 관련 정보입니다.

참고: 다음 섹션에서 미스릴 네트워크 참가자의 역할을 읽으면 아래 이미지를 더 잘 이해할 수 있습니다.

STM은 개인 키를 여러 공유로 분할하고 지분(ADA 코인)을 기준으로 여러 당사자에게 배포하는 방식으로 작동합니다. 그런 다음 각 당사자는 전체 개인 키를 몰라도 자신의 공유를 사용하여 메시지에 부분 서명을 생성할 수 있습니다. 그런 다음 부분 서명을 결합하여(집합자에 의해) 전체 개인 키로 생성된 서명과 구별할 수 없는 유효한 서명을 생성할 수 있습니다. 이 접근 방식의 장점은 단일 당사자가 개인 키에 서명하거나 손상시킬 수 없기 때문에 서명 프로세스의 보안과 탄력성이 향상된다는 것입니다.

이는 임계값 서명 방식이므로 필요한 서명자 정족수가 인증서 서명에 참여해야 합니다. 그렇지 않으면 새 인증서를 생성하는 것이 불가능합니다. 이는 무작위로 선택된 다른 서명자 세트를 사용하여 다음 라운드에서 수행될 수 있으므로 문제가 되지 않습니다.

서명자는 서로 독립적으로 행동하며 각 개별 서명을 확인할 수 있습니다. 개별 서명이 집계되며 필요한 임계값에 도달하면 새 인증서를 생성할 수 있습니다. 집계된 서명은 이해관계자 세트를 나타내는 글로벌 공개 키와 관련하여 검증될 수 있습니다.

미스릴 인증서 생성은 여러 매개변수에 따라 결정됩니다. ‘m’ 매개변수는 단일 참가자가 서명할 수 있는 복권 수를 정의합니다. ‘k’ 매개변수는 유효한 인증서를 생성하는 데 필요한 서명 수를 정의합니다. ‘Φ’ 매개변수는 복권 당첨 및 인증서 서명 가능성에 영향을 미치는 시스템의 무작위성을 정의합니다.

미스릴 인증서 생성
Mithril 인증서 생성에 참여하는 여러 역할이 정의됩니다.

미스릴 서명자는 SPO Cardano 노드 위에서 투명하게 작동하는 노드입니다. 이는 미스릴 수집기와 함께 작동합니다. 미스릴 서명자는 각 시대마다 새로운 미스릴 키 쌍을 생성하고 KES 키로 서명합니다. 그런 다음 확인 키(공개 키)는 Mithril 네트워크 내의 다른 모든 서명자에게 브로드캐스팅됩니다. 서명자 노드는 정기적으로 Cardano 블록체인의 전체 상태에 대한 스냅샷을 확인하고 Mithril 개인 키를 사용하여 이러한 스냅샷에 서명합니다.

미스릴 수집자는 미스릴 서명자 노드의 활동을 조정하는 역할을 담당하는 무신뢰 노드입니다. 수집자 노드는 새로운 Mithril 인증서 생성을 제어합니다. 이를 위해 수집자는 서명자 노드와 협력하고 이를 조정해야 합니다. 특정 라운드의 모든 서명자는 Cardano 블록체인의 전체 상태(스냅샷)에 서명하고 서명을 수집자에게 보냅니다. 일부 서명자는 서명을 보내지 못할 수도 있습니다(중단, 공격 등). 수집자가 충분한 수의 서명을 받으면 모든 서명을 결합하여 Mithril 인증서를 생성할 수 있습니다(부분 서명을 결합하면 개인 키로 서명된 인증서인 것처럼 동등한 서명이 생성됩니다).

노드 수집기는 모든 스냅샷 및 관련 인증서를 보관합니다. 클라이언트는 수집자 노드에서 이 정보를 가져와 작업할 수 있습니다(예: 신속하게 부트스트랩 및 노드).

클라이언트는 서명자 및 수집자와 동일한 Mithril 암호화 기본 형식을 사용하므로 스냅샷을 얻고 인증서를 통해 이를 확인할 수 있습니다. 클라이언트는 데이터의 진위성, 즉 블록체인의 무결성을 신속하게 확인할 수 있습니다.

아래 이미지에서 미스릴 인증서 생성으로 이어지는 개별 단계를 볼 수 있습니다. 프로세스가 다소 복잡하고 모든 참가자에게 더 많은 단계가 포함되므로 이는 단순화된 형식입니다. 명확하게 하기 위해 그림에는 서명자가 한 명만 있지만 실제로는 더 많은 서명자가 있습니다.

인증서 생성의 전체 프로세스는 개별 단계에서 수행된다는 점을 인식할 필요가 있습니다.

첫 번째 소위 설정 단계에서는 노드가 Mithil 매개변수와 서명자 그룹에 동의합니다.

두 번째 단계에서는 키가 모든 서명자 노드에 등록됩니다. 집계 확인 키는 특정 시점의 모든 등록을 기반으로 생성됩니다.

세 번째 단계는 운영 단계라고 하며 주기적으로 발생합니다. 각각의 새로운 주기의 시작은 메시지를 통해 신호됩니다. UTXO 세트의 스냅샷이 발생하고 서명자는 메시지에 서명해야 합니다. 각 서명자는 메시지에 서명할 자격이 있는지 개별적으로 확인합니다. 모든 유효한 서명에 대해 메시지 서명, 확인 키, 스테이크 및 Merkle 트리의 당사자 경로를 포함하는 증명을 생성합니다.

집계자 노드는 모든 서명자의 서명을 확인합니다. 여러 서명을 함께 집계하여 인증서를 형성할 수 있습니다. 정족수에 도달하면 모든 개별 서명에서 집계 서명을 생성할 수 있습니다. 노드는 집계 키, 메시지 및 각 당사자의 개별 증명 벡터를 사용하여 증명을 생성합니다.

개별 서명은 네트워크의 모든 당사자에게 방송됩니다. 각 당사자가 독립적으로 인증서를 생성할 수 있기 때문에 중요합니다. 특히 집계를 수행하는 당사자는 특정 지식이 필요하지 않으며 정직하다고 가정되지도 않습니다. 개별 서명에 액세스할 수 있는 제3자는 서명 집계를 수행할 수 있다고 할 수 있습니다. 즉, 모든 서명자 또는 다른 노드가 집계자 노드가 될 수 있습니다.

미스릴 기술의 잠재력
미스릴은 기존의 모든 블록체인에서 잠재적으로 흥미로운 매우 유용한 기본 요소를 나타냅니다. STM 키를 개별 암호화폐 계정과 연결함으로써 코인 소유자는 완전히 분산된 방식으로 모든 메시지 인증에 집합적으로 참여할 수 있습니다.

매개변수를 통해 필요한 그룹(스테이크)이 메시지를 승인한다는 것을 암호화 방식으로 증명하기 위해 도달해야 하는 임계값(1/2 또는 2/3)을 쉽게 정의할 수 있습니다. 서명자는 메시지에 개별적으로 서명하고 블록체인을 통해 서명을 게시할 수 있습니다. 이는 온체인 거버넌스에 매우 유용합니다. 비트코인의 경우에도 BTC 보유자가 소프트웨어 업그레이드 등을 승인하는 것이 가능합니다.

미스릴은 정기적으로 스냅샷을 생성하는 데, 즉 Cardano 블록체인의 상태를 보관하는 데 사용될 수 있습니다. 전체 블록체인을 다운로드하고 기록의 모든 개별 거래를 확인할 필요가 없으므로 노드의 매우 빠른 부트스트래핑이 가능해집니다. 클라이언트가 인증서와 함께 모든 스냅샷을 다운로드하고 확인하는 것으로 충분합니다. 이는 비교적 짧은 시간(분) 내에 가능하며, 그 직후 노드는 최신 트랜잭션과 블록을 확인할 수 있습니다. 즉, 풀노드와의 통신에 의존하지 않는 라이트 클라이언트가 되는 것입니다. 미스릴 덕분에 라이트 클라이언트는 풀 노드와 동일한 보안을 가질 수 있으며, 리소스 요구 사항도 매우 낮아 휴대폰에서 라이트 클라이언트를 실행할 수 있을 것입니다.

미스릴 암호화 기본 요소의 또 다른 중요한 용도는 사이드체인입니다. 최신 글로벌 상태를 빠르게 확인할 수 있는 기능을 통해 네트워크 간의 자산 전송이 훨씬 쉬워지기 때문입니다.

위에서 언급했듯이 미스릴은 코인 소유권을 기반으로 투표를 구성하기 쉽기 때문에 온체인 거버넌스에 적합한 기술입니다. 각 라이트 클라이언트는 제3자로부터 완전히 독립되기 때문에 투표는 제3자에 의해 어떤 식으로든 조작될 수 없으며 어느 누구도 투표를 막을 수 없습니다. 모든 투표 결과는 블록체인에 투명하게 저장되며 누구나 이를 검증할 수 있습니다.

미스릴은 Ouroboros Leios(입력 보증자)의 중요한 구성 요소가 될 것입니다. 인증서를 통해 블록이 블록체인에 최종 포함되기 전에 블록을 사전 준비(사전 검증)할 수 있기 때문입니다.

결론
대다수의 사용자가 여전히 제3자에 의존하고 있기 때문에 미스릴은 분산화를 위한 큰 진전으로 볼 수 있습니다. 사람들은 휴대폰에서 빠르고 저렴한 거래를 원하며 이는 대부분의 경우 다른 장치에서 실행되는 전체 노드와의 상호 작용 없이는 불가능합니다. 대부분의 사람들은 자신의 전체 노드를 실행하는 것을 원하지 않으며 결코 실행할 의향이 없습니다. Mithril은 귀하의 휴대폰에서 무신뢰 P2P 통신을 가능하게 합니다. 즉, 귀하의 휴대폰은 Cardano 네트워크하고만 통신할 수 있으며 전체 노드의 보안을 갖습니다.