아발란체(AVAX) 코인 백서 (Avalanche Whitepaper)

0
39
아발란체(AVAX) 코인 백서

이해의 편의를 돕기 위한 아발란체(AVAX) 코인 백서 번역본 (Avalanche Whitepaper)으로, 정확한 내용은 아발란체 공식 홈페이지에 게시된 백서 원문을 참고해주시길 바랍니다.

저자: 케빈 세크니키, 대니얼 레인, 스티븐 버톨프, 에민 귄 시러

초록

이 논문은 아발란체 플랫폼의 첫 번째 출시 버전인 아발란체 보레알리스에 대한 건축적 개요를 제공합니다. 네이티브 토큰인 $AVAX의 경제학에 대한 자세한 내용은 동반 토큰 역학 논문[2]을 참조하십시오. 공개 사항: 이 논문에 기술된 정보는 예비적이며 언제든지 변경될 수 있습니다. 또한, 이 논문은 “미래 예측 진술”1 을 포함할 수 있습니다.

Git Commit(깃 커밋): 7497e4a4ba0a1ea2dc2a111bc6deefbf3023708e

서문

이 논문은 아발란체 플랫폼의 구조적 개요를 제공합니다. 주요 초점은 플랫폼의 세 가지 핵심 차별점인 엔진, 구조적 모델, 그리고 거버넌스 메커니즘에 있습니다.

아발란체의 목표와 원칙

아발란체는 고성능, 확장성, 사용자 정의 가능성, 그리고 보안성을 갖춘 블록체인 플랫폼입니다. 이는 세 가지 광범위한 사용 사례를 목표로 합니다:

  • 특정 애플리케이션용 블록체인 구축, 허가형(비공개) 및 허가 없는(공개) 배포에 걸친다.
  • 매우 확장 가능하고 분산된 애플리케이션(Dapps) 구축 및 출시.
  • 맞춤 규칙, 조건, 및 부가 조항(스마트 자산)이 있는 복잡한 디지털 자산 구축.

각주

  • 1 전방위적 성명은 일반적으로 미래의 사건이나 우리의 미래 성과와 관련이 있습니다. 이는 아발란체의 예상 성과, 사업 및 프로젝트의 예상 개발, 비전과 성장 전략의 실행, 현재 진행 중이거나 개발 중이거나 고려 중인 프로젝트의 완성을 포함하지만 이에 국한되지 않습니다. 전방위적 성명은 이 발표의 날짜를 기준으로 우리 경영진의 믿음과 가정을 대표합니다. 이러한 성명은 미래 성과의 보장이 아니며, 이에 지나치게 의존해서는 안 됩니다. 이러한 전방위적 성명은 반드시 알려진 위험과 알려지지 않은 위험을 포함하며, 이는 표현되거나 암시된 예측과 달리 미래 기간의 실제 성과와 결과를 실질적으로 달라지게 할 수 있습니다. 아발란체는 전방위적 성명을 업데이트할 의무가 없습니다. 비록 전방위적 성명이 제작된 시점에서 최선의 예측이라 할지라도, 실제 결과와 미래 사건이 크게 달라질 수 있으므로 정확하다는 보장은 없습니다. 독자는 전방위적 성명에 지나치게 의존해서는 안 됩니다.

아발란체의 궁극적인 목표는 디지털 자산의 생성, 전송, 거래를 위한 통합된 플랫폼을 제공하는 것입니다.

구조적으로, 아발란체는 다음과 같은 특성을 가지고 있습니다:

아발란체는 대규모로 확장 가능하며, 강력하고 효율적으로 설계되었습니다. 핵심 합의 엔진은 수백만 개에 달하는 인터넷에 연결된 저전력 및 고전력 장치의 글로벌 네트워크를 지원할 수 있으며, 낮은 지연 시간과 매우 높은 초당 거래 수를 자랑합니다.

아발란체는 강력하고 높은 보안을 달성하도록 설계되었습니다. 전통적인 합의 프로토콜은 최대 f명의 공격자에 대해 견딜 수 있으며, f + 1 또는 그 이상의 공격자에 직면했을 때 완전히 실패합니다. 반면에, 나카모 합의는 51%의 채굴자가 비잔티움 상태일 때 보안을 제공하지 않습니다. 대조적으로, 아발란체는 공격자가 특정 임계값 이하일 때 매우 강력한 안전성 보장을 제공하며, 시스템 설계자가 매개변수화할 수 있는 이 임계값을 공격자가 초과하면 우아하게 저하합니다. 공격자가 51%를 초과하더라도 안전성(하지만 활성성은 아님) 보장을 유지할 수 있습니다. 아발란체는 이러한 강력한 보안 보장을 제공하는 최초의 허가 없는 시스템입니다.

아발란체는 전례 없는 분산화를 제공하도록 설계되었습니다. 이는 다양한 클라이언트 구현에 대한 약속이 없고 어떠한 종류의 중앙 집중식 제어도 없음을 의미합니다. 이 생태계는 다른 이해관계를 가진 사용자들 사이의 분열을 피하기 위해 설계되었습니다. 핵심적으로, 채굴자, 개발자, 사용자 간에 구별이 없습니다.

$AVAX는 누구나 네트워크에 연결하여 검증에 참여하고 직접 거버넌스에 참여할 수 있는 매우 포괄적인 플랫폼입니다. 모든 토큰 소유자는 주요 재정 파라미터를 선택하고 시스템의 발전 방향을 결정하는 데 투표할 수 있습니다.

아발란체는 다양한 블록체인/자산을 위한 범용적이고 유연한 인프라로 설계되었습니다. 기본 $AVAX는 보안 및 교환을 위한 계정 단위로 사용됩니다. 이 시스템은 가치 중립적인 방식으로 많은 블록체인이 위에 구축될 수 있도록 지원하도록 의도되었습니다. 플랫폼은 기존 블록체인을 쉽게 이식할 수 있도록, 잔액을 가져올 수 있도록, 다양한 스크립팅 언어와 가상 머신을 지원하며, 여러 배포 시나리오를 의미 있게 지원하도록 처음부터 설계되었습니다.

개요

이 논문의 나머지 부분은 네 가지 주요 섹션으로 나뉩니다. 섹션 2에서는 플랫폼을 구동하는 엔진의 세부 사항을 설명합니다. 섹션 3에서는 플랫폼의 아키텍처 모델, 서브네트워크, 가상 머신, 부트스트래핑, 멤버십, 그리고 스테이킹을 포함한 다양한 주제를 논의합니다. 섹션 4에서는 주요 경제적 파라미터에 대한 동적 변경을 가능하게 하는 거버넌스 모델을 설명합니다. 마지막으로 섹션 5에서는 잠재적 최적화, 양자 컴퓨터에 대한 대비책, 그리고 현실적인 적들에 대해 포함한 여러 주변적 관심사를 탐구합니다.

명명 규칙

플랫폼의 이름은 아발란체이며, 흔히 “아발란체 플랫폼” 또는 단순히 아발란체로 불립니다. 코드베이스는 세 개의 숫자 식별자를 사용하여 “v.[0-9].[0-9].[0-100]” 형식으로 출시되며, 첫 번째 숫자는 주요 릴리스를, 두 번째 숫자는 부가 릴리스를, 세 번째 숫자는 패치를 나타냅니다. 첫 공개 릴리스는 아발란체 보레알리스로 명명되었으며, 버전은 v.1.0.0입니다. 플랫폼의 네이티브 토큰은 “$AVAX”라고 합니다. 아발란체 플랫폼에서 사용되는 합의 프로토콜 가족은 스노우* 가족으로 알려져 있으며, 아발란체, 스노우맨, 프로스티의 세 가지 구체적인 구현이 있습니다.

엔진

아발란체 플랫폼에 대한 논의는 플랫폼을 구동하는 핵심 구성 요소인 합의 엔진에서 시작됩니다.

배경 분산 결제와 보다 일반적으로 분산 컴퓨팅은 여러 기계 간의 합의가 필요합니다. 따라서, 노드 그룹이 합의에 도달할 수 있게 하는 컨센서스 프로토콜은 블록체인은 물론 거의 모든 대규모 산업 분산 시스템의 핵심에 있습니다. 이 주제는 거의 50 년 동안 광범위하게 검토되었고, 그 노력은 지금까지 두 가지 유형의 프로토콜을 낳았습니다: 모든 참가자 간의 전체 통신에 의존하는 클래식 컨센서스 프로토콜과, 작업 증명 채굴에 의존하고 가장 긴 체인 규칙을 적용하는 나카모토 컨센서스입니다. 클래식 컨센서스 프로토콜은 낮은 지연 시간과 높은 처리량을 가질 수 있지만, 대규모 참가자로 확장할 수 없으며 멤버십 변화의 존재에서 견고하지 않아 주로 허가된, 대부분 정적인 배포에 국한되었습니다. 반면, 나카모토 컨센서스 프로토콜은 견고하지만, 높은 확인 지연 시간, 낮은 처리량을 겪고, 그들의 보안을 위해 지속적인 에너지 소비가 필요합니다.

아발란가 소개한 Snow* 프로토콜 패밀리는 클래식 합의 프로토콜의 최고의 특성과 나카모토 합의의 최고의 특성을 결합합니다. 가벼운 네트워크 샘플링 메커니즘을 기반으로, 시스템의 정확한 멤버십에 대한 합의 없이도 낮은 지연 시간과 높은 처리량을 달성합니다. 이 프로토콜들은 수천 명에서 수백만 명의 참가자에 이르기까지 합의 프로토콜에서 직접 참여하며 잘 확장됩니다. 또한, 이 프로토콜들은 PoW 채굴을 사용하지 않으므로, 그에 따른 과도한 에너지 소비와 생태계에서의 가치 유출을 피하며, 가볍고 친환경적이며 조용한 프로토콜을 제공합니다.

메커니즘 및 속성Snow* 프로토콜은 네트워크의 반복적인 샘플링을 통해 작동합니다. 각 노드는 작고 일정한 크기의 무작위로 선택된 이웃 집합을 폴링하고, 대다수가 다른 값을 지지하는 경우 자신의 제안을 변경합니다. 샘플링은 정상적인 작동에서 빠르게 도달하는 수렴이 이루어질 때까지 반복됩니다.

사용자가 트랜잭션을 생성하고 이를 합의 절차에 참여하는 검증 노드로 보낼 때, 그 작업 메커니즘을 구체적인 예를 들어 설명하겠습니다. 이 트랜잭션은 그 후 네트워크 내의 다른 노드들에게 소문을 통해 전파됩니다. 만약 해당 사용자가 충돌하는 트랜잭션도 발행한다면 어떻게 될까요?

사용자가 이중 지출을 의미하는 충돌하는 거래를 생성하고 전송했을 때, 이러한 충돌을 해결하고 이중 지출을 방지하기 위해 각 노드는 무작위로 소수의 노드를 선택하여 어떤 거래가 유효한지를 조회합니다. 만약 조회하는 노드가 한 거래에 대해 대다수의 지지를 받는 응답을 받게 되면, 해당 노드는 자신의 응답을 그 거래로 변경합니다. 네트워크의 모든 노드가 이 절차를 반복하여 전체 네트워크가 충돌하는 거래 중 하나에 대해 합의에 도달할 때까지 계속됩니다.

놀랍게도, 운영의 핵심 메커니즘이 매우 간단함에도 불구하고, 이러한 프로토콜들은 매우 바람직한 시스템 동작을 초래하여 대규모 배포에 적합하게 만듭니다.

  • 허가 없이 사용 가능하며, 참여자 변경에 개방적이고, 강인함을 제공합니다. 최근의 블록체인 프로젝트들은 대부분 전통적인 합의 프로토콜을 사용하며, 따라서 전체 참여자 명단을 알아야 합니다. 이는 폐쇄적이고 허가된 시스템에서는 비교적 간단하지만, 개방적이고 분산된 네트워크에서는 점점 더 어려워집니다. 이러한 한계는 이러한 프로토콜을 사용하는 기존 시스템에 높은 보안 위험을 초래합니다. 반면, Snow* 프로토콜들은 두 노드의 네트워크 관점 사이에 잘 정량화된 차이가 있을 때에도 높은 안전성을 유지합니다. Snow* 프로토콜의 검증자들은 지속적인 전체 참여자 지식 없이도 검증할 수 있는 능력을 가지고 있으므로, 공공 블록체인에 매우 적합하며 강인합니다.
  • Snow 프로토콜의 핵심적인 특징 중 하나는 기본적인 타협 없이 확장 가능하다는 점입니다. Snow 프로토콜은 수십만 또는 수백만 개의 노드까지 확장할 수 있으며, 검증자들을 하위 집단에 위임하지 않습니다. 이 프로토콜은 최고 수준의 시스템 분산화를 제공하며, 모든 노드가 완전히 검증할 수 있도록 합니다. 직접적이고 지속적인 참여는 시스템의 보안에 깊은 영향을 미칩니다. 대규모 참여자 집단으로 확장하려고 시도하는 거의 모든 지분증명(Proof-of-Stake) 프로토콜에서는 하위 위원회에 검증을 위임함으로써 확장성을 가능하게 합니다. 이는 시스템의 보안이 이제 하위 위원회의 부패 비용만큼 높다는 것을 의미합니다. 또한, 하위 위원회는 카르텔 형성에 취약합니다. 스노우형 프로토콜에서는 이러한 위탁이 필요 없어 모든 노드 운영자가 시스템에 대해 항상 직접적인 발언권을 가질 수 있습니다. 다른 설계 방식 중 하나로, 일반적으로 상태 샤딩이라고 불리는 방법은 독립적인 검증자 네트워크로 트랜잭션 직렬화를 병렬 처리함으로써 확장성을 제공하려고 시도합니다. 불행히도, 이러한 설계에서 시스템의 보안성은 가장 쉽게 타락할 수 있는 독립적인 샤드만큼 높아집니다. 따라서, 하위 위원회 선출이나 샤딩 모두 암호화 플랫폼의 확장 전략으로 적합하지 않습니다.
  • 적응형. 다른 투표 기반 시스템과 달리, Snow* 프로토콜은 적이 작을 때 더 높은 성능을 달성하며, 대규모 공격 하에서도 높은 회복력을 유지합니다.
  • 비동기적으로 안전합니다. Snow* 프로토콜은 가장 긴 체인 프로토콜과 달리 안전한 작동을 위해 동기성을 필요로 하지 않으며, 그 결과 네트워크 분할 상황에서도 이중 지출을 방지할 수 있습니다. 예를 들어, 비트코인에서 동기성 가정이 위반되면, 긴 시간 동안 비트코인 네트워크의 독립적인 포크들이 운영될 수 있으며, 포크들이 합쳐지면 일부 거래들이 무효화될 수 있습니다.
  • 낮은 대기 시간오늘날 대부분의 블록체인은 거래나 일상적인 소매 결제와 같은 비즈니스 응용 프로그램을 지원할 수 없습니다. 거래 확인을 위해 몇 분이나 몇 시간을 기다리는 것은 현실적으로 불가능합니다. 따라서, 합의 프로토콜의 가장 중요하면서도 자주 간과되는 속성 중 하나는 최종 확정 시간입니다. Snow* 프로토콜은 일반적으로 1초 이하의 시간에 최종 확정에 도달하여, 최장 체인 프로토콜과 샤딩 블록체인(둘 다 일반적으로 최종 확정까지 몇 분이 걸림)보다 현저히 낮습니다.
  • – 높은 처리량.Snow* 프로토콜은 선형 체인이나 DAG를 구축할 수 있으며, 완전한 분산화를 유지하면서 초당 수천 건의 거래(5000+ TPS)를 처리할 수 있습니다. 높은 TPS를 주장하는 새로운 블록체인 솔루션들은 대체로 분산화와 보안을 희생하고 더 중앙집중적이고 불안전한 합의 메커니즘을 선택합니다. 일부 프로젝트는 매우 통제된 환경에서의 숫자를 보고하여 실제 성능 결과를 잘못 보고하기도 합니다. $AVAX에 대해 보고된 숫자는 AWS에서 2000개 노드로 구동되는 실제로 완전히 구현된 아발란체 네트워크에서 직접 가져온 것이며, 저사양 기계에서 전 세계에 걸쳐 지리적으로 분산되어 있습니다. 노드당 더 높은 대역폭 프로비저닝과 서명 검증을 위한 전용 하드웨어를 가정하면 더 높은 성능 결과(10,000+)를 달성할 수 있습니다. 마지막으로, 언급된 메트릭은 기본 레이어에서의 것이며, 레이어-2 확장 솔루션은 이러한 결과를 즉시 상당히 향상시킵니다.

합의 비교 차트

그림 1 은 8가지 중요한 축을 통해 알려진 세 가지 합의 프로토콜 가족 간의 차이점을 설명합니다.

아발란체 코인 백서 1
[그림 1] 세 가지 알려진 합의 프로토콜 가족 간의 비교 차트. Avalanche, Snowman, 그리고 Frosty는 모두 Snow* 가족에 속합니다.

플랫폼 개요

이 섹션에서는 플랫폼의 구조에 대한 개요를 제공하고 다양한 구현 세부 사항에 대해 논의합니다. 아발란체 플랫폼은 세 가지 주요 관심사를 명확히 분리합니다: 체인(그리고 그 위에 구축된 자산), 실행 환경, 그리고 배포.

건축학

서브네트워크

서브네트워크, 또는 서브넷은 일련의 블록체인의 상태에 대해 합의를 이루기 위해 함께 작업하는 검증자들의 동적 집합입니다. 각 블록체인은 하나의 서브넷에 의해 검증되며, 서브넷은 임의의 많은 블록체인을 검증할 수 있습니다. 검증자는 임의의 많은 서브넷의 구성원이 될 수 있습니다. 서브넷은 누가 그것에 들어갈 수 있는지 결정하며, 구성 검증자들이 특정 속성을 가지고 있을 것을 요구할 수 있습니다. 아발란체 플랫폼은 임의의 많은 서브넷의 생성 및 운영을 지원합니다. 새로운 서브넷을 생성하거나 서브넷에 가입하기 위해서는 $AVAX로 지불되는 수수료를 내야 합니다.

서브넷 모델은 다음과 같은 여러 가지 장점을 제공합니다:

  • 만약 검증자가 특정 서브넷의 블록체인에 관심이 없다면, 그 서브넷에 가입하지 않을 것입니다. 이는 네트워크 트래픽을 줄이고 검증자의 계산 자원 요구를 감소시킵니다. 이는 다른 블록체인 프로젝트와 대비되는데, 거기서는 모든 검증자가 자신이 관심 없는 모든 거래를 검증해야 합니다.
  • 서브넷이 누가 가입할 수 있는지 결정하기 때문에, 누군가는 사설 서브넷을 만들 수 있습니다. 즉, 서브넷 내의 각 블록체인은 신뢰할 수 있는 검증자 세트에 의해서만 검증됩니다.
  • 특정 특성을 가진 검증자만 있는 서브넷을 만들 수 있습니다. 예를 들어, 특정 관할 지역에 위치한 검증자만 있는 서브넷이나, 실제 계약에 의해 구속되는 검증자만 있는 서브넷을 만들 수 있습니다. 이는 준수 이유로 유익할 수 있습니다.

특별한 서브네트워크가 하나 있는데, 이를 기본 서브네트워크(Default Subnet)라고 합니다. 모든 검증자가 이 기본 서브네트워크를 검증합니다. (즉, 어떤 서브네트워크를 검증하려면 기본 서브네트워크도 함께 검증해야 합니다.) 기본 서브네트워크는 사전에 정의된 일련의 블록체인을 검증하며, 여기에는 $AVAX가 존재하고 거래되는 블록체인도 포함됩니다.

가상 머신

각 블록체인은 가상 머신(VM)의 인스턴스입니다. VM은 객체 지향 프로그래밍 언어에서 객체에 대한 클래스와 같이 블록체인에 대한 청사진입니다. 블록체인의 인터페이스, 상태, 그리고 행동은 해당 블록체인이 실행하는 VM에 의해 정의됩니다. VM에 의해 정의되는 블록체인의 다음과 같은 속성들이 있습니다:

  • 블록의 내용
  • 블록이 승인될 때 발생하는 상태 변화
  • 블록체인에 의해 노출되는 API와 그 엔드포인트
  • 디스크에 저장되는 데이터

블록체인이 특정 VM을 “사용한다” 또는 “실행한다”라고 말합니다. 블록체인을 생성할 때, 실행할 VM과 블록체인의 초기 상태를 지정합니다. 새로운 블록체인은 기존 VM을 사용하여 생성할 수 있으며, 개발자는 새로운 VM을 코딩할 수도 있습니다. 동일한 VM을 실행하는 블록체인이 임의로 많이 있을 수 있습니다. 동일한 VM을 실행하는 각 블록체인은 논리적으로 다른 것들로부터 독립적이며, 자체 상태를 유지합니다.

부트스트래핑

아발란체에 참여하는 첫 단계는 부트스트래핑입니다. 이 과정은 세 단계로 이루어집니다: 시드 앵커에 연결하기, 네트워크 및 상태 발견하기, 그리고 검증자가 되기.

시드 앵커

네트워크에 연결된 동료(peer) 시스템이 사전에 정의된(즉, 하드코드된) 신원 집합 없이 운영되는 경우, 동료 발견을 위한 어떤 메커니즘이 필요합니다. 피어 투 피어 파일 공유 네트워크에서는 트래커 집합이 사용됩니다. 암호화 네트워크에서는 일반적으로 DNS 시드 노드(우리가 시드 앵커라고 부르는) 사용이라는 메커니즘이 있으며, 이는 네트워크의 다른 멤버를 발견할 수 있는 일련의 잘 정의된 시드-IP 주소로 구성됩니다. DNS 시드 노드의 역할은 시스템의 활성 참여자 집합에 대한 유용한 정보를 제공하는 것입니다. 이와 같은 메커니즘이 비트코인 코어에서 사용되며, 소스 코드의 src/chainparams.cpp 파일에는 하드코드된 시드 노드 목록이 들어 있습니다. BTC와 아발란체의 차이점은 BTC는 단 하나의 정확한 DNS 시드 노드가 필요한 반면, 아발란체는 앵커의 단순 다수가 정확해야 한다는 것입니다. 예를 들어, 새로운 사용자는 신뢰할 수 없지만 잘 설립되고 평판이 좋은 여러 거래소 집합을 통해 네트워크 뷰를 부트스트래핑할 수 있습니다. 그러나 부트스트랩 노드 집합은 하드코드되거나 정적일 필요가 없으며, 사용자가 제공할 수 있지만, 사용 편의성을 위해 클라이언트는 거래소와 같은 경제적으로 중요한 액터들을 포함하는 기본 설정을 제공할 수 있습니다. 시드 앵커가 되는 데에는 장벽이 없기 때문에, 시드 앵커 집합은 노드가 네트워크에 들어가거나 들어가지 못하게 할 수 없으며, 노드는 어떤 시드 앵커 집합에 연결함으로써 최신 아발란체 동료 네트워크를 발견할 수 있습니다.

네트워크 및 상태 검색

연결되면, 노드는 최신 상태 전환 집합을 조회합니다. 이 상태 전환 집합을 우리는 ‘수용된 프런티어(accepted frontier)’라고 부릅니다. 체인의 경우, 수용된 프런티어는 마지막으로 수용된 블록입니다. DAG(유향 비순환 그래프)의 경우, 수용된 프런티어는 수용되었지만 수용된 자식이 없는 정점 집합입니다. 시드 앵커로부터 수용된 프런티어를 수집한 후, 대다수의 시드 앵커가 수용한 상태 전환이 수용된 것으로 정의됩니다. 그 다음 올바른 상태는 샘플링된 노드와 동기화함으로써 추출됩니다. 시드 앵커 집합에 올바른 노드의 대다수가 있다면, 적어도 하나의 올바른 노드에 의해 수용된 상태 전환이 있어야 합니다.

네트워크 발견을 위한 이 상태 발견 과정은 네트워크의 멤버십 세트가 검증자 체인에 정의되어 있기 때문에 검증자 체인과 동기화함으로써 노드가 현재의 검증자 세트를 발견할 수 있게 합니다. 이 검증자 체인은 다음 섹션에서 더 자세히 논의될 예정입니다. 이러한 접근 방식은 노드가 네트워크에 참여하고, 네트워크의 현재 상태를 보다 정확하게 이해하며, 올바른 검증자와 통신할 수 있도록 보장합니다. 이것은 블록체인 시스템에서 중요한 부분이며, 네트워크의 보안과 효율성을 유지하는 데 필수적입니다.

실비 컨트롤 및 멤버십

합의 프로토콜은 시스템 내의 일정 수의 멤버가 적대적일 수 있다는 가정 하에 그들의 보안 보장을 제공합니다. 실비 공격이란, 한 노드가 네트워크에 악의적인 신원을 대량으로 쉽게 생성함으로써 이러한 보장을 쉽게 무효화할 수 있는 상황을 말합니다. 근본적으로, 이러한 공격은 오직 어렵게 위조할 수 있는 자원의 증명과의 교환을 통해서만 억제될 수 있습니다. 이전 시스템은 작업 증명(PoW), 지분 증명(PoS), 경과 시간 증명(POET), 공간 및 시간 증명(PoST), 그리고 권한 증명(PoA)에 이르기까지 다양한 실비 억제 메커니즘을 탐구해왔습니다.

모든 이러한 메커니즘의 핵심은 참여자 각자가 경제적 약속 형태로 일정한 “게임의 스킨”을 가져야 한다는 것을 요구한다는 것입니다. 이는 차례로 해당 참여자의 부정 행위에 대한 경제적 장벽을 제공합니다. 모두 어떤 형태의 지분을 포함하고 있으며, 이는 채굴 장비와 해시 파워(PoW), 디스크 공간(PoST), 신뢰할 수 있는 하드웨어(POET), 또는 승인된 신원(PoA)의 형태일 수 있습니다. 이 지분은 참여자가 목소리를 얻기 위해 부담해야 하는 경제적 비용의 기반이 됩니다. 예를 들어, 비트코인에서는 유효한 블록을 제안하는 참여자의 해시 파워에 비례하여 기여할 수 있는 능력이 직접적으로 결정됩니다. 그러나, 컨센서스 프로토콜과 실비 컨트롤 메커니즘 사이에 상당한 혼동도 있었습니다. 컨센서스 프로토콜의 선택이 대부분 실비 컨트롤 메커니즘의 선택과 직교한다는 점을 우리는 지적합니다. 이는 실비 컨트롤 메커니즘이 서로 대체 가능하다는 것을 의미하지 않지만, 특정 선택은 컨센서스 프로토콜의 기본적인 보장에 대한 함의를 가질 수 있습니다. 그러나, Snow* 계열은 이러한 알려진 메커니즘들과 상당한 수정 없이 결합될 수 있습니다.

최종적으로, 보안을 위해 그리고 참여자들의 이익이 네트워크의 이익과 일치하도록 보장하기 위해, $AVAX는 실비 컨트롤 메커니즘의 핵심으로 PoS(Proof of Stake, 지분증명)를 선택했습니다. 일부 형태의 지분은 본질적으로 중앙집중화되어 있습니다: 예를 들어, PoW(Proof of Work, 작업증명)의 채굴 장비 제조는 경쟁력 있는 VLSI 제조를 위해 필요한 수십 개의 특허에 대한 적절한 지식과 접근을 가진 소수의 사람들의 손에 중앙집중화되어 있습니다. 또한, PoW 채굴은 매년 큰 규모의 채굴자 보조금으로 인해 가치가 유출됩니다. 마찬가지로, 디스크 공간은 대규모 데이터센터 운영자들이 가장 풍부하게 소유하고 있습니다. 또한, 해시를 위한 전기 비용과 같이 지속적인 비용이 발생하는 모든 실비 컨트롤 메커니즘은 생태계에서 가치를 유출시키고 환경을 파괴한다는 점에서 문제가 있습니다. 이는 반대로 토큰의 실행 가능성 범위를 줄이며, 짧은 시간 내에 불리한 가격 변동이 시스템을 작동 불능 상태로 만들 수 있습니다. 작업증명은 저렴한 전기를 구매할 수 있는 연결을 가진 채굴자들을 선택하는 경향이 있으며, 이는 채굴자의 거래 직렬화 능력이나 전반적인 생태계에 대한 기여도와는 거의 관련이 없습니다. 이러한 옵션들 중에서, 우리는 지분증명을 선택했습니다. 왜냐하면 이는 친환경적이고 접근성이 높으며 모두에게 개방되어 있기 때문입니다. 그러나 $AVAX가 PoS를 사용하는 동안, 아발란체 네트워크는 PoW와 PoS로 서브넷을 출시할 수 있도록 합니다.

스테이킹은 개방형 네트워크에서 참여를 위한 자연스러운 메커니즘입니다. 이는 직접적인 경제적 논리를 가능하게 합니다: 공격의 성공 확률은 잘 정의된 금전적 비용 함수에 직접 비례합니다. 즉, 스테이크를 하는 노드들은 자신들의 스테이크 가치를 손상시킬 수 있는 행위에 참여하는 것에 대해 경제적으로 동기부여가 되어 있습니다. 또한, 이러한 스테이크는 추가적인 유지 비용(다른 자산에 투자하는 기회 비용 외에)을 발생시키지 않으며, 채굴 장비와 달리, 재앙적인 공격에서 사용될 경우 완전히 소모되는 특성을 가지고 있습니다. PoW 작업의 경우, 채굴 장비는 간단히 재사용되거나 – 소유자가 결정하기에 따라 – 시장에 완전히 판매될 수 있습니다.

네트워크에 참여하고자 하는 노드는 참여 기간 동안 동결되는 스테이크를 먼저 제공함으로써 자유롭게 네트워크에 진입할 수 있습니다. 사용자는 스테이크의 금액과 기간을 결정합니다. 스테이크가 한번 수락되면 되돌릴 수 없습니다. 주요 목표는 노드들이 네트워크의 대체로 안정적인 상태를 공유하도록 보장하는 것입니다. 최소 스테이킹 시간을 약 일주일 정도로 설정할 계획입니다.

달리 PoS 메커니즘을 제안하는 다른 시스템들과는 다르게, $AVAX는 슬래싱(slash, 처벌)을 사용하지 않으므로 스테이킹 기간이 만료되면 모든 스테이크가 반환됩니다. 이는 클라이언트 소프트웨어나 하드웨어의 실패로 인한 코인 손실과 같은 원치 않는 시나리오를 방지합니다. 이는 예측 가능한 기술을 구축하려는 우리의 디자인 철학과 일맥상통합니다: 스테이크된 토큰은 소프트웨어나 하드웨어 결함이 있더라도 위험에 처하지 않습니다.

아발란에서 참여를 원하는 노드는 검증자 체인에 특별한 스테이킹 거래를 발행합니다. 스테이킹 거래는 스테이크할 금액, 참여자의 스테이킹 키, 기간, 검증 시작 시간을 명시합니다. 거래가 승인되면, 자금은 스테이킹 기간이 끝날 때까지 잠깁니다. 최소 허용 금액은 시스템에 의해 결정되고 집행됩니다. 참가자가 배치한 스테이크 금액은 참가자가 합의 과정에서 가지는 영향력과 나중에 논의될 보상에 모두 영향을 미칩니다. 지정된 스테이킹 기간은 최소 시간(δmin)과 최대 시간(δmax) 사이에 있어야 합니다. 스테이킹 금액과 마찬가지로 스테이킹 기간도 시스템에서의 보상에 영향을 줍니다. 스테이킹 키의 분실이나 도난은 자산 손실로 이어지지 않습니다. 스테이킹 키는 자산 이전이 아닌 합의 과정에서만 사용되기 때문입니다.

$AVAX의 스마트 계약

출시 시, 아발란는 이더리움 가상 머신(EVM)을 통해 표준 솔리디티 기반 스마트 계약을 지원합니다. 우리는 플랫폼이 더 풍부하고 강력한 스마트 계약 도구 세트를 지원할 것으로 기대합니다. 이러한 도구에는 다음이 포함될 수 있습니다:

  • 오프체인 실행 및 온체인 검증이 가능한 스마트 계약.
  • 병렬 실행이 가능한 스마트 계약. 아발란체의 어떤 서브넷에서도 같은 상태를 운영하지 않는 모든 스마트 계약은 병렬로 실행될 수 있습니다.
  • 향상된 Solidity, 즉 Solidity++. 이 새로운 언어는 버전 관리, 안전한 수학 및 고정 소수점 산술, 개선된 타입 시스템, LLVM으로의 컴파일, 그리고 즉시 실행(JIT)을 지원할 것입니다.

개발자가 EVM 지원이 필요하지만 스마트 계약을 개인 서브넷에 배포하고자 할 때, 그들은 직접 새로운 서브넷을 생성할 수 있습니다. 이것이 어발란체가 서브넷을 통해 기능별 샤딩을 가능하게 하는 방법입니다. 또한, 개발자가 현재 배포된 이더리움 스마트 계약과 상호 작용이 필요한 경우, 이더리움의 포크인 아테리움(Athereum) 서브넷과 상호 작용할 수 있습니다. 마지막으로, 개발자가 이더리움 가상 머신과 다른 실행 환경을 필요로 한다면, DAML이나 WASM과 같은 다른 실행 환경을 구현하는 서브넷을 통해 스마트 계약을 배포할 수 있습니다. 서브넷은 VM 동작을 넘어 추가적인 기능을 지원할 수 있습니다. 예를 들어, 서브넷은 더 큰 검증자 노드가 스마트 계약을 더 길게 보유하거나, 검증자가 계약 상태를 개인적으로 보유하는 것에 대한 성능 요구 사항을 강제할 수 있습니다.

거버넌스와 $AVAX 토큰

$AVAX 네이티브 토큰

통화 정책 네이티브 토큰인 $AVAX는 총 공급량이 7억 2천만 개로 제한되어 있으며, 메인넷 출시 시점에 3억 6천만 개의 토큰이 공급되었습니다. 그러나 다른 제한된 공급 토큰들이 지속적으로 채굴 속도를 고정하는 것과 달리, $AVAX는 변화하는 경제 조건에 반응하도록 설계되었습니다. 특히, $AVAX의 화폐 정책의 목표는 사용자들이 토큰을 스테이킹하는 것과 플랫폼에서 제공하는 다양한 서비스를 이용하는 것 사이의 인센티브를 균형있게 조절하는 것입니다. 플랫폼 참여자들은 집단적으로 분산된 예비은행 역할을 합니다. 아발란체에서 사용할 수 있는 조절 수단은 스테이킹 보상, 수수료, 에어드롭 등이며, 이 모든 것은 관리 가능한 파라미터에 의해 영향을 받습니다. 스테이킹 보상은 온체인 거버넌스에 의해 설정되며, 총 공급량을 결코 초과하지 않도록 설계된 함수에 의해 규정됩니다. 스테이킹은 수수료를 증가시키거나 스테이킹 보상을 증가시킴으로써 유도될 수 있습니다. 반면에, 수수료를 낮추고 스테이킹 보상을 감소시켜 아발란체 플랫폼 서비스에 대한 참여를 증가시킬 수 있습니다.

용도

실제로 완전한 분산형 피어 투 피어 결제는 현재 존재하는 시스템의 성능 부족으로 인해 대부분 실현되지 않은 꿈입니다. 하지만 $AVAX는 Visa를 사용하는 것만큼 강력하고 사용하기 쉬우며, 전 세계적으로 매초 수천 건의 거래를 완전히 신뢰할 수 없는 분산 방식으로 처리할 수 있습니다. 더욱이, 전 세계의 상인들에게 $AVAX는 Visa보다 낮은 수수료라는 직접적인 가치 제안을 제공합니다.

아발란 플랫폼에서는 스테이킹을 통해 시빌 공격 방지가 이루어집니다. 참여자가 검증자가 되기 위해서는 코인을 잠가야 하며, 이를 스테이킹이라고 합니다. 검증자(때로는 스테이커라고도 함)는 스테이킹의 양과 기간, 그 외 다른 속성에 기반해 검증 서비스에 대한 보상을 받습니다. 선택된 보상 함수는 변동성을 최소화해야 하며, 큰 스테이커가 과도하게 더 많은 보상을 받지 않도록 보장해야 합니다. 참여자는 PoW 마이닝에서처럼 “운” 요소에 의존하지 않습니다. 이러한 보상 체계는 마이닝 또는 스테이킹 풀의 형성을 방지하며, 네트워크에 진정으로 분산되고 신뢰할 수 있는 참여를 가능하게 합니다.

$AVAX 토큰은 시스템의 핵심 보안을 제공하는 것 외에도 범용 교환 단위로 기능합니다. 이를 통해 아발란체 플랫폼은 플랫폼 내에서 원래 지원되는 신뢰할 수 없는 원자 스왑을 가능하게 하여, 아발란체 상에서 직접 모든 유형의 자산을 진정으로 분산된 방식으로 교환할 수 있습니다.

통치

거버넌스는 아발란체와 같은 모든 시스템의 자연스러운 진화와 업데이트를 관리하는 데 중요한 요소입니다. $AVAX는 네트워크의 중요한 파라미터에 대한 온체인 거버넌스를 제공하여 참여자들이 네트워크 변경 사항에 투표하고 네트워크 업그레이드 결정을 민주적으로 결정할 수 있습니다. 이는 최소 스테이킹 금액, 발행 비율 및 기타 경제적 파라미터와 같은 요소를 포함합니다. 이를 통해 플랫폼은 군중 오라클을 통해 동적 파라미터 최적화를 효과적으로 수행할 수 있습니다. 그러나 다른 거버넌스 플랫폼과 달리 아발란는 시스템의 임의적인 측면에 대한 무제한 변경을 허용하지 않습니다. 대신, 거버넌스를 통해 수정될 수 있는 파라미터의 수가 사전에 결정되어 시스템을 더 예측 가능하게 만들고 안전성을 높입니다. 또한, 모든 거버넌스 가능한 파라미터는 특정 시간 범위 내에서 제한이 적용되어 히스테리시스를 도입하고 단기간 동안 시스템이 예측 가능하게 유지되도록 합니다.

관리자 없는 분산 시스템에서 시스템 파라미터에 대한 전 세계적으로 수용 가능한 값을 찾는 실행 가능한 프로세스는 매우 중요합니다. 아발란체는 그것의 합의 메커니즘을 사용하여 누구나 특별 거래를 제안할 수 있는 시스템을 구축할 수 있습니다. 이것은 본질적으로 시스템 전체에 대한 투표입니다. 참여하는 모든 노드가 그러한 제안을 발행할 수 있습니다.

명목 보상률은 디지털이든 현금이든 모든 화폐에 중요한 매개변수입니다. 안타깝게도 이 매개변수를 고정하는 암호화폐는 인플레이션이나 디플레이션과 같은 다양한 문제에 직면할 수 있습니다. 이를 해결하기 위해, 명목 보상률은 사전에 설정된 범위 내에서 거버넌스의 대상이 됩니다. 이는 토큰 소유자들이 $AVAX가 결국 캡이 설정된 화폐인지, 무제한인지, 아니면 디플레이션적인지를 선택할 수 있게 합니다.

거래 수수료는 F 집합으로 표시되며, 이 또한 거버넌스의 대상입니다. F는 다양한 명령과 거래에 연관된 수수료를 설명하는 튜플입니다. 마지막으로, 스테이킹 시간과 금액도 거버넌스를 통해 조정될 수 있습니다. 이러한 매개변수들의 목록은 그림 1에 정의되어 있습니다.

아발란체 코인 백서 2
[그림 1] 아발란체에서 사용되는 주요 비합의 파라미터들입니다. 모든 표기법은 처음 사용될 때마다 재정의됩니다.

$AVAX의 거버넌스에서는 금융 시스템의 예측 가능성 원칙에 따라, 히스테리시스가 존재합니다. 이는 매개변수의 변경이 최근 변화에 크게 의존한다는 것을 의미합니다. 각 거버넌스 가능 매개변수에는 두 가지 제한이 있습니다: 시간과 범위입니다. 거버넌스 트랜잭션을 사용하여 매개변수가 변경되면, 곧바로 그리고 큰 폭으로 다시 변경하기가 매우 어렵습니다. 이러한 어려움과 값 제약은 마지막 변경 이후 시간이 지남에 따라 완화됩니다. 전반적으로, 이는 시스템이 단기간에 급격히 변하는 것을 방지하며, 사용자가 단기적으로 시스템 매개변수를 안전하게 예측할 수 있게 하면서도 장기적으로는 강력한 제어와 유연성을 가질 수 있게 합니다.

논의

최적화

전정 많은 블록체인 플랫폼, 특히 비트코인과 같이 나카모토 합의를 구현하는 플랫폼들은 영구적인 상태 성장의 문제를 겪고 있습니다. 이는 프로토콜에 따라 모든 거래 내역을 저장해야 하기 때문입니다. 그러나 블록체인이 지속 가능하게 성장하기 위해서는 오래된 내역을 정리할 수 있어야 합니다. 이는 아발란체와 같이 높은 성능을 지원하는 블록체인에 특히 중요합니다.

눈(Snow*) 계열에서는 프루닝이 간단합니다. 비트코인(및 유사한 프로토콜)과는 달리, 알고리즘 요구 사항에 따라 프루닝이 불가능한 것과는 반대로, $AVAX 노드들은 깊고 확실히 확정된 DAG의 일부를 유지할 필요가 없습니다. 이러한 노드들은 새로운 부트스트래핑 노드에게 과거의 역사를 증명할 필요가 없으므로, 단순히 활성 상태, 즉 현재의 잔액과 미확정된 거래만을 저장하면 됩니다.

아발란체는 세 가지 유형의 클라이언트를 지원할 수 있습니다: 아카이브 노드, 전체 노드, 그리고 경량 노드입니다. 아카이브 노드는 $AVAX 서브넷, 스테이킹 서브넷, 그리고 스마트 계약 서브넷의 전체 역사를 창세기까지 저장하며, 이러한 노드는 새로 들어오는 노드들을 위한 부트스트래핑 노드로서 기능합니다. 또한, 이 노드들은 검증자로 선택하기로 한 다른 서브넷의 전체 역사를 저장할 수도 있습니다. 아카이브 노드는 일반적으로 높은 저장 용량을 가진 기계로, 오래된 상태를 다운로드할 때 다른 노드로부터 비용을 지불받습니다. 반면, 전체 노드는 모든 역사를 저장하는 대신 활성 상태(예: 현재 UTXO 집합)만을 저장하며 검증에 참여합니다. 마지막으로, 가장 최소한의 자원을 사용하여 네트워크와 안전하게 상호작용하기만 필요한 사용자를 위해, 아발란체는 경량 클라이언트를 지원합니다. 이 클라이언트는 역사를 다운로드하거나 동기화할 필요 없이 어떤 거래가 커밋되었는지 증명할 수 있습니다. 경량 클라이언트는 프로토콜의 반복 샘플링 단계에 참여하여 안전한 커밋먼트와 네트워크 전체의 합의를 보장합니다. 따라서, 아발란체의 경량 클라이언트는 전체 노드와 동일한 보안 보장을 제공합니다.

샤딩은 시스템 자원을 분할하여 성능을 향상시키고 부하를 줄이는 과정입니다. 샤딩에는 여러 가지 유형이 있습니다. 네트워크 샤딩에서는 참여자 집합을 별도의 하위 네트워크로 나누어 알고리즘 부하를 줄입니다; 상태 샤딩에서는 참여자들이 전체 글로벌 상태의 특정 부분만을 저장하고 유지하기로 합의합니다; 마지막으로, 거래 샤딩에서는 참여자들이 들어오는 거래의 처리를 분리하기로 합의합니다.

“Avalanche Borealis”(아발란체 보레알리스)에서는 서브네트워크 기능을 통해 샤딩의 첫 번째 형태가 구현됩니다. 예를 들어, 금에 대한 서브네트와 부동산에 대한 서브네트를 각각 출시할 수 있습니다. 이 두 서브네트는 완전히 병렬로 독립적으로 존재할 수 있습니다. 이러한 서브네트는 사용자가 자신의 금 보유분을 사용하여 부동산 계약을 구매하고자 할 때만 상호 작용합니다. 이때, 아발란는 두 서브넷 간에 원자 스왑을 가능하게 하여 거래를 진행할 수 있습니다.

우려사항

포스트 퀀텀 암호학은 최근 양자 컴퓨터와 알고리즘의 발전으로 인해 널리 주목받고 있습니다. 양자 컴퓨터에 대한 우려는 현재 사용되고 있는 암호화 프로토콜, 특히 디지털 서명을 깰 수 있다는 점입니다. 아발란 네트워크 모델은 다수의 VM을 지원할 수 있으므로, 적절한 디지털 서명 메커니즘을 갖춘 양자 저항성 가상 머신을 지원합니다. 우리는 양자 저항성 RLWE 기반 서명을 포함한 여러 가지 디지털 서명 스킴이 배포될 것으로 예상합니다. 합의 메커니즘은 핵심 작업을 위해 어떤 종류의 무거운 암호화도 가정하지 않습니다. 이 설계를 바탕으로, 양자 보안 암호화 원시 데이터를 제공하는 새로운 가상 머신으로 시스템을 확장하는 것은 간단합니다.

현실적인 적 아발란체 논문은 전체 점대점 모델에서 ‘라운드 적응형 적대자’로 알려진 강력하고 적대적인 존재에 대해 매우 강력한 보장을 제공합니다. 다시 말해, 이 적대자는 모든 올바른 노드의 상태에 대한 완전한 접근 권한을 가지고 있으며, 모든 올바른 노드의 무작위 선택을 알고 있으며, 올바른 노드가 자신의 상태를 업데이트하기 전후 언제든지 자신의 상태를 업데이트할 수 있습니다. 실질적으로, 이 적대자는 올바른 노드의 상태를 직접 업데이트하거나 올바른 노드 간의 통신을 수정하는 능력을 제외하고는 전능합니다. 그러나 현실에서는 이러한 적대자는 순전히 이론적이며, 가장 강력한 가능한 적대자의 실제 구현은 네트워크 상태의 통계적 근사치에 국한됩니다. 따라서 실제로는 최악의 시나리오 공격을 배치하는 것이 어려울 것으로 예상됩니다.

포용과 평등 비허가형 화폐에서 흔히 발생하는 문제 중 하나는 “부자는 더 부자가 된다”는 것입니다. 이는 PoS(Proof of Stake, 지분증명) 시스템이 부적절하게 구현되었을 경우, 이미 시스템 내에서 큰 지분을 가진 소유자에게 부의 생성이 불균형적으로 귀속될 수 있다는 유효한 우려입니다. 간단한 예로, 지정된 리더나 소위원회가 운영 중 모든 보상을 수집하는 리더 기반 합의 프로토콜에서, 보상을 수집할 확률이 지분에 비례하여, 강력한 보상의 복리 효과를 누립니다. 또한 비트코인과 같은 시스템에서는 큰 광부가 작은 광부보다 적은 고아 블록과 덜 손실된 작업의 이점을 누리는 “큰 것이 더 커진다”는 현상이 있습니다. 이와 대조적으로, 아발란체는 발행의 평등한 분배를 채택하여, 스테이킹 프로토콜에 참여하는 모든 참가자에게 지분에 기반하여 공정하고 비례적인 보상을 제공합니다. 아발란체는 매우 많은 수의 사람들이 스테이킹에 직접 참여할 수 있도록 함으로써, 수백만 명의 사람들이 스테이킹에 동등하게 참여할 수 있도록 수용할 수 있습니다. 프로토콜 참여에 필요한 최소 금액은 거버넌스를 통해 결정될 예정이지만, 넓은 참여를 장려하기 위해 초기에는 낮은 값으로 설정될 것입니다. 이는 또한 소규모 참여를 위한 위임이 필요하지 않음을 의미합니다.


결론

아발란체 플랫폼의 구조에 대해 논의한 이 논문에서, 오늘날 다른 플랫폼들이 실행하는 전통적인 합의 프로토콜은 본질적으로 확장성이 없거나, 나카모토 스타일의 합의를 사용하여 비효율적이고 운영 비용이 높다는 점과 비교했을 때, 아발란체는 가볍고, 빠르며, 확장성이 높고, 안전하며, 효율적입니다. 네트워크 보안 유지 및 다양한 인프라 비용 지불에 사용되는 기본 토큰은 단순하고 이전 버전과 호환됩니다. $AVAX는 다른 제안들보다 더 높은 수준의 분산화, 공격 저항력을 달성하고, 어떠한 쿼럼이나 위원회 선출 없이도 수백만 개의 노드로 확장할 수 있는 능력을 가지고 있으며, 따라서 참여에 대한 어떠한 제한도 부과하지 않습니다.

아발란체는 합의 엔진 외에도 많은 혁신을 제시하고 있습니다. 이는 거래 관리, 거버넌스 및 기타 플랫폼에서 찾아볼 수 없는 다양한 구성 요소에서 간단하지만 중요한 아이디어를 도입하는 것을 포함합니다. 프로토콜의 모든 참가자는 강력한 거버넌스 메커니즘을 통해 프로토콜이 어떻게 발전해 나갈지에 대해 언제든지 목소리를 낼 수 있습니다. 아발란체는 높은 사용자 정의성을 지원하여 기존 블록체인과의 거의 즉각적인 플러그 앤 플레이를 가능하게 합니다.

참고자료

글쓴이