피어코인 편집하기
편집을 되돌릴 수 있습니다.
이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 | 당신의 편집 | ||
29번째 줄: | 29번째 줄: | ||
또 다른 관심사는 공격 이중지출 비용이 인하될 수 있었다는 것뿐만 아니라 공격자가 그냥 코인 연령의 일정 금액을 축적하고 블록체인의 개편을 할 수도 있다는 것이다. 이러한 시스템에서 상거래를 실용적으로 하기 위해, 피어코인은 블록체인을 동결하고 거래를 마무리하는 역할을 하는 일을 매일 짧은 간격으로 중심적으로 방송되는 체크포인트의 추가 양식을 도입했다. 체크포인트의 새로운 유형은 비트코인의 경보시스템과 유사하다. | 또 다른 관심사는 공격 이중지출 비용이 인하될 수 있었다는 것뿐만 아니라 공격자가 그냥 코인 연령의 일정 금액을 축적하고 블록체인의 개편을 할 수도 있다는 것이다. 이러한 시스템에서 상거래를 실용적으로 하기 위해, 피어코인은 블록체인을 동결하고 거래를 마무리하는 역할을 하는 일을 매일 짧은 간격으로 중심적으로 방송되는 체크포인트의 추가 양식을 도입했다. 체크포인트의 새로운 유형은 비트코인의 경보시스템과 유사하다. | ||
− | + | 로리는 비트코인은 체킹포인트로 분산되지 않는 메커니즘이 분포된 컨센서스 문제가 완전히 해결되지 않았음을 주장했다. 피어코인은 실용적으로 분포된 체킹포인트 프로토콜을 설계하려고 시도했지만 네트워크 분할 공격에 대비한 안전한 보안이 어렵다는 것을 발견했다. 방송된 체킹포인팅 메커니즘이 중앙 집중화의 한 형태이지만, 분산된 솔루션 제공되기 전에 수용할 수 있는 것을 고려해야 한다. | |
또 다른 기술적인 이유는 중앙 방송 체킹포인팅의 사용을 수반한다는 것이다. 지분증명 블록이 각 노드의 로컬 데이터베이스 블록트리(block tree)에 받아들여지기 전에 서비스 거부 공격 코인스테이크 커널(coinstake kernel)의 유형에 맞서 방어하기 위해서 반드시 확인해야 한다. 비트코인 노드의 데이터모델 때문에(특히 거래지표) 체킹포인팅의 마감은 블록트리로 블록을 수락하기 전에 각 코인스테이크 커널의 연결을 확인하는 모든 노드의 기능을 보장하기 위해 필요하다. 위의 실제적인 고려 사항으로 인해 피어코인은 노드의 데이터 모델을 수정 안 하지만 대신에 중앙 체킹포인팅을 사용하기로 결정했다. 피어코인의 해결책은 최소연령을 필요로하는 코인 연령의 계산을 0 이하로 계산되는 코인 연령은 1개월로 계산하는 것처럼 수정하는 것이다. 그러면 중앙 체킹포인팅은 모든 노드를 한 달 이전의 과거 거래에 동의 할 수 있도록 하는 데 사용되므로, 1개월 이상 전의 출력 반드시 사용해야 한다. 따라서 0이 아닌 코인 연령이 요구되므로 코인스테이크 커널의 연결확인을 허용한다.<ref name="피어코인 백서"></ref> | 또 다른 기술적인 이유는 중앙 방송 체킹포인팅의 사용을 수반한다는 것이다. 지분증명 블록이 각 노드의 로컬 데이터베이스 블록트리(block tree)에 받아들여지기 전에 서비스 거부 공격 코인스테이크 커널(coinstake kernel)의 유형에 맞서 방어하기 위해서 반드시 확인해야 한다. 비트코인 노드의 데이터모델 때문에(특히 거래지표) 체킹포인팅의 마감은 블록트리로 블록을 수락하기 전에 각 코인스테이크 커널의 연결을 확인하는 모든 노드의 기능을 보장하기 위해 필요하다. 위의 실제적인 고려 사항으로 인해 피어코인은 노드의 데이터 모델을 수정 안 하지만 대신에 중앙 체킹포인팅을 사용하기로 결정했다. 피어코인의 해결책은 최소연령을 필요로하는 코인 연령의 계산을 0 이하로 계산되는 코인 연령은 1개월로 계산하는 것처럼 수정하는 것이다. 그러면 중앙 체킹포인팅은 모든 노드를 한 달 이전의 과거 거래에 동의 할 수 있도록 하는 데 사용되므로, 1개월 이상 전의 출력 반드시 사용해야 한다. 따라서 0이 아닌 코인 연령이 요구되므로 코인스테이크 커널의 연결확인을 허용한다.<ref name="피어코인 백서"></ref> | ||
− | |||
==== 블록서명 및 중복지분 프로토콜 ==== | ==== 블록서명 및 중복지분 프로토콜 ==== | ||
각 블록은 복사 공격자에 의해 사용되는 동일한 증거의 지분을 방지하기 위해 소유자가 반드시 서명해야 한다. 중복지분 프로토콜은 [[디도스]](DoS) 공격과 같은 블록의 다수를 생성하는 하나의 증거의 지분을 사용하는 공격자에 대해 방어하도록 설계되었다. 각 노드는 본 코인스테이크 거래의 모든 쌍(커널, 타임스탬프를 수집한다. 수신된 블록이 다른 이전에 수신 블록으로 중복 쌍을 포함하는 경우 후속 블록이 고아블록(orphan block)으로 수신될 때까지, 피어코인은 중복지분 블록을 무시한다.<ref name="피어코인 백서"></ref> | 각 블록은 복사 공격자에 의해 사용되는 동일한 증거의 지분을 방지하기 위해 소유자가 반드시 서명해야 한다. 중복지분 프로토콜은 [[디도스]](DoS) 공격과 같은 블록의 다수를 생성하는 하나의 증거의 지분을 사용하는 공격자에 대해 방어하도록 설계되었다. 각 노드는 본 코인스테이크 거래의 모든 쌍(커널, 타임스탬프를 수집한다. 수신된 블록이 다른 이전에 수신 블록으로 중복 쌍을 포함하는 경우 후속 블록이 고아블록(orphan block)으로 수신될 때까지, 피어코인은 중복지분 블록을 무시한다.<ref name="피어코인 백서"></ref> |