äŒæ¥åããããã¯ãã§ãŒã³ãã©ãããã©ãŒã
ããã«ã¡ã¯ãèªè ã®çãããç§ã®ååã¯ãã³ã©ã€ã»ããã§ããã§ããç§ã¯IBMã®æè¡ã¹ãã·ã£ãªã¹ãã§ãããã®èšäºã§ã¯ããããã¯ãã§ãŒã³ãã©ãããã©ãŒã ã§ããHyperledger Fabricã玹ä»ããŸãã ãã®ãã©ãããã©ãŒã ã¯ããšã³ã¿ãŒãã©ã€ãºã¬ãã«ïŒãšã³ã¿ãŒãã©ã€ãºã¯ã©ã¹ïŒã§ããžãã¹ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«èšèšãããŠããŸãã èšäºã¬ãã«-ITãã¯ãããžãŒã®åºæ¬çãªç¥èãæã€æªçãªèªè åãã
Hyperledger Fabricã¯ãLinux Foundationã³ã³ãœãŒã·ã¢ã ã§ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãHyperledgerã®ãã©ã³ãã®1ã€ã§ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã Hyperledger Fabricã¯ãããšããšDigital AssetsãšIBMã«ãã£ãŠéå§ãããŸããã Hyperledger Fabricãã©ãããã©ãŒã ã®äž»ãªæ©èœã¯ãäŒæ¥ã¢ããªã±ãŒã·ã§ã³ã«éç¹ã眮ããŠããããšã§ãã ãããã£ãŠããã©ãããã©ãŒã ã¯ããã¹ãŠã®åå è ã®èå¥ã ãã§ãªãããã©ã³ã¶ã¯ã·ã§ã³ã®é«éæ§ãšäœã³ã¹ããèæ ®ããŠéçºãããŸããã ãããã®å©ç¹ã¯ããã©ã³ã¶ã¯ã·ã§ã³æ€èšŒãµãŒãã¹ã®åé¢ãšåæ£ã¬ãžã¹ããªã®æ°ãããããã¯ã®åœ¢æãããã³èªèšŒæ©é¢ã®äœ¿çšãšåå è ã®æ¿èªã«ãã£ãŠéæãããŸãã
ç§ã®èšäºã¯ã倧åŠã«å ¥åŠããåŠçã®äŒèšã·ã¹ãã ã®èšèšã説æãããã¬ãŒã ã¯ãŒã¯ã®Hyperledger Fabricã«é¢ããäžé£ã®èšäºã®äžéšã§ãã
äžè¬çãªãã€ããŒã¬ãžã£ãŒãã¡ããªãã¯ã¢ãŒããã¯ãã£
Hyperledger Fabricã¯ããããã¯ãŒã¯ããŒãã«ã€ã³ã¹ããŒã«ãããããŸããŸãªæ©èœã³ã³ããŒãã³ãã§æ§æãããåæ£ãããã¯ãã§ãŒã³ãããã¯ãŒã¯ã§ãã Hyperledger Fabricã³ã³ããŒãã³ãã¯ãDockerHubããç¡æã§ããŠã³ããŒãã§ããDockerã³ã³ãããŒã§ãã Hyperledger Fabricã¯Kubernetesç°å¢ã§ãå®è¡ã§ããŸãã
ã¹ããŒãã³ã³ãã©ã¯ãïŒHyperledger Fabricã®ã³ã³ããã¹ãã§ã®ãã§ãŒã³ã³ãŒãïŒãèšè¿°ããããã«ãGolangã䜿çšããŸããïŒHyperledger Fabricã§ã¯ä»ã®èšèªã䜿çšã§ããŸãïŒã ç§ãã¡ã®ã±ãŒã¹ã§ã¯ãNode.jsã«å¯Ÿå¿ããHyperledger Fabric SDKã䜿çšããŠãã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ãéçºããŸããã
ããŒãã§ã¯ãããžãã¹ããžãã¯ïŒã¹ããŒãã³ã³ãã©ã¯ãïŒãå®è¡ãããŸã-ãã§ãŒã³ã³ãŒããåæ£ã¬ãžã¹ããªã®ç¶æ ïŒå åž³ããŒã¿ïŒãä¿åããããã©ãããã©ãŒã ã®ä»ã®ã·ã¹ãã ãµãŒãã¹ãå®è¡ãããŸãã ããŒãã¯è«çãŠãããã«ããããåãç©çãµãŒããŒäžã«ç°ãªãããŒããååšã§ããŸãã ããã«éèŠãªã®ã¯ãããŒããã©ã®ããã«ã°ã«ãŒãåããããïŒä¿¡é Œããããã¡ã€ã³ïŒãããã³ããããé¢é£ä»ããããŠãããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã®æ©èœã§ãã
äžè¬çãªã¢ãŒããã¯ãã£ã¯æ¬¡ã®ãšããã§ãã
åç1. Hyperledger Fabricã®äžè¬çãªã¢ãŒããã¯ãã£
ãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ïŒã¯ã©ã€ã¢ã³ãã®éä¿¡ïŒ-ãŠãŒã¶ãŒããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã§äœæ¥ããã¢ããªã±ãŒã·ã§ã³ã åäœããã«ã¯ãèªèšŒãééãããããã¯ãŒã¯äžã®ããŸããŸãªçš®é¡ã®ã¢ã¯ã·ã§ã³ã«å¯Ÿããé©åãªæš©éãæã£ãŠããå¿ èŠããããŸãã
ãã¢ã«ã¯ããã€ãã®åœ¹å²ããããŸãã
- Endorsing Peer-ãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡ãã·ãã¥ã¬ãŒãããããŒãïŒã¹ããŒãã³ã³ãã©ã¯ãã³ãŒããå®è¡ïŒã ã¹ããŒãã³ã³ãã©ã¯ãã®æ€èšŒãšå®è¡ã®åŸãããŒãã¯ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã®çµæãšãã®çœ²åãè¿ããŸãã
- 泚æãµãŒãã¹-ããã€ãã®ããŒãäžã®åæ£ãµãŒãã¹ã¯ãåæ£ã¬ãžã¹ããªã®æ°ãããããã¯ã圢æããäžé£ã®ãã©ã³ã¶ã¯ã·ã§ã³ãäœæããŸãã Ordering Serviceã¯æ°ãããããã¯ãã¬ãžã¹ããªã«è¿œå ããŸããïŒããã©ãŒãã³ã¹ãåäžãããããã«ããã®æ©èœã¯Committing Peersã«è»¢éãããŸããïŒã
- ã³ããããã¢-åæ£ã¬ãžã¹ããªãå«ã¿ãã¬ãžã¹ããªã«æ°ãããããã¯ãè¿œå ããããŒãïŒOrdering Serviceã圢æïŒã ãã¹ãŠã®ã³ããããã¢ã«ã¯ãåæ£ã¬ãžã¹ããªã®ããŒã«ã«ã³ããŒãå«ãŸããŠããŸãã ã³ããããã¢ã¯ãæ°ãããããã¯ãããŒã«ã«ã«è¿œå ããåã«ããããã¯å ã®ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ã®æå¹æ§ããã§ãã¯ããŸãã
æšå¥šããªã·ãŒã¯ããã©ã³ã¶ã¯ã·ã§ã³æ€èšŒããªã·ãŒã§ãã ãããã®ããªã·ãŒã¯ããã©ã³ã¶ã¯ã·ã§ã³ãæå¹ã§ãããšèªèãããããã«ã¹ããŒãã³ã³ãã©ã¯ããå®è¡ããå¿ èŠãããããŒãã®å¿ èŠãªã»ããã決å®ããŸãã
åæ£ã¬ãžã¹ããª-Lerger-2ã€ã®éšåã§æ§æãããŠããŸãïŒWolrldStateïŒç¶æ ããŒã¿ããŒã¹ãšãåŒã°ããŸãïŒãšBlockChainã
BlockChainã¯ãåæ£ã¬ãžã¹ããªãªããžã§ã¯ãã§çºçãããã¹ãŠã®å€æŽã®èšé²ãä¿åãããããã¯ã®ãã§ãŒã³ã§ãã
WolrldStateã¯ãåæ£ã¬ãžã¹ããªå ã®ãã¹ãŠã®ãªããžã§ã¯ãã®çŸåšã®ïŒæ¥µç«¯ãªïŒå€ãæ ŒçŽããåæ£ã¬ãžã¹ããªã®ã³ã³ããŒãã³ãã§ãã
WorldStateã¯ãåºæ¬ããŒãžã§ã³ã®ããŒã¿ããŒã¹ã§ã-LevelDBãŸãã¯ããè€éã§ã-ããŒãšå€ã®ãã¢ãå«ãCouchDBãäŸïŒå-Ivanãå§-Ivanovãã·ã¹ãã ãžã®ç»é²æ¥-12/12/21ãç幎ææ¥-12/17/1961ãªã© WorldStateãšåæ£ã¬ãžã¹ããªã¯ããã®ãã£ãã«ã®ãã¹ãŠã®ã¡ã³ããŒãšäžè²«ããŠããå¿ èŠããããŸãã
Hyperledger Fabricã¯ãã¹ãŠã®åå è ãèªèããã³èªèšŒããããããã¯ãŒã¯ã§ãããããããã§ã¯å°çšã®èªèšŒæ©é¢ã§ããCAïŒèªèšŒæ©é¢ïŒã䜿çšãããŸãã CAã¯ãX.509æšæºããã³å ¬éããŒã€ã³ãã©ã¹ãã©ã¯ãã£ïŒPKIïŒã«åºã¥ããŠããŸãã
ã¡ã³ããŒã·ãããµãŒãã¹ã¯ãåå è ãç¹å®ã®çµç¹ãŸãã¯ãã£ãã«å ã®ãªããžã§ã¯ãã®æææš©ã確èªããããã®ãµãŒãã¹ã§ãã
ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãã»ãšãã©ã®å Žåãåæ£ã¬ãžã¹ããªå
ã®æ°ããããŒã¿ã®èšé²ã§ãã
ãã£ãã«ãŸãã¯ã¹ããŒãã³ã³ãã©ã¯ããäœæããããã®ãã©ã³ã¶ã¯ã·ã§ã³ããããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ã¯ããŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠéå§ãããåæ£ã¬ãžã¹ããªå
ã®ã¬ã³ãŒãã§çµäºããŸãã
ãã£ãã«ã¯ããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã®2人以äžã®åå è ã§æ§æãããéãããµããããã§ãããéãããŠãããããç¥ãããŠããåå è ã®ãµãŒã¯ã«å ã§æ©å¯ãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããããã«èšèšãããŠããŸãã ãã£ãã«ã¯ãåå è ããã®åæ£ã¬ãžã¹ããªãã¹ããŒãã³ã³ãã©ã¯ãã泚æãµãŒãã¹ãWorldStateã«ãã£ãŠæ±ºå®ãããŸãã åãã£ãã«ã¡ã³ããŒã¯ããã£ãã«ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããããŸããŸãªçš®é¡ã®ãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããæš©å©ãæã£ãŠããå¿ èŠããããŸãã æ¿èªã¯ãã¡ã³ããŒã·ãããµãŒãã¹ã䜿çšããŠå®è¡ãããŸãã
å žåçãªãã©ã³ã¶ã¯ã·ã§ã³å®è¡ã·ããªãª
次ã«ããããžã§ã¯ããäŸãšããŠäœ¿çšããŠãå žåçãªãã©ã³ã¶ã¯ã·ã§ã³å®è¡ã·ããªãªã«ã€ããŠã話ããããšæããŸãã
å éšãããžã§ã¯ãã®äžç°ãšããŠã倧åŠã«å ¥åŠããåŠçãç»é²ããã³èšé²ããããã«èšèšãããHyperledger Fabricãããã¯ãŒã¯ãäœæããŸããã ç§ãã¡ã®ãããã¯ãŒã¯ã¯ã倧åŠAãšå€§åŠBã«å±ãã2ã€ã®çµç¹ã§æ§æãããŠããŸããåçµç¹ã«ã¯ãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãšãã®ã³ãããã¡ã³ãããã³æ¿èªãã¢ãå«ãŸããŠããŸãã ãŸããäžè¬çãªãµãŒãã¹ã§ããOrdering ServiceãMemebership ServiceãCertification Authorityã䜿çšããŠããŸãã
1ïŒãã©ã³ã¶ã¯ã·ã§ã³ã®éå§
ãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã¯ãHyperledger Fabric SDKã䜿çšããŠããã©ã³ã¶ã¯ã·ã§ã³ãªã¯ãšã¹ããéå§ããã¹ããŒãã³ã³ãã©ã¯ãã§ããŒãã«ãªã¯ãšã¹ããéä¿¡ããŸãã èŠæ±ã¯ãå€æŽãŸãã¯åæ£ã¬ãžã¹ããªïŒå åž³ïŒããã®èªã¿åãã®ããã®ãã®ã§ãã äŒèšå€§åŠçåãã®ã·ã¹ãã ã®ãã¹ãæ§æã®äŸãæ€èšãããšãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯ããã©ã³ã¶ã¯ã·ã§ã³èŠæ±ã倧åŠAããã³Bã®ããŒãã«éä¿¡ããŸããããã¯ãåŒã³åºãããã¹ããŒãå¥çŽã®æ¿èªããªã·ãŒã«å«ãŸããŠããŸãã ããŒãAã¯ãå ¥åŠããåŠçãç»é²ãã倧åŠã«ããããŒãã§ãããããŒãBã¯å¥ã®å€§åŠã«ããããŒãã§ãã ãã©ã³ã¶ã¯ã·ã§ã³ãåæ£ã¬ãžã¹ããªã«ä¿åããã«ã¯ãããžãã¹ããžãã¯ã«åŸã£ãŠããã©ã³ã¶ã¯ã·ã§ã³ãæ¿èªããå¿ èŠããããã¹ãŠã®ããŒããåãçµæã§ã¹ããŒãã³ã³ãã©ã¯ããæ£åžžã«å®è¡ããå¿ èŠããããŸãã Hyperledger Fabric SDKããŒã«ã䜿çšããŠãããŒãAãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã¯æ¿èªããªã·ãŒãåä¿¡ããã©ã®ããŒãããã©ã³ã¶ã¯ã·ã§ã³ãªã¯ãšã¹ããéä¿¡ããå¿ èŠãããããèŠã€ããŸãã ããã¯ãç¹å®ã®ããŒã¿ãåæ£ã¬ãžã¹ããªã«èªã¿æžãããããã«ç¹å®ã®ã¹ããŒãã³ã³ãã©ã¯ãïŒãã§ãŒã³ã³ãŒãé¢æ°ïŒãåŒã³åºãèŠæ±ã§ãã æè¡çã«ã¯ãã¯ã©ã€ã¢ã³ãSDKã¯å¯Ÿå¿ããé¢æ°ã䜿çšããŸããAPIã¯ãªããžã§ã¯ãã«ãã©ã³ã¶ã¯ã·ã§ã³ãã©ã¡ãŒã¿ãæž¡ããã¯ã©ã€ã¢ã³ã眲åãè¿œå ããgRPCãä»ããŠãããã³ã«ãããã¡ãä»ããŠãã®ããŒã¿ã察å¿ããããŒãïŒæ¿èªãã¢ïŒã«éä¿¡ããŸãã
åç2.ãã©ã³ã¶ã¯ã·ã§ã³ã®éå§
2ïŒã¹ããŒãå¥çŽã®å±¥è¡
ãã©ã³ã¶ã¯ã·ã§ã³ã®ãªã¯ãšã¹ããåä¿¡ããããŒãïŒãšã³ããã€ã³ããã¢ïŒã¯ãã¯ã©ã€ã¢ã³ãã®çœ²åã確èªãããã¹ãŠãæ£åžžãªå Žåããªã¯ãšã¹ãããŒã¿ã䜿çšããŠãªããžã§ã¯ããååŸãããã®ããŒã¿ã䜿çšããŠã¹ããŒãã³ã³ãã©ã¯ãå®è¡ïŒãã§ãŒã³ã³ãŒãæ©èœïŒã®ã·ãã¥ã¬ãŒã·ã§ã³ãéå§ããŸãã ã¹ããŒãã³ã³ãã©ã¯ããšã¯ãååŒã®ããžãã¹ããžãã¯ãç¹å®ã®æ¡ä»¶ãšæ瀺ã®ã»ããã§ãïŒãã®å Žåã¯ãåŠçã®æ€èšŒãããã¯æ°èŠåŠçããŸãã¯æ¢ã«ç»é²ãããŠããã幎霢æ€èšŒãªã©ïŒã ã¹ããŒãã³ã³ãã©ã¯ããå®è¡ããã«ã¯ãWorldStateã®ããŒã¿ãå¿ èŠã§ãã æšå¥šãã¢ã§ã¹ããŒãã³ã³ãã©ã¯ããã·ãã¥ã¬ãŒãããçµæãèªã¿åãã»ãããšæžã蟌ã¿ã»ããã®2ã€ã®ããŒã¿ã»ãããååŸãããŸãã èªã¿åãã»ãããšæžã蟌ã¿ã»ããã¯ãWorldStateã®å ã®å€ãšæ°ããå€ã§ãã ïŒæ°èŠ-ã¹ããŒãã³ã³ãã©ã¯ãã®ã·ãã¥ã¬ãŒã·ã§ã³äžã«åŸãããæå³ã§ïŒã
åç3.ã¹ããŒãã³ã³ãã©ã¯ãã®å®è¡
3ïŒã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã«ããŒã¿ãè¿ã
ã¹ããŒãã³ã³ãã©ã¯ãã®ã·ãã¥ã¬ãŒã·ã§ã³ã®åŸããšã³ããŒã¹ãã¢ã¯ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã«åæããŒã¿ãšã·ãã¥ã¬ãŒã·ã§ã³çµæãããã³èšŒææžã§çœ²åãããRWã»ãããè¿ããŸãã ãã®æ®µéã§ã¯ãåæ£ã¬ãžã¹ããªã¯å€æŽãããŸããã ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯ãæ¿èªãã¢ã®çœ²åã確èªããéä¿¡ããããã©ã³ã¶ã¯ã·ã§ã³ã®ãœãŒã¹ããŒã¿ãšè¿ãããããŒã¿ãæ¯èŒããŸãïŒã€ãŸãããã©ã³ã¶ã¯ã·ã§ã³ãã·ãã¥ã¬ãŒãããããœãŒã¹ããŒã¿ãæªãã§ãããã©ããã確èªããŸãïŒã ãã©ã³ã¶ã¯ã·ã§ã³ãã¬ãžã¹ããªããã®ããŒã¿ã®èªã¿åãã®ã¿ã§ããå Žåãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯ããã«å¿ããŠå¿ èŠãªèªã¿åãã»ãããåãåããéåžžãåæ£ã¬ãžã¹ããªãå€æŽããã«ãã©ã³ã¶ã¯ã·ã§ã³ãæ£åžžã«å®äºããŸãã ã¬ãžã¹ããªå ã®ããŒã¿ãå€æŽããããšã«ãªã£ãŠãããã©ã³ã¶ã¯ã·ã§ã³ã®å Žåãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯ãæ¿èªããªã·ãŒã®å®è£ ãããã«ãã§ãã¯ããŸãã ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯æšå¥šããªã·ãŒã®çµæããã§ãã¯ããªãå¯èœæ§ããããŸããããã®å Žåã®Hyperledger Fabricãã©ãããã©ãŒã ã¯ãã¬ãžã¹ããªã«ãã©ã³ã¶ã¯ã·ã§ã³ãè¿œå ãã段éã§ãããŒãïŒComitting PeersïŒã®ããªã·ãŒããã§ãã¯ããŸãã
å³4.ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã«ããŒã¿ãè¿ã
4ïŒæ³šæã»ãããžã®RWã»ããã®éä¿¡
ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãšé¢é£ããŒã¿ãOrderingãµãŒãã¹ã«éä¿¡ããŸãã ããã«ã¯ãRWã»ãããæ¿èªãã¢ãããã³ãã£ãã«IDãå«ãŸããŸãã
泚æãµãŒãã¹-ååã«åºã¥ããŠããã®ãµãŒãã¹ã®äž»ãªæ©èœã¯ãçä¿¡ãã©ã³ã¶ã¯ã·ã§ã³ãæ£ããé åºã§æ§ç¯ããããšã§ãã åæ£ã¬ãžã¹ããªã®æ°ãããããã¯ã®åœ¢æãšããã¹ãŠã®ã³ãããããŒããžã®æ°ãã圢æãããã¯ã®é ä¿¡ã®ä¿èšŒãšãšãã«ãåæ£ã¬ãžã¹ããªïŒã³ããããã¢ïŒãå«ããã¹ãŠã®ããŒãã®ããŒã¿ã®äžè²«æ§ã確ä¿ããŸãã åæã«ãOrderingãµãŒãã¹èªäœã¯ã¬ãžã¹ããªãå€æŽããŸããã Ordering Serviceã¯ã·ã¹ãã ã®éèŠãªã³ã³ããŒãã³ãã§ãããããè€æ°ã®ããŒãã®ã¯ã©ã¹ã¿ãŒã§ãã 泚æãµãŒãã¹ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®æå¹æ§ããã§ãã¯ãããç¹å®ã®ãã£ãã«èå¥åãæã€ãã©ã³ã¶ã¯ã·ã§ã³ãåãå ¥ããç¹å®ã®é åºã§çä¿¡ãã©ã³ã¶ã¯ã·ã§ã³ãé 眮ãããããããåæ£ã¬ãžã¹ããªã®æ°ãããããã¯ã圢æããŸãã 1ã€ã®æ³šæãµãŒãã¹ã§è€æ°ã®ãã£ãã«ãåæã«æäŸã§ããŸãã Ordering Serviceã«ã¯ãæ£ããïŒå€æŽãããŠããªãïŒãã©ã³ã¶ã¯ã·ã§ã³ãã¥ãŒããµããŒãããKafkaã¯ã©ã¹ã¿ãŒãå«ãŸããŠããŸãïŒæ¡é 7ãåç §ïŒã
åç5.泚æã»ããã«RWã»ãããéä¿¡ãã
5ïŒåœ¢æããããããã¯ãCommitting Peerã«éä¿¡ãã
Ordering Serviceã§åœ¢æããããããã¯ã¯ããã¹ãŠã®ãããã¯ãŒã¯ããŒãã«éä¿¡ãããŸãã æ°ãããããã¯ãåä¿¡ããåããŒãã¯ãæ¿èªããªã·ãŒãžã®æºæ ã確èªããã¹ããŒãã³ã³ãã©ã¯ãã®ã·ãã¥ã¬ãŒã·ã§ã³ã®çµæãšããŠãã¹ãŠã®æ¿èªãã¢ãåãçµæïŒæžã蟌ã¿ã»ããïŒãåä¿¡ããããšã確èªããåæå€ãå€æŽããããã©ããã確èªããŸãïŒã€ãŸããèªã¿åãã»ãã-ãã©ã³ã¶ã¯ã·ã§ã³ãéå§ãããŠãããWorldStateããã¹ããŒãã³ã³ãã©ã¯ãã«ãã£ãŠèªã¿åãããããŒã¿ïŒã ãã¹ãŠã®æ¡ä»¶ãæºããããå Žåããã©ã³ã¶ã¯ã·ã§ã³ã¯æå¹ãšããŒã¯ããããã以å€ã®å Žåããã©ã³ã¶ã¯ã·ã§ã³ã¯ç¡å¹ãªã¹ããŒã¿ã¹ãåãåããŸãã
å³6.圢æããããããã¯ãCommitting Peerã«éä¿¡ãã
6ïŒã¬ãžã¹ããªãžã®ãããã¯ã®è¿œå
åããŒãã¯ãåæ£ã¬ãžã¹ããªã®ããŒã«ã«ã³ããŒã«ãã©ã³ã¶ã¯ã·ã§ã³ãè¿œå ãããã©ã³ã¶ã¯ã·ã§ã³ãæå¹ãªå Žåãæžã蟌ã¿ã»ãããWorldStateïŒçŸåšã®ç¶æ ïŒã«é©çšãããããã«å¿ããŠããã©ã³ã¶ã¯ã·ã§ã³ã®åœ±é¿ãåãããªããžã§ã¯ãã®æ°ããå€ãèšé²ãããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ãŒãåãåã£ãå Žå-ç¡å¹ïŒããšãã°ãåããããã¯å ã®åããªããžã§ã¯ãã§2ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãçºçããå Žåãå ã®å€ã¯ä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠæ¢ã«å€æŽãããŠããããããã©ã³ã¶ã¯ã·ã§ã³ã®1ã€ã¯ç¡å¹ã«ãªããŸãïŒã ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãç¡å¹ãªããŒã¯ã³ã䜿çšããŠåæ£ã¬ãžã¹ããªã«ãè¿œå ãããŸããããã®ãã©ã³ã¶ã¯ã·ã§ã³ã®æžã蟌ã¿ã»ããã¯WorldStateã®çŸåšã®ç¶æ ã«ã¯é©çšãããªãããããã©ã³ã¶ã¯ã·ã§ã³ã«åå ããŠãããªããžã§ã¯ãã¯å€æŽãããŸããã ãã®åŸããã©ã³ã¶ã¯ã·ã§ã³ãåæ£ã¬ãžã¹ããªã«æ°žä¹ ã«è¿œå ããããšããéç¥ãšããã©ã³ã¶ã¯ã·ã§ã³ã®ã¹ããŒã¿ã¹ãã€ãŸãããã©ã³ã¶ã¯ã·ã§ã³ãæå¹ã§ãããã©ããããŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ãããŸã...
å³7.ã¬ãžã¹ããªãžã®ãããã¯ã®è¿œå
泚æãµãŒãã¹
Ordering Serviceã¯ã察å¿ããZooKeeperããŒããšOrdering Service NodesïŒOSNïŒãåããKafkaã¯ã©ã¹ã¿ãŒã§æ§æãããŸãããããã¯ãOrdering Serviceã¯ã©ã€ã¢ã³ããšKafkaã¯ã©ã¹ã¿ãŒã®éã«ãããŸãã Kafka Clusterã¯ãåæ£åã®ãã©ãŒã«ããã¬ã©ã³ããããŒïŒã¡ãã»ãŒãžã³ã°ïŒç®¡çãã©ãããã©ãŒã ã§ãã Kafkaã®åãã£ãã«ïŒãããã¯ïŒã¯ãæ°ããã¬ã³ãŒãã®è¿œå ã®ã¿ããµããŒãããå€æŽäžå¯èœãªäžé£ã®ã¬ã³ãŒãã§ãïŒæ¢åã®ã¬ã³ãŒããåé€ããããšã¯ã§ããŸããïŒã ãããã¯ã®æ§é ã®å³ã以äžã«ç€ºããŸãã ãããã¯ãã§ãŒã³ãã©ãããã©ãŒã ã®æ§ç¯ã«äœ¿çšãããã®ã¯ãKafkaã®ãã®ããããã£ã§ãã
kafka.apache.orgããååŸ
å³8.泚æãµãŒãã¹ã®ãããã¯æ§é
䟿å©ãªãªã³ã¯
Youtube-Hyperledger Projectã§ããžãã¹åãã®ãããã¯ãã§ãŒã³ãæ§ç¯ãã
Hyperledger Fabric Docs
Hyperledger FabricïŒèš±å¯ããããããã¯ãã§ãŒã³çšã®åæ£ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã
è¬èŸ
ç§ã¯ååã«èšäºãæºåããã®ãå©ããŠãããããšã«æ·±ãæè¬ããŸãã
ãã³ã©ã€ã»ããªãŒã
ã€ãŽãŒã«ã»ããã
ããããªãŒã»ãŽã«ããã§ã
ã¢ã¬ã¯ãµã³ããŒã»ãŒã ãã©ã
ãšã«ããªãŒãã»ã¯ã«ãã³ã³ã¯
ãšã«ããªãŒãã»ã°ã»ã