https://muna76.tistory.com/193
[hyperledger Fabric]
일단... 하이퍼레저 패브릭에서 하이퍼레저가 뭘까.. ✔️ hyper ledger Hyperledger is a global, open source consortium, hosted by The Linux Foundation, advancing cross-industry blockchain technologies...
muna76.tistory.com
(이전 글에 이어서...)
- 고도로 모듈화 되고 구성 가능한 아키텍처를 갖추고 있다 ( 이건 정확히 무슨 말인지 모르겠음. 금융 보험 의료 인적자원 디지털음악 등등..
아무튼 광범위한 산업에의 적용이 가능하다는 의미같음 )
a. execute - order - validate 의 새로운 아키텍쳐 유형 도입
b. 모듈화
모듈화 되어있다는것이 정확히 무슨 의미일까?
"모듈화" 자체에 대한 사전적 의미를 찾아보았다
소프트웨어 모듈화(Modularity) > 도리의 디지털라이프
I. 효율적인 프로그램 구성 지원, 모듈화 가. 모듈화(Modularity)의 개념 프로그램을 분석하고 추상화하여 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하는 설계
blog.skby.net
"모듈화" 라는것은
- 프로그램을 분석하고 추상화하여 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하는 설계 및 구현 기법이라고 한다.
사실 이렇게 그냥 보면 이해가 가는듯 하면서도 그래서 모듈화가 뭐하는것인지,
하이퍼레져 패브릭이 모듈화 되어있다는것은 무슨 의미인지 잘 파악이 되지 않는다.
https://mons1220.tistory.com/93?category=804486
[네트워크이론] Network Modularity (네트워크의 모듈성)
네트워크를 바라보면, 네트워크 속에서도 끼리끼리 뭉쳐있는 커뮤니티가 보이곤 한다. 다음 네트워크를 예로 들어보자. 네트워크지만, 위쪽 아래쪽 왼쪽으로 끼리끼리 모여있는 3개의 작은 커
mons1220.tistory.com
위 글에는 네트워크의 모듈화에 대해서 나와있다.
어떤 네트워크 안에 특점 지점들이 있을때 몇몇개는 뭉쳐있고 이들간의 연결이 연관성 있어보인다고 할때,
그 뭉쳐있는 부분들을 정량적으로 나타내기 위해서 나타난 것이 "모듈성"이라고 한다.
모듈성을 구하는것은 수학적으로 가능하다고 하는데,
정확한 이해는 어려울 것 같다.
하이퍼 레져 공식문서에 따르면 , 하이퍼레져 패브릭이 가진 모듈식 구성요소는 다음과 같다.
1. 플러그형 주문 서비스 는 트랜잭션 순서에 대한 합의를 설정한 다음, 블록을 피어에게 브로드캐스트합니다.
2. 플러그형 멤버십 서비스 제공자 는 네트워크의 엔티티를 암호화 ID와 연관시키는 일을 담당합니다.
3. 선택적 P2P 가십 서비스 는 다른 피어에게 서비스를 주문하여 블록 출력을 전파합니다.
4. 스마트 계약("체인코드")은 격리를 위해 컨테이너 환경(예: Docker) 내에서 실행됩니다.
표준 프로그래밍 언어로 작성할 수 있지만 원장 상태에 직접 액세스할 수는 없습니다.
5. 원장은 다양한 DBMS를 지원하도록 구성할 수 있습니다.
6. 애플리케이션별로 독립적으로 구성할 수 있는 플러그형 보증 및 검증 정책 시행.
- 플러그형 합의 프로토콜을 지원
support for pluggable consensus protocols that enable the platform
to be more effectively customized to fit particular use cases and trust models
-> '특정 사용 사례 및 신뢰 모델에 맞게 플랫폼을 보다 효과적으로 맞춤화할 수 있는 플러그형 합의 프로토콜 지원' 한다고 나와있다.
이 말인 즉슨, 플러그형 합의 프로토콜이란, 플랫폼의 프로토콜을 맞춤형으로 유동적으로 변화시킬 수 있다는 뜻이된다.
-> 문서에 나온 예시를 살펴보면,
단일 기업 내에서 사용하거나 신뢰도 있는 기관에서 플랫폼에 참여하는 경우는 "완전한 비쟌틴 내결함성 합의(bft)"가 불필요하고 , 이것이 오히려 처리량에 부담을 주어 성능저하를 가져올 우려가 있다. 따라서 이런 경우는 "충돌 내결함성" (cft) 합의 프로토콜로 충분하다.
하지만 다자간 분산사용 사례에서는 전통적으로 비쟌틴 내결함성 (bft) 프로토콜이 필요할 것이다.
-> 즉 하이퍼레져 패브릭은 합의 프로토콜이 고정적으로 정해진 것이 아니라 , 상황에 따라 유동적으로 필요한
합의 프로토콜을 취사선택해서 사용할 수 있도록 설계되어 있는것.
이로써 얻을 수 있는 장점은 상황에 따라 쓸데없는 처리과정을 줄여 성능 저하를 방지할 수 있음. (최적화가 가능)