의견.png

피어코인

해시넷
ssh957 (토론 | 기여)님의 2020년 7월 9일 (목) 13:55 판
이동: 둘러보기, 검색
피어코인(Peercoin)
피어코인(Peercoin)

피어코인(Peercoin) 또는 피피코인(PPCoin)은 지분증명 및 작업증명 시스템을 모두 사용하는 피투피 암호화폐이다.

개요

피어코인은 피투피(Peer-to-Peer) 암호화폐로 사토시 나카모토비트코인에서 유래되어 설계되었다. 2008년 비트코인이 만들어진 이후, 비트코인의 증명 방식인 작업증명은 피어코인의 주요 설계였다. 하지만 이후 피어코인은 지분증명(Proof of Stake)이 작업증명(Proof of Work) 보다 효율적이라는 것을 깨닫고 증명방식을 지분증명 방식으로 대체하게 되며, 대부분의 네트워크 보안을 지분증명 방식을 통해 대체하게 됐다. 그렇기 때문에 무수한 연산 작업을 통해 전력량이 과도하게 사용해야 하는 작업증명 방식이 아닌 보유한 지분율에 따른 의사결정 권한을 주는 지분증명 방식을 사용하는 피어코인의 네트워크 보안 수준이 높다. 또한 장기적으로 에너지 소비량에 의존하지 않으므로 에너지 효율성이 높기 때문에 비용 경쟁력이 더 높은 피투피 암호화폐를 제공할 수 있다. 이러한 지분증명 방식은 코인 연령을 기반으로 하여 비트코인과 유사하지만 검색 공간이 제한되어 있는 해싱 방식을 통해 각 노드에 의해 생성되며, 블록체인 기록과 트랜잭션 정산은 중심적으로 알려진 체크포인트 메커니즘에 의해 더욱더 보호된다.

특징

코인 연령

피어코인은 코인 연령(Coin Age) 계산을 용이하게 하기 위해 각 거래에 타임스탬프 필드를 도입했다. 블록 타임 스탬프 및 트랜잭션 타임스탬프 관련 프로토콜이 강화되어 코인 연령 연산을 보장한다. 이러한 코인 연령 개념은 적어도 2010년 초에 비트코인의 창시자 사토시 나카모토에 의해 알려졌다. 코인 연령 개념은 비트코인의 보안 모델을 구성하는 데 중요한 역할을 차지하지는 않았지만, 코인 거래시 거래의 우선 순위를 돕기위해 사용되었다. 코인 연령은 단순히 통화량 곱하기 보유기간으로 정의된다. 간단한 예로 밥이 앨리스로부터 코인 10개를 받아 90일 동안 보관했다면, 밥이 900일의 코인을 축적했다고 생각하면된다. 게다가, 밥이 앨리스로부터 받은 동전 10개를 쓸 때, 밥이 이 코인 10개로 축적된 코인 연령이 소비되었다(또는 파괴되었다)고 말한다.

지분증명

피어코인의 보안 방식은 지분증명(Proof of Stake) 방식을 사용하므로 에너지 소비에 의존할 필요가 없다. 기존의 비트코인과 그 이후의 대부분의 암호화폐들의 증명방식으로 작업증명을 사용했다. 작업 증명의 특성은 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식이다. 작업증명은 사토시 나카모토의 주요 돌파구를 탄생시키는데 도움이 됐지만, 작업증명은 시간이 지남에따라 채굴난이도가 높아지면서 개인 채굴자는 채굴을 할 수 없는 수준까지 도달했다. 또한 연산에 필요한 고사양 장비가 필요하고 과도한 전력소모로 인한 에너지 낭비가 심하다. 이러한 특성 때문에 코인 채굴을 하기위한 네트워크 운영에 따른 비용 상당히 발생하고 이에대한 부담을 감당해야한다. 또한 비트코인 네트워크에서 민팅의 비율이 둔화되면서, 결국엔 기본 보안수준을 유지하기 위해 거래 수수료 인상에 압력을 넣게 되는 상황이 발생했다. 하지만 지분증명 방식은 에너지 소비에 의존할 필요가 없기 때문에 작업증명에서 발생하는 부담을 해결할 수 있다. 지분증명의 개념은 2011년 초에 비트코인 커뮤니티에서 논의 되었다. 지분증명은 해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 합의 알고리즘이다. 작업증명과 다르게 작업량이 아닌 지분에 비례하여 블록에 기록할 권한이 더 많이 부여되는 것이다. 그러므로 지분증명이 적용된 암호화폐 보유자는 보유한 지분에 따라 채굴에 성공할 확률이 결정되는 방식이다.

블록생성

피어코인의 설계에서 네트워크 생성률이 갑자기 급등하지 않도록 작업증명 해시 대상과 지분증명 해시 대상 모두 비트코인의 2주 조정 주기보다는 지속적으로 조정하고 있다. 하이브리드 설계에서 블록은 작업증명과 지분증명의 두 가지 유형으로 구분된다. 새로운 유형의 블록에 있어서 지분증명은 코인스테이크(비트코인의 특수 거래 코인베이스의 이름을 따서 명명)라는 특수 거래이다. 동일인 거래 블록 소유자는 거래에서 네트워크를 위한 블록을 생성하고 취득 증명서를 위한 채굴이라는 특권을 얻으면서 코인 연령을 소비한다. 코인스테이크의 첫 번째 입력을 커널(kernel)이라고 하며 특정 해시 대상 프로토콜을 충족하기 위해 필요하므로, 지분증명 방식의 블록 생성을 작업증명 방식의 블록과 유사한 확률적 프로세스로 만든다. 그러나 중요한 차이점은 해싱 작업이 작업 증명과 같이 무제한 검색 공간 대신 제한된 검색 공간(특히 초당 1개의 해시)을 통해 수행되므로 상당한 에너지 소비는 발생하지 않는다는 점이다. 지분 커널이 충족해야 하는 해시 타겟은 커널에서 소비되는 단위 코인 연령당 목표치이다(모든 노드에 적용되는 고정 목표값인 비트코인의 작업증명 목표치와는 대조적으로). 따라서 커널에서 코인 연령이 많이 소비될수록 해시 대상 프로토콜을 더 쉽게 충족할 수 있다. 예를 들어, 만약 밥이 100만큼의 코인 연령을 누적하여 이틀 안에 커널을 생성하기를 기대하는 지갑-출력이 있다면, 앨리스는 할 수 있게된다는 것이다. 대략 그녀의 200년 암호화폐 지갑 출력이 하루 안에 커널을 만들어낼 것으로 예상한다.

채굴

비트코인의 작업증명 채굴외에 지분증명 블록에도 새로운 채굴 과정이 도입된다. 지분증명 블록은 코인스테이크 거래에서 소비된 코인 연령을 기준으로 코인을 채굴한다. 소비되는 코인 당 1%의 민팅은 낮은 미래 인플레이션율을 발생시키기 위해 선택된다. 피어체인은 초기 채굴을 용이하게 하기 위해 작업증명을 채굴 프로세스의 일부로 유지했지만, 순수한 지분증명 시스템에서 초기 채굴은 기업공개(IPO)와 유사한 프로세스를 통해 제네시스블록에 완전히 시딩될 수 있다.

프로토콜

어떤 경쟁 블록체인이 메인 체인으로 승리하는지를 결정하는 프로토콜은 소비된 코인 연령을 사용하기 위해 전환된다. 여기서 블록체인 안에 모든 트랜잭션은 블록의 점수를 위한 소비된 코인연령에 기여한다. 총 소비 코인 연령이 가장 높은 블록체인을 메인체인으로 선택한다. 비트코인의 메인체인 프로토콜안에서 작업증명을 사용하는 것과 대조적으로, 블록체인 전체 작업은 메인체인을 결정하는데 사용된다. 이 설계는 좋은 노드가 네트워크 채굴 전력의 51% 이상을 제어할 때에만 시스템이 안전하다고 간주되는 비트코인의 51% 가정에 대한 우려를 완화해준다. 그이유의 첫째로, 상당한 지분을 통제하는 데 드는 비용이 상당한 채굴력을 획득하는 비용보다 더 높을 수 있다. 따라서 이러한 강력한 기업에 대한 공격 비용이 증가할 수 있다. 그리고 둘째로, 공격시 공격자의 코인 연령이 소비되므로 코인 연령이 낮아질 수 있다. 공격자는 트랜잭션이 메인체인으로 들어가지 못하도록 계속차단하기 어렵다는 이유가 있다.

체크포인트

메인체인을 결정하기 위해 전체 소비된 코인 연령 사용의 단점 중 하나는 역사의 전체 블록사슬에 공격 비용을 절감한다는 것이다. 비록 비트코인이 역사상 상대적으로 강력한 보호책이 있어도 나카모토는 여전히 체크포인트 이전 블록체인의 일부에 대한 가능한 모든 변화를 방지하고 블록체인의 역사를 공고히 하는 기구로 2010년에 체크포인트를 도입했다.

또 다른 관심사는 공격 이중지출 비용이 인하될 수 있었다는 것 뿐만 아니라 공격자가 그냥 코인 연령의 일정 금액을 축적하고 블록체인의 개편을 할 수도 있다는 것이다. 이러한 시스템에서 상거래를 실용적으로 하기 위해, 피어코인은 블록체인을 동결하고 거래를 마무리하는 역할을 하는 일을 매일 짧은 간격으로 중심적으로 방송되는 체크포인트의 추각 양식을 도입했다. 체크포인트의 새로운 유형은 비트코인의 경보시스템과 유사하다.

로리는 비트코인은 체킹포인트로 분산되지 않는 메커니즘이 분포된 컨센서스 문제가 완전히 해결되지 않았음을 주장했다. 피어코인은 실용적으로 분포된 체킹포인트 프로토콜을 설계하려고 시도했지만 네트워크 분할 공격에 대비한 안전한 보안이 어렵다는 것을 발견했다. 방송된 체킹포인팅 메커니즘이 중앙 집중화의 한 형태이지만, 분산된 솔루션 제공되기 전에 수용할 수 있는 것을 고려해야한다.

또 다른 기술적인 이유는 중앙 방송 체킹포인팅의 사용을 수반한다는 것이다. 지분증명 블록이 각 노드의 로컬 데이터베이스 블록트리(block tree)에 받아들여지기 전에 서비스 거부 공격 코인스테이크 커널(coinstake kernel)의 유형에 맞서 방어하기 위해서 반드시 확인해야한다. 비트코인 노드의 데이터모델 때문에(특히 거래지표) 체킹포인팅의 마감은 블록트리로 블록을 수락하기 전에 각 코인스테이크 커널의 연결을 확인하는 모든 노드의 기능을 보장하기 위해 필요하다. 위의 실제적인 고려 사항으로 인해 피어코인은 노드의 데이터 모델을 수정 안하지만 대신에 중앙 체킹포인팅을 사용하기로 결정했다. 피어코인의 해결책은 최소연령을 필요로하는 코인 연령의 계산을 0 이하로 계산되는 코인 연령은 1개월로 계산하는 것처럼 수정하는 것이다. 그러면 중앙 체킹포인팅은 모든 노드를 한 달 이전의 과거 거래에 동의 할 수 있도록하는 데 사용되므로, 1개월 이상 전의 출력 반드시 사용해야 한다. 따라서 0이 아닌 코인 연령이 요구되므로 코인스테이크 커널의 연결확인을 허용한다.

블록서명 및 중복지분 프로토콜

각 블록은 복사 공격자에 의해 사용되는 동일한 증거의 지분을 방지하기 위해 소유자가 반드시 서명해야한다.

중복-지분 프로토콜은 디도스(DoS) 공격과 같은 블록의 다수를 생성하는 하나의 증거의 지분을 사용하는 공격자에 대한 방어하도록 설계되었다. 각 노드는 본 코인스테이크 거래의 모든 쌍(커널, 타임스탬프를 수집한다. 수신된 블록이 다른 이전에 수신 블록으로 중복 쌍을 포함하는 경우 후속 블록이 고아블록(orphan block)으로 수신 될 때까지, 피어코인은 중복=지분 블록을 무시한다.

에너지 효율

작업증명의 조폐율이 0에 가까워지면 작업증명 블록을 조폐할 동기 점점 줄어든다. 이러한 장기적 시나리오에서는 관심 없는 채굴자들이 작업증명 블록 채굴을 중단함에 따라 네트워크의 에너지 소비량이 매우 낮은 수준으로 떨어질 수 있다. 비트코인 네트워크는 거래량/수수료가 에너지 소비를 유지할 수 있을 만큼 높은 수준으로 상승하지 않는 한 그러한 위험에 직면해 있다. 피어코인의 설셰에서는 에너지 소비가 제로로 접근하는 경우에도 네트워크는 여전히 지분증명에 의해 보호된다. 암호화폐가 만약 작업증명에 있는 소비가 0에 접근이 허용된다면, 피어코인은 장기적인 에너지 효율의 암호화폐를 소집한다. 또 다른

각주

참고자료

같이 보기


  질문.png 이 문서는 로고 수정이 필요합니다.  

  의견.png 이 피어코인 문서는 암호화폐 종류에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.