"보증노드"의 두 판 사이의 차이
(→하이퍼레저 패브릭) |
|||
5번째 줄: | 5번째 줄: | ||
===하이퍼레저 패브릭=== | ===하이퍼레저 패브릭=== | ||
하이퍼레저 프로젝트 중 가장 활발하게 활동 중인 하이퍼레저 패브릭은 모듈러 아키텍처를 이용한 애플리케이션/솔루션 개발을 가능하도록 해주는 프레임워크이다. 하이퍼레저 패브릭은 허가형 프라이빗 블록체인과 달리, 하이퍼레저 패브릭에서는 인증 관리 시스템에 의해 허가된 사용자만이 블록체인 네트워크에 참여할 수 있다. 따라서 패브릭 네트워크에 참여한 노드들은 이미 시스템에 의해 허가된, 신뢰한 노드로 볼 수 있고 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않는다. 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정보로 충분하다. 물론 필요에 의해 원하는 합의 알고리즘 네트워크 내에서 선택적으로 사용할 수도 있다. | 하이퍼레저 프로젝트 중 가장 활발하게 활동 중인 하이퍼레저 패브릭은 모듈러 아키텍처를 이용한 애플리케이션/솔루션 개발을 가능하도록 해주는 프레임워크이다. 하이퍼레저 패브릭은 허가형 프라이빗 블록체인과 달리, 하이퍼레저 패브릭에서는 인증 관리 시스템에 의해 허가된 사용자만이 블록체인 네트워크에 참여할 수 있다. 따라서 패브릭 네트워크에 참여한 노드들은 이미 시스템에 의해 허가된, 신뢰한 노드로 볼 수 있고 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않는다. 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정보로 충분하다. 물론 필요에 의해 원하는 합의 알고리즘 네트워크 내에서 선택적으로 사용할 수도 있다. | ||
+ | |||
+ | *'''거래 보증 정책''' : 보증 노드의 서명을 사용하여 작성한다. 보증 피어 집합 E = [Alice, Bob, Charlie, Dave, Eve, Frank, George)를 지정하는 것으로 가정 | ||
+ | |||
+ | *'''보증 정책 설정''' : 체인코드에 대해 설정하되 보증 정책은 시스템에 의해 미리 작성하고 체인코드 개발자가 특정 체인코드를 선택하고 매개변수 설정을 통해 보증 정책을 설정한다. | ||
*'''거래 처리 순서''' | *'''거래 처리 순서''' | ||
− | Endorser에게만 거래를 의뢰하며, 여러 개의 거래를 나눠서 처리하기 위해 endorser는 여러 개가 될 수 있다. 오더러(Orderer)에게 순서를 지정하고, 블록체인을 유지하는 모든 피어들에게 결과를 전송해 검증하고, 이상이 없으면 | + | Endorser에게만 거래를 의뢰하며, 여러 개의 거래를 나눠서 처리하기 위해 endorser는 여러 개가 될 수 있다. 오더러(Orderer)에게 순서를 지정하고, 블록체인을 유지하는 모든 피어들에게 결과를 전송해 검증하고, 이상이 없으면 레저(edger)에 저장한다. |
+ | |||
+ | #비결정적 프로그램(non-deteminstic program) 지원, 거래의 병렬 처리 등을 위해 거리 처리 구조를 변경 | ||
+ | #실행 -> 순서화 -> 검증 및 확정의 단계로 처리 | ||
+ | #클라이언트는 해당 체인코드의 보증 정책에 맞는 보증노드애개 거래를 송신하고, 거래의 실행은 보증노드에 의해 수행 | ||
+ | #보증노드는 거래 실행 결과를 별도의 자료구조(readset, writeset)에 담아 클라이언트에 회신 | ||
+ | #보증노드는 거래 실행 결과를 블록체인에 미적용 | ||
+ | #실행 결과를 수신한 클라이언트는 순서화 서비스 채널을 통해 거래 결과를 전송 | ||
+ | #순서화 서비스를 수행하는 노드들은 적용하는 합의 알고리즘에 따라 그동안 발생한 거래들을 순서화 | ||
+ | #순서화된 거래들은 블록에 담겨 채널에 연결된 모든 피어들에게 전달 | ||
+ | #거래 결과를 수신한 피어들은 거래 결과가 보증 정책에 맞게 만들어졌는지 검증하고, 적합하게 실행된 거래의 결과를 블록체인에 저장함으로써 해당 거래를 확정 | ||
==참고자료== | ==참고자료== | ||
* CURG in Seoul, 〈[https://brunch.co.kr/@curg/25 하이퍼레저 패브릭이란?-입문]〉, 《브런치》 | * CURG in Seoul, 〈[https://brunch.co.kr/@curg/25 하이퍼레저 패브릭이란?-입문]〉, 《브런치》 | ||
− | + | * 야옹메롱, 〈[https://m.blog.naver.com/PostView.nhn?blogId=mage7th&logNo=221493552036&categoryNo=221&proxyReferer=https%3A%2F%2Fwww.google.com%2F (하이퍼레저)하이퍼레저 비즈니스 블록체인 프로젝트 개요, 구조 및 거래 - 강의요약]〉, 《네이버 블로그》, 2019-03-21 | |
==같이 보기== | ==같이 보기== | ||
*[[작업노드]] | *[[작업노드]] | ||
*[[풀노드]] | *[[풀노드]] | ||
{{블록체인 기술|토막글}} | {{블록체인 기술|토막글}} |
2019년 9월 9일 (월) 16:53 판
보증노드(Warrant Node)는 합의과정을 주도하여 블록을 생성하는 노드이다. 작업노드 중 풀노드는 공정한 자동 벤치마킹테스트를 통하여 보증노드가 될 수 있다.
활용
하이퍼레저 패브릭
하이퍼레저 프로젝트 중 가장 활발하게 활동 중인 하이퍼레저 패브릭은 모듈러 아키텍처를 이용한 애플리케이션/솔루션 개발을 가능하도록 해주는 프레임워크이다. 하이퍼레저 패브릭은 허가형 프라이빗 블록체인과 달리, 하이퍼레저 패브릭에서는 인증 관리 시스템에 의해 허가된 사용자만이 블록체인 네트워크에 참여할 수 있다. 따라서 패브릭 네트워크에 참여한 노드들은 이미 시스템에 의해 허가된, 신뢰한 노드로 볼 수 있고 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않는다. 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정보로 충분하다. 물론 필요에 의해 원하는 합의 알고리즘 네트워크 내에서 선택적으로 사용할 수도 있다.
- 거래 보증 정책 : 보증 노드의 서명을 사용하여 작성한다. 보증 피어 집합 E = [Alice, Bob, Charlie, Dave, Eve, Frank, George)를 지정하는 것으로 가정
- 보증 정책 설정 : 체인코드에 대해 설정하되 보증 정책은 시스템에 의해 미리 작성하고 체인코드 개발자가 특정 체인코드를 선택하고 매개변수 설정을 통해 보증 정책을 설정한다.
- 거래 처리 순서
Endorser에게만 거래를 의뢰하며, 여러 개의 거래를 나눠서 처리하기 위해 endorser는 여러 개가 될 수 있다. 오더러(Orderer)에게 순서를 지정하고, 블록체인을 유지하는 모든 피어들에게 결과를 전송해 검증하고, 이상이 없으면 레저(edger)에 저장한다.
- 비결정적 프로그램(non-deteminstic program) 지원, 거래의 병렬 처리 등을 위해 거리 처리 구조를 변경
- 실행 -> 순서화 -> 검증 및 확정의 단계로 처리
- 클라이언트는 해당 체인코드의 보증 정책에 맞는 보증노드애개 거래를 송신하고, 거래의 실행은 보증노드에 의해 수행
- 보증노드는 거래 실행 결과를 별도의 자료구조(readset, writeset)에 담아 클라이언트에 회신
- 보증노드는 거래 실행 결과를 블록체인에 미적용
- 실행 결과를 수신한 클라이언트는 순서화 서비스 채널을 통해 거래 결과를 전송
- 순서화 서비스를 수행하는 노드들은 적용하는 합의 알고리즘에 따라 그동안 발생한 거래들을 순서화
- 순서화된 거래들은 블록에 담겨 채널에 연결된 모든 피어들에게 전달
- 거래 결과를 수신한 피어들은 거래 결과가 보증 정책에 맞게 만들어졌는지 검증하고, 적합하게 실행된 거래의 결과를 블록체인에 저장함으로써 해당 거래를 확정
참고자료
- CURG in Seoul, 〈하이퍼레저 패브릭이란?-입문〉, 《브런치》
- 야옹메롱, 〈(하이퍼레저)하이퍼레저 비즈니스 블록체인 프로젝트 개요, 구조 및 거래 - 강의요약〉, 《네이버 블로그》, 2019-03-21