λ¨Όμ € μ‹œμž‘ν•΄ λ³΄λŠ” 블둝체인 – 02. Hyperledger Fabric

μ•ˆλ…•ν•˜μ„Έμš”?
μ§€λ‚œ 블둝체인 기본에 이어 이번 κΈ€μ—μ„œλŠ” 블둝체인 λŸ°νƒ€μž„ ν™˜κ²½μ„ κ΅¬μ„±ν•˜κΈ° μœ„ν•œ μ „ λ‹¨κ³„λ‘œ μ˜€ν”ˆμ†ŒμŠ€ 블둝체인 ν”„λ‘œμ νŠΈμΈ Hyperledger Fabric에 λŒ€ν•΄μ„œ μ’€ 더 μžμ„Ένžˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

Hyperledger ν•˜μœ„ ν”„λ‘œμ νŠΈ

블둝체인과 κ΄€λ ¨λœ λ‹€μ–‘ν•œ κΈ°μˆ μ„ 닀루고 μžˆλŠ” Hyperledger ν”„λ‘œμ νŠΈμ—λŠ” μ—¬λŸ¬ ν•˜μœ„ ν”„λ‘œμ νŠΈλ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. κ·Έ 쀑 λŒ€ν‘œμ μΈ ν”„λ‘œμ νŠΈμ— λŒ€ν•΄μ„œ κ°„λž΅νžˆ μ†Œκ°œν•©λ‹ˆλ‹€.
ν•˜μœ„ ν”„λ‘œμ νŠΈμ— λŒ€ν•œ μžμ„Έν•œ μ •λ³΄λŠ” λ‹€μŒ λ§ν¬μ—μ„œ 확인 ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€. Hyperledger ν•˜μœ„ ν”„λ‘œμ νŠΈ μ†Œκ°œ

Blockchain Explorer

Blockchain Explorer λŠ” 블둝체인 λŸ°νƒ€μž„μ— λŒ€ν•œ λ‹€μ–‘ν•œ 정보λ₯Ό 보여주기 μœ„ν•œ μ›Ή 기반 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œλŠ” ν”„λ‘œμ νŠΈλ‘œ, 블둝, νŠΈλžœμž­μ…˜μ΄λ‚˜ κ·Έ μ™Έ κ΄€λ ¨λœ 정보λ₯Ό μ‘°νšŒν•˜κ±°λ‚˜, μ²΄μΈμ½”λ“œ 및 원μž₯의 정보듀을 λͺ¨λ‹ˆν„°λ§ ν•˜κΈ° μœ„ν•œ κΈ°λŠ₯을 ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Fabric

Fabric은 λΈ”λ‘μ²΄μΈμ˜ κΈ°μˆ μ„ κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈλ‘œ λΈ”λ‘μ²΄μΈμ˜ 엔진을 λ§Œλ“œλŠ” ν”„λ‘œμ νŠΈλΌκ³  μƒκ°ν•˜μ…”λ„ λ©λ‹ˆλ‹€. λͺ¨λ“ˆλ°©μ‹μ˜ μ•„ν‚€ν…μ²˜λ₯Ό μ±„μš©ν•˜μ—¬, ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ΄λ‚˜ μ‚¬μš©μž 인증 μ„œλΉ„μŠ€λ“± ν•„μš”ν•œ μ‹œμ μ— μΆ”κ°€ν•  수 μžˆλ„λ‘ λ˜μ–΄ 있으며, μ²΄μΈμ½”λ“œλΌκ³ λ„ λΆ€λ₯΄λŠ” 슀마트 μ»¨νŠΈλž™ μ½”λ“œλ₯Ό 톡해 μ μš©ν•˜κ³ μž ν•˜λŠ” μ‚°μ—…κ΅° λ˜λŠ” μš”κ΅¬μ‘°κ±΄μ— λ§žλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ 개발 ν•  수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ ν¬μŠ€νŒ…λ  λ¬Έμ„œλŠ” λŒ€λΆ€λΆ„ 이 Fabric을 기반으둜 ν•œ μ„€λͺ…이 될 κ²ƒμž…λ‹ˆλ‹€.

Iroha

IrohaλŠ” 기쑴의 μ‹œμŠ€ν…œμ— 뢄산원μž₯의 κΈ°λŠ₯을 μ‰½κ²Œ ν†΅ν•©ν•˜κ³ μž ν•˜κΈ°μœ„ν•œ λͺ©μ μœΌλ‘œ κ°œλ°œλ˜μ–΄μ§€κ³  μžˆλŠ” ν”„λ‘œμ νŠΈ μž…λ‹ˆλ‹€.
λŒ€ν‘œμ μΈ κΈ°λŠ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.:

  • κΈ°μ‘΄ μ‹œμŠ€ν…œκ³Όμ˜ μ‰¬μš΄ 톡합
  • μ΅œμ‹ μ˜ 도메인 지ν–₯ C++ λ””μžμΈ
  • λͺ¨λ°”일 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 지원에 초첨
  • Sumeragi 라고 λΆ€λ₯΄λŠ” λΉ„μž”ν‹°μ›€ μž₯μ•  ν—ˆμš© ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜ 채택

Sawtooth Lake

λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό ν™•μž₯성을 μœ„ν•΄ μ„€κ³„λœ Sawtooth Lake ν”„λ‘œμ νŠΈλŠ” μΈν…”μ˜ λͺ¨λ“ˆλΌ λ°©μ‹μ˜ λΈ”λŸ­μ²΄μΈ μ œν’ˆκ΅°μž…λ‹ˆλ‹€. λΆ„μ‚° 원μž₯ κΈ°μˆ μ€ IoTμ—μ„œ κΈˆμœ΅μ— 이λ₯΄κΈ°κΉŒμ§€ λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ 잠재λ ₯이 μžˆμŠ΅λ‹ˆλ‹€. 이 μ•„ν‚€ν…μ²˜λŠ” ν•΄λ‹Ή μŠ€νŽ™νŠΈλŸΌμ—μ„œ μš”κ΅¬ μ‚¬ν•­μ˜ 닀양성을 μΈμ‹ν•©λ‹ˆλ‹€. Sawtooth LakeλŠ” ν—ˆκ°€ 된 배포와 무단 배포λ₯Ό λͺ¨λ‘ μ§€μ›ν•©λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” μƒˆλ‘œμš΄ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜ 인 κ²½κ³Ό μ‹œκ°„ 증λͺ… (Poet)이 ν¬ν•¨λ©λ‹ˆλ‹€. PoETλŠ” μžμ› μ†ŒλΉ„λ₯Ό μ΅œμ†Œν™”ν•˜λ©΄μ„œ λŒ€κ·œλͺ¨ λΆ„μ‚° μœ νš¨μ„± 검사기λ₯Ό λŒ€μƒμœΌλ‘œν•©λ‹ˆλ‹€. νŠΈλžœμž­μ…˜ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ€ μ»¨μ„Όμ„œμŠ€ κ³„μΈ΅μ—μ„œ μ œν•œλ˜κ±°λ‚˜ 자유둜운 의미λ₯Ό ν—ˆμš©ν•˜λŠ” νŠΈλžœμž­μ…˜ νŒ¨λ°€λ¦¬λ‘œ λΆ„λ¦¬λ©λ‹ˆλ‹€.

Hyperledger Fabric

μš©μ–΄

λ‹€μŒμ€ Fabric 기반 λΈ”λŸ­μ²΄μΈμ˜ κΈ°μˆ μ„ 읡히기 μœ„ν•΄μ„œ ν•„μš”ν•œ μš©μ–΄λ“€μž…λ‹ˆλ‹€. μš©μ–΄λ“€μ€ 가급적 ν•œκΈ€ν™”λ₯Ό ν•˜μ§€ μ•Šκ³  영문 μš©μ–΄λ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. 그리고 λŒ€λΆ€λΆ„ μ‹œμŠ€ν…œ μš©μ–΄λΌκ³  μƒκ°ν•˜μ‹œλ©΄ μ΄ν•΄ν•˜λŠ”λ° 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€.

  • Transactor : νŠΈλžœμž­μ…˜(거래)을 μΌμœΌν‚€λŠ” μ—”ν‹°ν‹°λ₯Ό λ§ν•©λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ©λ‹ˆλ‹€.
  • Transaction : νŠΈλžœμž­μ…˜μ€ λΈ”λŸ­μ²΄μΈ λ„€νŠΈμ›Œν¬μ— λŒ€ν•΄μ„œ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μš”μ²­μž…λ‹ˆλ‹€. νŠΈλžœμž­μ…˜μ˜ μœ ν˜•μ€ deploy, invoke 및 query dlau, μ²΄μΈμ½”λ“œλ₯Ό ν†΅ν•΄μ„œ 사전 μ •μ˜λœ μΈν„°νŽ˜μ΄μŠ€μ— λŒ€ν•œ ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.
  • Ledger : Ledger : νŠΈλžœμž­μ…˜κ³Ό ν˜„μž¬ 세계 μƒνƒœλ₯Ό ν¬ν•¨ν•˜λŠ” 일련의 μ•”ν˜Έ ν•™μ μœΌλ‘œ 링크 된 블둝. 이전 거래의 데이터 외에도 원μž₯μ—λŠ” ν˜„μž¬ 싀행쀑인 체인 μ½”λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 데이터가 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • World state : νŠΈλžœμž­μ…˜μ— μ˜ν•΄μ„œ μ²΄μΈμ½”λ“œκ°€ 호좜될 λ•Œ μƒνƒœ 및 데이터 μ €μž₯을 μœ„ν•œ Key-value λ°μ΄ν„°λ² μ΄μŠ€ μž…λ‹ˆλ‹€.
  • Chaincode : λ‹€μ–‘ν•œ νŠΈλžœμž­μ…˜μ˜ μœ ν˜•μ„ κ΅¬ν˜„ν•œ 블둝체인에 μž„λ² λ“œλ˜λŠ” λ‘œμ§μž…λ‹ˆλ‹€. κ°œλ°œμžμ— μ˜ν•΄ μ²΄μΈμ½”λ“œκ°€ μž‘μ„±λ˜κ³  블둝체인 λ„€νŠΈμ›Œν¬λ‘œ λ””ν”Œλ‘œμ΄ ν•©λ‹ˆλ‹€. μ΅œμ’… μ‚¬μš©μžλŠ” 블둝체인 λ„€νŠΈμ›Œν¬λ₯Ό κ΅¬μ„±ν•˜λŠ” ν”Όμ–΄ λ˜λŠ” λ…Έλ“œμ™€ μΈν„°νŽ˜μ΄μŠ€ λ˜μ–΄ μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν†΅ν•΄μ„œ μ²΄μΈμ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚΅λ‹ˆλ‹€. μ²΄μΈμ½”λ“œλŠ” νŠΈλžœμž­μ…˜μ„ μΌμœΌν‚€κ³  μœ νš¨μ„±μ΄ ν™•μΈλ˜λ©΄ κ³΅μœ μ›μž₯에 μΆ”κ°€ν•˜κ³  World stateλ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
  • Validating peer (VP) : 블둝체인 λ„€νŠΈμ›Œν¬μ—μ„œ 원μž₯을 관리 μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œ νŠΈλžœμž­μ…˜μ˜ μœ νš¨μ„±μ„ κ²€μ¦ν•˜λŠ” ν•©μ˜ ν”„λ‘œν† μ½œμ„ μ‹€ν–‰ν•˜λŠ” λ…Έλ“œμž…λ‹ˆλ‹€. κ²€μ¦λœ νŠΈλžœμž­μ…˜μ€ 원μž₯에 블둝 λ‹¨μœ„λ‘œ μΆ”κ°€λ©λ‹ˆλ‹€. νŠΈλžœμž­μ…˜μ΄ ν•©μ˜μ— μ‹€νŒ¨ν•˜λ©΄ λΈ”λ‘μ—μ„œ μ œκ±°λ˜λ―€λ‘œ μž₯뢀에 κΈ°λ‘λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. Validating peerλŠ” μ²΄μΈμ½”λ“œλ₯Ό deploy, invoke, query ν•  κΆŒν•œμ„ κ°€μ§‘λ‹ˆλ‹€.
  • Non-validating peer (NVP) : Transactorκ°€ Validating peer에 접속 ν•  수 μžˆλ„λ‘ ν”„λ‘μ‹œ 역할을 ν•˜λŠ” λ…Έλ“œμž…λ‹ˆλ‹€. Non-validating peer (NVP) λŠ” 호좜된 μš”μ²­μ„ Validating peer둜 μ „λ‹¬ν•˜λ©°, 이벀트 슀트림, REST μ„œλΉ„μŠ€λ₯Ό λ‹΄λ‹Ήν•˜λŠ” λ…Έλ“œμž…λ‹ˆλ‹€.
  • Consensus : 블둝체인 λ„€νŠΈμ›Œν¬μ˜ νŠΈλžœμž­μ…˜(deploy, invoke) μˆœμ„œλ₯Ό μœ μ§€ν•˜λŠ” ν”„λ‘œν† μ½œ, Validating λ…Έλ“œλ“€μ€ ν•©μ˜ ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν•˜μ—¬ νŠΈλžœμž­μ…˜μ„ μŠΉμΈν•˜κΈ° μœ„ν•΄μ„œ ν•¨κ»˜ λ™μž‘ν•©λ‹ˆλ‹€.
  • Permissioned network : 각 λ…Έλ“œλŠ” 블둝체인 λ„€νŠΈμ›Œν¬μ—μ„œ μ ‘κ·Ό κΆŒν•œμ„ 관리해야 ν•˜λŠ” λ…Έλ“œμ΄λ©°, 각 λ…Έλ“œλŠ” κΆŒν•œμ΄ μžˆλŠ” μ‚¬μš©μžλ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„ν‚€ν…μ²˜

블둝체인 κΈ°λ³Έμ—μ„œλ„ 보여쀀 μ•„ν‚€ν…μ²˜ κ·Έλ¦Όκ³Ό 같이 λΈ”λ‘μ²΄μΈμ˜ μ—”μ§„μœΌλ‘œ 볼수 μžˆλŠ” Fabric은 크게 3가지 μ„œλΉ„μŠ€λ‘œ ꡬ성이 λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

1. Membership Services

멀버십 μ„œλΉ„μŠ€λŠ” 블둝체인 λ„€νŠΈμ›Œν¬μ—μ„œ 인증 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. Non-permissioned λΈ”λ‘μ²΄μΈμ˜ 경우 μ‚¬μš©μž 인증이 ν•„μš”μ—†μœΌλ©°, λͺ¨λ“  λ…Έλ“œλŠ” λ™λ“±ν•˜κ²Œ νŠΈλžœμž­μ…˜ μ²˜λ¦¬κ°€ κ°€λŠ₯ν•˜κ³  블둝에 νŠΈλžœμž­μ…˜ 정보λ₯Ό μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 멀버쉽 μ„œλΉ„μŠ€λŠ” PKI(Public Key Infrastructure)와 λΆ„μ‚°ν™”/ν•©μ˜ μ»΄ν¬λ„ŒνŠΈλ₯Ό non-permissioned λΈ”λ‘μ²΄μΈμ—μ„œ permissioned λΈ”λ‘μ²΄μΈμœΌλ‘œ λ³€ν™˜μ‹œν‚΅λ‹ˆλ‹€. Permissioned λΈ”λ‘μ²΄μΈμ—μ„œλŠ” μ—”ν‹°ν‹°κ°€ μž₯기적인 μΈμ¦μ„œ(enrollment certificates)λ₯Ό νšλ“ν•˜κΈ° μœ„ν•΄ λ“±λ‘μ ˆμ°¨λ₯Ό 거치게 되며, μ—”ν‹°ν‹° μœ ν˜•μ— 따라 ꡬ별될 수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžμ˜ 경우 TCA (Transaction Certificate Authority)κ°€ μΈμ¦μ„œλ₯Ό λ°œκΈ‰ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ νšλ“ν•œ μΈμ¦μ„œλŠ” νŠΈλžœμž­μ…˜μ„ λ°œμƒμ‹œν‚¬λ•Œ μΈμ¦ν•˜λŠ”λ° μ‚¬μš©λ©λ‹ˆλ‹€.

2. Blockchain Services

블둝체인 μ„œλΉ„μŠ€λŠ” HTTP/2 ν‘œμ€€μ„ 기반으둜 P2P ν”„λ‘œν† μ½œμ„ ν†΅ν•΄μ„œ 뢄산원μž₯을 κ΄€λ¦¬ν•©λ‹ˆλ‹€. 데이터 κ΅¬μ‘°λŠ” ν•΄μ‹œ μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 World stateλ₯Ό λ³΅μ œν•˜λŠ” λ“± 관리 ν•˜λŠ”λ° κ°€μž₯ 효율적으둜 관리할 수 μžˆλ„λ‘ μ΅œμ ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν•„μš”μ— 따라 λ‹€λ₯Έ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜ ν”ŒλŸ¬κ·ΈμΈ(PBFT, Raft, PoW, PoS)을 μ—°κ²°ν•˜κ³  ꡬ성 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

3. Chaincode Services

μ²΄μΈμ½”λ“œ μ„œλΉ„μŠ€λŠ” Validating λ…Έλ“œμ—μ„œ μ•ˆμ „ν•˜κ³  κ°€λ³μš΄ λ°©λ²•μœΌλ‘œ μ²΄μΈμ½”λ“œκ°€ μ‹€ν–‰λ˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€. ν™˜κ²½μ€ λ³΄μ•ˆ OS 및 체인 μ½”λ“œ μ–Έμ–΄, Go, Java 및 Node.js의 λŸ°νƒ€μž„ 및 SDK 계측을 ν¬ν•¨ν•˜λŠ” 일련의 μ„œλͺ… 된 κΈ°λ³Έ 이미지와 ν•¨κ»˜ “잠긴”λ³΄μ•ˆ μ»¨ν…Œμ΄λ„ˆμž…λ‹ˆλ‹€. ν•„μš”ν•œ 경우 λ‹€λ₯Έ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

4. κ·Έμ™Έ κΈ°λŠ₯
4.1 Events

Validating peers 와 μ²΄μΈμ½”λ“œλŠ” 블둝체인 λ„€νŠΈμ›Œν¬μ—μ„œ 이벀트λ₯Ό λ°œμƒ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이벀트 λ°œμƒμ„ λŒ€κΈ°ν•˜κ³  μžˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— ν•„μš”ν•œ λ…Έν‹°λ₯Ό λ³΄λƒ…λ‹ˆλ‹€. μ΄λ²€νŠΈλŠ” 미리 μ •μ˜λœ 이벀트 ν˜Ήμ€ μ»€μŠ€ν…€ 이벀트λ₯Ό λ°œμƒ ν•  수 있으며, ν•˜λ‚˜ μ΄μƒμ˜ μ–΄λŒ‘ν„°λ₯Ό 톡해 이벀트 μˆ˜μ‹  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ Web hooksλ‚˜ Kafka 등을 μ΄μš©ν•˜μ—¬ 이벀트 μˆ˜μ‹ λ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.

4.2 Application Programming Interface (API)

Fabric에 λŒ€ν•œ κΈ°λ³Έ μΈν„°νŽ˜μ΄μŠ€λŠ” REST API μž…λ‹ˆλ‹€. API ν˜ΈμΆœμ„ 톡해 μ‚¬μš©μž 등둝, 블둝체인에 λŒ€ν•œ 쿼리, νŠΈλžœμž­μ…˜ λ°œμƒ 듀을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 특히 μ²΄μΈμ½”λ“œμ™€ μƒν˜Έμž‘μš©ν•˜κΈ° μœ„ν•œ APIλ₯Ό ν†΅ν•΄μ„œ νŠΈλžœμž­μ…˜μ„ 관리 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

4.3 Command Line Interface (CLI)

REST API의 일뢀 κΈ°λŠ₯을 μ§€μ›ν•˜λŠ” CLIκΈ°λŠ₯을 ν†΅ν•΄μ„œ μ²΄μΈμ½”λ“œμ˜ λ””ν”Œλ‘œμ΄ 및 νŠΈλžœμž­μ…˜ 처리 등을 λΉ λ₯΄κ²Œ 진행할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. CLIλŠ” Golang으둜 μ œμž‘μ΄ λ˜μ—ˆμœΌλ©° λ‹€μ–‘ν•œ OSλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.

ν† ν΄λ‘œμ§€

Fabric을 ν†΅ν•œ 볼둝체인 λ„€νŠΈμ›Œν¬λŠ” ν•˜λ‚˜μ˜ 멀버쉽 μ„œλΉ„μŠ€μ™€ λ‹€μˆ˜μ˜ Validating peer 와 non-validating peer λ“€λ‘œ 이루어 질 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈλ₯Ό 톡해 ν•˜λ‚˜ λ˜λŠ” λ‹€μˆ˜μ˜ 체인을 운영 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

1. Single Validating Peers

κΈ°λŠ₯적으둜 non-validating peerλŠ” validating peer의 μ„œλΈŒμ…‹μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ λͺ¨λ“  non-validating peer의 κΈ°λŠ₯은 validating peer둜 μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ κ°€μž₯ κ°„λ‹¨ν•œ λΈ”λ‘μ²΄μΈμ˜ λ„€νŠΈμ›Œν¬λŠ” ν•˜λ‚˜μ˜ validating peer둜 κ΅¬μ„±λœ 블둝체인 λ„€νŠΈμ›Œν¬μž…λ‹ˆλ‹€. 이 ν† ν΄λ‘œμ§€λŠ” 보톡 κ°œλ°œμ„ μœ„ν•œ ν™˜κ²½μœΌλ‘œ μ ν•©ν•©λ‹ˆλ‹€.

SingleValidatingPeer

이 ν† ν΄λ‘œμ§€λŠ” ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜ μ‚¬μš©μ„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 기본으둜 μ„€μ •λ˜μ–΄μžˆλŠ” ν•©μ˜ λͺ¨λ“ˆμΈ noops ν”ŒλŸ¬κ·ΈμΈμ„ μ μš©ν•΄μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.

2. Multiple Validating Peers

μš΄μ˜ν™˜κ²½μ΄κ±°λ‚˜ 개발 ν™˜κ²½μΌ 경우 λ‹€μ–‘ν•œ validating peer와 non-validating peerλ₯Ό μ΄μš©ν•˜μ—¬ 블둝체인 λ„€νŠΈμ›Œν¬λ₯Ό ꡬ성해야 ν•©λ‹ˆλ‹€. 이 κ΅¬μ„±μ—μ„œ non-validating peerλŠ” 이벀트 처리 및 REST API μ„œλΉ„μŠ€ κ΄€λ¦¬λ“±μ˜ 역할을 ν•˜κ²Œ λ˜λŠ” λ…Έλ“œμž…λ‹ˆλ‹€.

MultipleValidatingPeer

Validating peers 듀은 블둝체인 λ„€νŠΈμ›Œν¬ μƒμ—μ„œ μΌμ–΄λ‚˜λŠ” λͺ¨λ“  이벀트, νŠΈλžœμž­μ…˜ λ“±μ˜ 데이터λ₯Ό κ³΅μœ ν•˜κ²Œ λ©λ‹ˆλ‹€.

3. Multichain

각각 블둝체인 λ„€νŠΈμ›Œν¬λŠ” validating peer와 non-validating peer둜 이루어져 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ–‘ν•œ λͺ©μ μ— λ”°λΌμ„œ 이와 같은 μ‘°ν•©μœΌλ‘œ λ‹€μ–‘ν•œ 블둝체인을 ꡬ성 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ •λ¦¬ν•˜λ©°

μ—¬κΈ°κΉŒμ§€ Hyperledger Fabric 을 κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈ 및 μš©μ–΄λ“€ 그리고 ꡬ성 κ°€λŠ₯ν•œ ν† ν΄λ‘œμ§€λ“±μ— λŒ€ν•΄μ„œ κ°„λž΅νžˆ μ•Œμ•„λ΄€μŠ΅λ‹ˆλ‹€.
이 기본적인 정보λ₯Ό μ΄μš©ν•˜μ—¬ λ‹€μŒ λΆ€ν„°λŠ” μ‹€μ œλ‘œ ν™˜κ²½μ„ λ§Œλ“€μ–΄ λ³΄λ©΄μ„œ ν…ŒμŠ€νŠΈ 해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.