Back to all posts

Mina 프로토콜의 특징 소개 - 새롭고 “간결한” 블록체인 플랫폼

비트코인(BTC)나 이더리움(ETH)과 같은 메이저 블록체인들은 수백기가바이트에 달하는 엄청난 양의 거래 데이터를 저장합니다. 이런 방법은 전체 블록체인 거래내역을 저장해야 하므로 큰 단점이 됩니다. 다르게 말해, 사용자들은 추적하고자 하는 거래 내역의 가장 처음 거래내역까지 들여다 볼 수 있지요.

시간이 지날수록 블록체인의 크기가 커질 것이고, 이는 더욱 큰 노드들(마이너들)이 그 커지는 블록체인들을 저장하기 위해 메모리를 계속해서 키워가야 합니다. 보통의 유저들은 아마도 "가벼운" 클라이언트들, 블록의 헤드를 확인하고 지갑의 잔액을 확인하는 정도,을 이용할 것입니다. 이런 경우, 믿을 수 있는 커다란 노드(서버)를 필요로 하게 됩니다. 아마도 미래에는 다수의 커다란 노드들이 거래 내역을 저장할 것이라, 이러한 경우가 부분적 중앙화를 가져올 것입니다.

이번 기사에서 다룰 "미나 프로토콜" 플랫폼은 다른 방식으로 이 문제를 접근합니다. 미나 프로토콜이 어떠한 플랫폼인지, 어떤 특징들이 있는지, 그리고 왜 암호화폐에 관심이 있는 사람들이 주목을 해야하는지 이번 기사를 통해 알아보려고 합니다.

미나 프로토콜이란?

미나 프로토콜은 거래 내역을 아주 간결한 형태로 저장하는 차세대 PoS 블록체인입니다. 미나 블록체인의 크기는 딱 22kB입니다. 주목해야할 점은 이 블록체인의 크기가 블록체인의 길이와 상관이 없다는 것입니다. 이 덕분에, 미나 프로토콜은 노드들간의 빠른 동기화를 제공합니다.

 

미나 프로토콜은 간결한 상태 증명(Succinct proofs of state)나 스나크 기반의 압축식 상태 증명(SNARK-based compressed proofs of state)에서 동작합니다.

스나크는 무엇이고 왜 미나 프로토콜의 블록체인 크기는 항상 일정할까?

미나 프로토콜이 어떻게 동작하는지에 대해 더욱 구체적이고 정확히 알기 위해서는 미나 프로토콜의 기술서를 읽어볼 필요가 있지만, 깊은 수준의 수학적 그리고 기술적 배경을 필요로 합니다. 이번 섹션에서는 스나크가 무엇인지, 미나 프로토콜에서 어떻게 사용이 되는지에 대해 간략히 설명하려고 합니다.

 

ZK-스나크 (혹은 영지식증명)은 블록의 유효성을 확인할 때 사용하는 간결한 암화화폐 증명방식 입니다. 

 

스나크라는 약자에 포함된 Succinct의 의미는 증명에 사용되는 증거가 적으므로 빠르게 검증될 수 있다는 것입니다. "Non-interactive"의 의미는 prover와 verifier 사이의 교류가 거의 혹은 아예 없다는 것을 의미하고 이들 사이에는 오직 한 조각의 증거만을 공유합니다. 이러한 영지식 증명은 익명성과 확장성을 해결하는 데에 대표적으로 사용되는 기술입니다.

 

미나 프로토콜이 새 블록을 생성할 때, 스나크 증명도 함께 생성이 됩니다.

 

zk스나크는 계산 자체를 검증하지 않고 계산이 (블록 내에서의 거래들을 확인하는 것) 제대로 수행됐는지를 증명하는 기능을 수행합니다. 이러한 방법으로 스나크는 전체 거래들을 보지 않고도 블록에서의 거래들을 검증하게 됩니다. 이렇게 해서 효율적으로 블록의 크기가 1 스나크로 줄어들게 됩니다.

 

비록 기존의 블록체인들보다 느리지만, 스나크들이 모이면 다시 그 크기가 커기지 때문에 모든 블록을 스나크로 바꾸는 것이 해결책이 되지는 않습니다.

 

스나크 자체가 어떠한 계산도 검증할 수 있기 때문에, 여기에 착안해 미나 프로토콜 개발자들은 새로운 솔루션을 내어놓습니다. 1개의 스나크를 만드는 것도 계산이므로, 여러개의 스나크들로부터 1개의 스나크를 만들 수 있습니다. 그러므로 매번 새 블록이 생성될 때, 새로운 1 스나크 검증도 생성이 됩니다. 마찬가지로 생성된 1개의 스나크는 그 이전의 스나크의 자격(certificate)을 확인할 수 있습니다. 이것들을 따라가다보면 크기는 변하지 않은 채 (22kB보다 적은) 그 블록체인의 전체 거래 내역(첫 블록 genesis block부터 현재의 블록까지)을 검증할 수 있는 하나의 슈퍼 스나크가 만들어지게 되는 것이지요. 

 

아주 간단히, 연속 스나크 검증은 연속 스냅샷과 비교될 수 있습니다. 첫 블록의 스냅샷들을 찍고, 그리고 이 스냅샷과 함께 새 블록의 스냅샷을 계속 가질 수 있습니다. 이런 방식으로 계속해서 블록체인의 크기는 항상 같게 유지될 수 있습니다 (1개의 스냅샷).

undefined

그 결과, 네트워크의 노드들은 모든 블록체인의 거래 기록을 저장하지 않고 오로지 블록들이 유효한가에 대한 증명만을 저장합니다. 동시에, 보안과 네트워크의 탈중앙화는 유지가 됩니다.

미나 프로토콜에는 어떠한 역할들이 있고 거래는 어떻게 확인이 되는가

미나 프로토콜은 지분 증명 방식(proof-of-stake) 합의 방식에서 동작합니다. 다른 프로토콜들과는 다르게, 어떠한 참가자도 풀노드처럼 거래를 검증할 수 있기 때문에, 탈중앙화를 가능하게 합니다. 그리고 노드 운영자는 블록과 스나크를 동시에 혹은 따로 생성하는 2개 역할을 수행할 수 있습니다. 블록체인은 이미 동작하고 있고, 어떠한 유저도 자신의 고유 노드를 미나 프로토콜에 올릴 수 있습니다. 더 자세한 내용에 대해서는 미나 프로젝트 문서를 확인하면 좋을 것 같습니다.

미나 블록체인 내에서는 아래와 같은 두 그룹의 검증자들이 있습니다.

  • 블록 생성자: 다른 블록체인 내에서 채굴자 혹은 검증자로 불립니다. 일반적으로 블록 생성자들은 다음 블록에 어떤 거래들을 넣을지 선택합니다. 당연하게도 높은 수수료를 지불하는 거래들을 담고 싶어할 건데요. 만약 블록 생성자가 5개의 거래를 담으려고 한다면, 반드시 그에 해당하는 5개의 거래 스나크들을 추가해야 합니다. 미나 블록체인 내에서의 다른 역할인 스나커(Snarker)들이 스나켓플레이스 (Snarketplace)라고 하는 특별한 마켓에서 스나크를 판매를 하고 있습니다.
  • 스나크일꾼 혹은 스나커: 스나커들은 거래를 검증하기 위한 zk스나크를 만들어내는 네트워크 구성원을 말합니다. 수수료를 받는 것으로 이 역할들에 대한 보상을 받고, 이들이 만든 스나크들이 블록에서 사용되면, 블록 생성자들은 해당 거래의 수수료 중 일부를 스나커에게 지불합니다.

실제로 미나 프로토콜이 어떻게 동작하는지를 이해하기 위해, 단계별 거래 시나리오를 생각해 봅시다. 예를 들어, 송신인 Mike는 수신인 John에게 다수의 코인을 보내려고 합니다.

  • 스텝 1. Mike가 Submit을 클릭해 지불 거래를 수행합니다. 

이 지불 거래는 프라이빗 키를 이용해 암호화되어 송신인의 계좌가 노출되지 않고 보호됩니다. 그리고 이 거래는 네트워크 상의 노드들에 들어갑니다.

  • 스텝2. Mike의 지불 거래가 일처리 목록에 등록됩니다.

어떤 주어진 시간 내에 네트워크 상에 있는 블록 생성자의 노드가 선택됩니다. 모든 블록 생성자들은 어떤 거래를 처리할 지 선택을 하고 블록 생성 및 거래 처리 목록에 그들을 올려둡니다.

  • 스텝3. 블록 생성자들은 거래에 해당하는 각각의 스나크들을 추가해야 합니다.

블록 생성자들은 이 스나크들을 스나켓플레이스에서 구매하게 됩니다. 이 스나크들 중에서는 Mike의 지불 거래의 확인도 포함이 되어 있습니다.

  • 스텝4. 블록 생성자들은 새로운 거래들과 그에 해당하는 스나크들을 블록에 추가시키고, 새로운 블록이 미나 블록체인에 추가가 됩니다. 그 뒤, 거래 큐의 상태가 업데이트 됩니다. 그리고 블록 생성자는 블록체인 상에 있는 새 블록에 스나크를 업데이트 (즉, 블록체인의 새로운 상태)합니다. 그 뒤, 새 블록은 검증이 된 것으로 판단이 되고 모든 네트워크의 참여자들은 이 새로운 블록체인의 상태를 보게 됩니다.

Mike와 John의 계좌에 이체 결과가 보입니다.

  • 스텝5. 거래 검증의 레벨 -- John이 거래가 완료되었다고 자신합니다.

각각의 이어진 블록들을 보고, 수신인은 그 거래가 실제로 완료가 됐고, 네트워크도 블록 상에서 합의를 했다고 믿음을 가집니다. 하지만, 다른 무수한 블록체인들처럼, 일정 수준의 블록들이 지나고 나서야 거래가 완료가 됩니다. 이는 거래의 완료라고도 알려져 있습니다.

미나 네트워크에서 신뢰 요소를 없애기 위해, 개발자들은 스나크에 두가지 중요한 특징들을 추가했습니다.

  • 결합가능성 (combinability): 스나크는 두 조각의 증거를 뭉쳐 하나의 합쳐진 증명을 만듭니다.
  • 연대 (associativity): 모든 합쳐진 증명들은 서로가 다 동일하고 합쳐진 순서에 상관이 없습니다.

이 접근 방식은 어떤 유저에게도 미나 네트워크 내에서 노드를 생성할 수 있게 하고, 그들이 하는 일로부터 보상을 받는 스나커가 될 수 있게 합니다. 이것이 미나 프로토콜을 값비싼 채굴 하드웨어나 높은 스테이킹 수량을 요하는 다른 블록체인과 다르게 만드는 점입니다.

미나 프로토콜 위임

미나 위임은 사용자가 본인의 노드를 항상 온라인 상태로 유지할 필요가 없다는 장점을 가지는 방식으로, 직접 스테이킹의 대체수단입니다. 

 

하지만 위임을 하기 위해서는 경험많고 믿을 수 있는 블록 생성자 (검증자)를 선택하는 것이 중요합니다. 이러한 검증자 중 하나로 아주 경험이 많은 개발자들, 경제 전문가들과 블록체인 지식인들이 포진하고 있는 Everstake를 꼽을 수 있습니다. Everstake는 최대 효율과 보안을 위해 고성능의 하드웨어를 사용하여 아주 보안이 좋고 믿을 수 있는 PoS 노드들을 가지고 있습니다. 이 Everstake의 노드에 사용자가 본인의 코인을 위임하는 것으로, 시간에 맞는 보상이 분배될 것과 노드가 정상적으로 꾸준히 동작할 것을 믿을 수 있을 것입니다.

미나 토큰 분배

미나 프로토콜은 블록 검증자들이 본인들의 미나 토큰들을 사용해 스나켓플레이스에서 스나크들을 살 수 있도록 고안됐습니다. 이것은 새로운 작업들이 빠르게 처리되는 것을 보장합니다.

 

대부분의 암호화폐들과 토큰들은 제한적으로 분배하게 되고, 일반적으로 코인들은 미리 발행이 되었거나 채굴, 스테이킹, 혹은 민팅 과정을 통해 나오게 됩니다. 미나 토큰은 디플레이션이 아닌 인플레이션에 기반하기에 무제한 분배 방식으로 동작합니다.

 

메인넷 출시때에는, 10억개의 미나 토큰이 분배가 될 것이나, 8년이 지나면 이 수량은 다 언락이 될 것입니다. 분배 자체는 무제한이지만, 토큰 인플레이션 비율은 해마다 12%씩 감소해 나중에는 7%에 수렴하게 됩니다.

 

아래의 그래프는 첫 8년간의 토큰 분배 계획을 보여주고 있습니다.

undefined

스테이킹을 장려하기 위해, 미나 프로토콜은 메인넷 출시 후 첫 15개월 동안 묶여있는 토큰이 없는 계좌들에 대해 Supercharged 보상 프로그램을 운영합니다.

 

첫 5개월 동안에는 이 보상이 해마다 24%으로 일반 스테이킹의 2배에 해당하는 수치입니다.

undefined

Everstake의 업데이트를 구독하여 블록체인 세계의 가장 최근 이벤트들을 놓치지 마세요!

Medium

Website

Twitter

Telegram

Facebook

Reddit

Previous post Next post