의견.png

"역사증명"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
1번째 줄: 1번째 줄:
 +
[[파일:역사증명 타임 스탬프.png|썸네일|역사증명 타임 스탬프]]
 
'''역사증명'''(PoH; Proof of History)은 노드(검증자) 간 합의에 걸리는 시간을 단축한 알고리즘이다.
 
'''역사증명'''(PoH; Proof of History)은 노드(검증자) 간 합의에 걸리는 시간을 단축한 알고리즘이다.
  
 
== 개요 ==
 
== 개요 ==
 
역사증명 합의 알고리즘은 솔라나(Solana)의 대표적인 기술로 블록체인 네트워크 상에서 노드들이 거래가 언제 발생했는지 함께 증명하고 합의함으로써 거래내역을 저장한다. 솔라나는 이 과정에서 '검증 가능한 지연 함수'를 도입해서 합의를 단순화한다. 또한, 거래내역을 암호화할 때 시간 순서에 대한 정보를 추가함으로써 검증자들이 각각의 거래를 일일이 확인하지 않고도 합의할 수 있다. 합의에 걸리는 시간이 단축되기에 거래 처리 속도는 빨라지며, 속도가 빨라지기에 확장성도 늘어나고 블록체인의 성능 자체가 향상된다.
 
역사증명 합의 알고리즘은 솔라나(Solana)의 대표적인 기술로 블록체인 네트워크 상에서 노드들이 거래가 언제 발생했는지 함께 증명하고 합의함으로써 거래내역을 저장한다. 솔라나는 이 과정에서 '검증 가능한 지연 함수'를 도입해서 합의를 단순화한다. 또한, 거래내역을 암호화할 때 시간 순서에 대한 정보를 추가함으로써 검증자들이 각각의 거래를 일일이 확인하지 않고도 합의할 수 있다. 합의에 걸리는 시간이 단축되기에 거래 처리 속도는 빨라지며, 속도가 빨라지기에 확장성도 늘어나고 블록체인의 성능 자체가 향상된다.
 
 
== 특징 ==
 
== 특징 ==
[[파일:역사증명 타임 스탬프.png|썸네일|역사증명 타임 스탬프]]
+
[[파일:역사증명 시퀀스 메시지 기록.png|썸네일|역사증명 시퀀스 메시지 기록]]
역사증명을 사용하면 특정 순간에 사건이 일어났음을 증명하는 역사적 기록을 만들 수 있다. 역사증명이란 고주파수 검증가능지연함수(VDF; Verifiable Delay Function)이다. 검증가능지연함수는 평가하기 위해 특정한 수의 순차적 단계가 필요하지만 효율적이고 공개적으로 검증될 수 있는 고유한 출력을 생성한다. 우리의 구체적인 구현은 다음 입력으로 사용된 이전 출력과 함께 연속적으로 자기 위로 흐르는 순차적인 사전 이미지 내성 해시를 사용하며, 카운트와 전류 출력이 주기적으로 기록되어 SHA-256 해시함수의 경우 <math>2^{128}</math> 코어를 이용한 무차별 대입 공격 없이는 프로세스를 병렬화가 불가능하다. 이후, 생성된 각 카운터 사이에 실시간으로 전달되어 각 카운터의 기록된 순서가 실시간과 동일하다는 것을 확인할 수 있다.
+
* '''역사적 기록 생성'''
 
+
: 역사증명을 사용하면 특정 순간에 사건이 일어났음을 증명하는 역사적 기록을 만들 수 있다. 역사증명이란 고주파수 검증가능지연함수(VDF; Verifiable Delay Function)이다. 검증가능지연함수는 평가하기 위해 특정한 수의 순차적 단계가 필요하지만 효율적이고 공개적으로 검증될 수 있는 고유한 출력을 생성한다. 우리의 구체적인 구현은 다음 입력으로 사용된 이전 출력과 함께 연속적으로 자기 위로 흐르는 순차적인 사전 이미지 내성 해시를 사용하며, 카운트와 전류 출력이 주기적으로 기록되어 SHA-256 해시함수의 경우 <math>2^{128}</math> 코어를 이용한 무차별 대입 공격 없이는 프로세스를 병렬화가 불가능하다. 이후, 생성된 각 카운터 사이에 실시간으로 전달되어 각 카운터의 기록된 순서가 실시간과 동일하다는 것을 확인할 수 있다.
 
+
[[파일:역사증명 시간의 하한.png|썸네일|역사증명 시간의 하한]]
 +
* '''시간의 상한'''
 +
: 데이터의 해시를 이전 발생 상태에 추가하여 시퀀스에 데이터를 삽입할 수 있다. 상태, 입력 데이터, 카운트가 모두 게시된다. 입력을 추가하면 미래의 모든 출력이 예측할 수 없이 변경된다. 병렬화는 여전히 불가능하며, 해시함수가 사전 이미지 및 충돌 방지 기능인 경우 향후 원하는 해시를 생성하는 입력을 작성하거나 대체할 수 있는 동일한 이력을 작성할 수 없다. 또한, 두 개의 추가 작업간에 시간이 지났다는 것을 증명할 수 있으며, 데이터가 추가되기 전에 언젠가 생성되었음을 증명할 수 있다.
 +
* '''시간의 하한'''
 +
: 역사증명에 대한 입력은 역사의 증거 그 자체에 대한 참조를 가질 수 있다. 역참조는 사용자 서명이 있는 서명된 메시지의 일부로 삽입될 수 있으므로 사용자 개인키 없이는 수정할 수 없다. 이 메시지에는 '''0xdeadc0de''' 해시가 포함되어 있으므로 카운트 '''5101448069912'''가 생성된 후에 생성되었다는 것을 알 수 있다. 그러나 이 메시지는 역사증명 스트림에도 다시 삽입된다.
  
 
{{각주}}
 
{{각주}}
 
== 참고자료 ==
 
== 참고자료 ==
 
* 비트라관리자, 〈[http://bitlife.co.kr/bbs/board.php?bo_table=review&wr_id=13 (SOLANA) 솔라나! 막강한 호재가 두 개나?!!]〉, 《비트라이프》, 2019-10-22
 
* 비트라관리자, 〈[http://bitlife.co.kr/bbs/board.php?bo_table=review&wr_id=13 (SOLANA) 솔라나! 막강한 호재가 두 개나?!!]〉, 《비트라이프》, 2019-10-22
 +
* Anatoly Yakovenko, 〈[https://medium.com/solana-labs/proof-of-history-a-clock-for-blockchain-cf47a61a9274 Proof of History: A Clock for Blockchain]〉, 《미디움》, 2018-04-19
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2020년 2월 26일 (수) 17:04 판

역사증명 타임 스탬프

역사증명(PoH; Proof of History)은 노드(검증자) 간 합의에 걸리는 시간을 단축한 알고리즘이다.

개요

역사증명 합의 알고리즘은 솔라나(Solana)의 대표적인 기술로 블록체인 네트워크 상에서 노드들이 거래가 언제 발생했는지 함께 증명하고 합의함으로써 거래내역을 저장한다. 솔라나는 이 과정에서 '검증 가능한 지연 함수'를 도입해서 합의를 단순화한다. 또한, 거래내역을 암호화할 때 시간 순서에 대한 정보를 추가함으로써 검증자들이 각각의 거래를 일일이 확인하지 않고도 합의할 수 있다. 합의에 걸리는 시간이 단축되기에 거래 처리 속도는 빨라지며, 속도가 빨라지기에 확장성도 늘어나고 블록체인의 성능 자체가 향상된다.

특징

역사증명 시퀀스 메시지 기록
  • 역사적 기록 생성
역사증명을 사용하면 특정 순간에 사건이 일어났음을 증명하는 역사적 기록을 만들 수 있다. 역사증명이란 고주파수 검증가능지연함수(VDF; Verifiable Delay Function)이다. 검증가능지연함수는 평가하기 위해 특정한 수의 순차적 단계가 필요하지만 효율적이고 공개적으로 검증될 수 있는 고유한 출력을 생성한다. 우리의 구체적인 구현은 다음 입력으로 사용된 이전 출력과 함께 연속적으로 자기 위로 흐르는 순차적인 사전 이미지 내성 해시를 사용하며, 카운트와 전류 출력이 주기적으로 기록되어 SHA-256 해시함수의 경우 코어를 이용한 무차별 대입 공격 없이는 프로세스를 병렬화가 불가능하다. 이후, 생성된 각 카운터 사이에 실시간으로 전달되어 각 카운터의 기록된 순서가 실시간과 동일하다는 것을 확인할 수 있다.
역사증명 시간의 하한
  • 시간의 상한
데이터의 해시를 이전 발생 상태에 추가하여 시퀀스에 데이터를 삽입할 수 있다. 상태, 입력 데이터, 카운트가 모두 게시된다. 입력을 추가하면 미래의 모든 출력이 예측할 수 없이 변경된다. 병렬화는 여전히 불가능하며, 해시함수가 사전 이미지 및 충돌 방지 기능인 경우 향후 원하는 해시를 생성하는 입력을 작성하거나 대체할 수 있는 동일한 이력을 작성할 수 없다. 또한, 두 개의 추가 작업간에 시간이 지났다는 것을 증명할 수 있으며, 데이터가 추가되기 전에 언젠가 생성되었음을 증명할 수 있다.
  • 시간의 하한
역사증명에 대한 입력은 역사의 증거 그 자체에 대한 참조를 가질 수 있다. 역참조는 사용자 서명이 있는 서명된 메시지의 일부로 삽입될 수 있으므로 사용자 개인키 없이는 수정할 수 없다. 이 메시지에는 0xdeadc0de 해시가 포함되어 있으므로 카운트 5101448069912가 생성된 후에 생성되었다는 것을 알 수 있다. 그러나 이 메시지는 역사증명 스트림에도 다시 삽입된다.

각주

참고자료

같이 보기


  의견.png 이 역사증명 문서는 합의 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.