avatar
Published on

작업 증명이 없는 암호화폐

Author
  • avatar
    Name
    yceffort

작업 증명이 없는 암호화폐

원문

비트코인의 탈중앙화적인 특징은, 누구든 어떤 시점에서 'miner'가 될수 있으며, 이는 비트코인 시스템의 보안성을 유지한다는 것이며, 이 작업을 통해 보상을 받는 다는 것을 의미한다. 채굴자들은 지속적으로 작업증명을 실행하며, 이는 어려운 컴퓨팅 작업을 수행한다는 것을 의미한다. 이런 작업증명은 원장 이력에 대해 합의를 이룰 수 있게 해주며, 이는 거래를 동기화 시키고 사용자르 이중 지불 문제로 부터 보호해 준다.

작업 증명 메커니즘을 통해, 각 마이너들은 전기 및 마이닝 장비에 대한 물리적인 자원을 고갈 시키고, 비트코인 시스템 내에서 소비할 수 있는 코인형태의 암호화 자원을 얻는다. 하지만, 만약에 탈중앙화된 암호화폐가 물리적인 자원을 소모하지 않고도 비트코인 만큼 안전한 시스템을 만들 수 있을까?

이러한 물리적 자원낭비에 의존하지 않는 암호화폐 프로토콜을 지분증명이라고 한다. 이는 시스템 내에 화폐를 소유한 당사자에게 원장의 이력을 지속 시킬 수 있는 권한을 주는 메커니즘이다. 지분증명은, 시스템의 보안이 침해 당할 때 가치가 하락하므로, 시스템에 지분을 보유한 실체가 보안을 유지하기에 적합한 모델이다. 따라서, 비트코인과 유사한 방식으로, 유통되는 화폐의 pp 비율 만큼 가지고 있는 노드가 pp 만큼의 확률로 다음 원장을 만들 수 있는 기회를 가지게 된다.

작업증명을 기반으로 하는 암호화폐의 경우에는, 마이닝 파워가 해킹 등의 공격에 상당부분 포함될 경우 위험해질 가능성이 있다. 반면에, 순수한 지분증명 화폐의 경우에는 대부분의 소유자들이 공격에 참여하게 될 경우 취약해진다. 지분증명 시스템에서 대다수의 참가자들이 공격에 뛰어 들 경우, 이는 시스템이 더 이상 유지될 가치가 없다고 보는 것이 맞을 것이다. 그러므로 지분의 과반수가 공격에 가담하지 않을 것이라는 것을 가정할 수 있다.

지분증명 시스템을 구축하기 위해서는 명백한 두 가지 장애물이 있다. 하나는, 초기에 이해 당사자들에게 화폐를 공정하게 분배하는 문제와, 그리고 노드가 이타적이라기 보다는 합리적으로 행동할 경우 발생할 수 있는 네트워크의 취약성 문제다. 작업 증명은 첫번째 장애물에 대해서는 물리적인 컴퓨팅 리소스를 가진 이들에게 화폐를 분배하는 방식의 유연한 해결책을 제시한다.

지분증명 시스템 하에서는, 처음에 화폐를 분배하는 단계에서만 작업증명 방식을 사용한다. 그리고 이 시스템 하에서는, 다음 볼륵을 다음과 같은 방적식을 사용하여 생성할 수 있다.

hash(\text{prev_blocks_data}, \text{time_in_seconds}, txout_A) \leq d_0 \cdot \text{coins}(txout_A) \cdot \text{timeweight}(txout_A)

해당 방정식에서, \text{time_in_seconds}는 현재시간과 일치해야 하므로, 해시 시도를 초당 1로 제한하고, 다음 블록을 만들 때 작업증명 사용을 방지한다. 왜냐하면 노드는 새 블록의 시간과 로컬 시간의 차이가 어느 선을 벗어나지 않는 한 유효하지 않은 않은 블록으로 간주하기 때문이다. coins(txoutA)\text{coins}(txout_A)는 거래 txoutA{txout_A}의 결과 나온 사용하지 않은 양의 코인을 의미한다. 그러므로 이해관계자 A가 txoutAtxout_A를 컨트롤 할 수 있는 자신의 개인키 skAsk_A를 가지고 있다면, 그는 블록에 skAsk_A를 이용하여 서명을 함으로써 유효한 블록을 만들어 낼 수 있다. 그리고, 이 방정식에 대한 증거로 서명을 첨부하게 된다. 상수 d0d_0는 평균 10분 간격으로 블록을 생성하도록 명령하는 프로토콜에 의해 조정될 수 있다. 일례로, 특정 기간 동안 온라인 상태인 이해관계자가 적을경우, d0d_0의 값은 증가하게 된다. 여기에서 승리하게 되는 블록체인은 누적지분이 가장 많이 보유하고 있을 것이다. 이러한 지분 블록을 많이 가진 블록체인 일 수록, d0d_0의 난이도가 증가할 것이다.

보안의 유지를 위해, 물리적인 자원 사용에 의지 하지 않는 지속가능한 탈중앙화 암호화폐 프로토콜을 만드는 것은 굉장히 어려운 일이다. 그리고 기존 암호화폐의 프로토콜이 보안에 취약한 면면을 보이고 있다. 이러한 지분 증명은 보안의 문제와 더불어, 물리적인 자원을 소모하는 문제 모두를 해결 할 수 있다고 생각한다.