เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš Wheelsetsโ€‹: เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบชเบปเบšโ€‹เบเบฒเบ™โ€‹เบเบฑเบš Hyperledger Fabricโ€‹

เบชเบฐเบšเบฒเบเบ”เบต, เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ DRD KP (เบเบฒเบ™เปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบŠเบธเบ”เบฅเปเป‰). เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบญเบเบขเบฒเบเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ blockchain เบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เบžเบฒเบเปƒเบ•เป‰เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต. เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เบ‚เป‰เบญเบเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบš Hyperledger Fabric, เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบ extrapolated เบเบฑเบš blockchain เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบ”เป†. เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบงเบดเบ—เบตเปเบเป‰เป„เบ‚ blockchain เบงเบดเบชเบฒเบซเบฐเบเบดเบ”เป€เบžเบทเปˆเบญเปƒเบซเป‰เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบžเปเปƒเบˆเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบฅเบฐเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒ.

เบˆเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบš, เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”, เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบˆเบฐเบ–เบทเบเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆเบ—เบตเปˆเบ™เบตเป‰ (เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเบšเปเปˆเบกเบต). เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเบ‚เบญเบ‡เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ, เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒ "เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰" เปเบฅเบฐ, เบšเบฒเบ‡เบ—เบต, เบญเปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™เปƒเบ™เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบ”เบตเปเบฅเบฐเบšเปเปˆเบ”เบตเปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™.

เบšเบฑเบ™เบซเบฒ: Blockchains เบเบฑเบ‡เบšเปเปˆเบ‚เบฐเบซเบเบฒเบเป€เบ—เบทเปˆเบญ

เปƒเบ™เบกเบทเป‰เบ™เบตเป‰, เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰ blockchain เป€เบ›เบฑเบ™เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบ—เบตเปˆเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบเบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบฅเบฐเป€เบšเบตเบ”เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเปƒเบ™ wrapper เบ—เบตเปˆเบชเบงเบเบ‡เบฒเบก. เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบ‚เบญเบ‡เบฅเบฑเบ”, เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปƒเบ™เปเบ‡เปˆเบ”เบต, plasma เปเบฅเบฐ sharding เบญเบฒเบ”เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡ เบ—เบณ เบกเบฐเบ”เบฒ. เบšเบฒเบ‡เบกเบทเป‰. เบซเบผเบทเบšเบฒเบ‡เบ—เบต TON เบˆเบฐเป€เบฅเบทเปˆเบญเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบปเบเป€เบ”เบทเบญเบ™, เปเบฅเบฐเบเบธเปˆเบก Plasma เบ•เปเปˆเป„เบ›เบˆเบฐเบขเบธเบ”เป€เบŠเบปเบฒ. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบŠเบทเปˆเบญโ€‹เปƒเบ™โ€‹เปเบœเบ™โ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เปเบฅเบฐโ€‹เบญเปˆเบฒเบ™โ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฒเบ™โ€‹เบชเบตโ€‹เบ‚เบฒเบงโ€‹เบ—เบตเปˆโ€‹เบชเบงเบโ€‹เบ‡เบฒเบกโ€‹เปƒเบ™โ€‹เบ•เบญเบ™โ€‹เบเบฒเบ‡โ€‹เบ„เบทเบ™โ€‹, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เปเบฅเบฐโ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป€เบฎเบฑเบ”โ€‹เบšเบฒเบ‡โ€‹เบชเบดเปˆเบ‡โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบกเบตโ€‹. เป€เบญเบปเบฒ shit เบชเปเบฒเป€เบฅเบฑเบ”.

เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบšเบดเปˆเบ‡เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เป€เบŠเบฑเปˆเบ™: เบกเบตเบซเบผเบฒเบเบงเบดเบŠเบฒ, เป€เบ–เบดเบ‡เบซเบผเบฒเบเบžเบฑเบ™เบ„เบปเบ™, เบœเบนเป‰เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเป„เบงเป‰เบงเบฒเบ‡เปƒเบˆ; เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบเปˆเบฝเบงเบเบฑเบš DLT เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ—เบปเปˆเบงเป„เบ›เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบžเบดเป€เบชเบ”เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบšเปเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเบฅเบฐเบšเบปเบšเบšเบฑเบ™เบŠเบตเบชเบนเบ™เบเบฒเบ‡เปƒเบ”เป†. เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบฅเบฑเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เป‰เบญเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™ - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบงเปˆเบฒ blockchain เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เบ„เปเบฒเบ‚เบงเบฑเบ™เบˆเบฒเบเบซเบ™เบฑเบ‡เบชเบทเบ‚เบฒเบงเปเบฅเบฐเบชเบทเปˆเบกเบงเบ™เบŠเบปเบ™เบชเบฑเบ™เบเบฒเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เปเปˆเป„เบ›เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบซเบผเบฒเบเบฅเป‰เบฒเบ™เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต. เบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบ—เป‰?

Mainnet Ethereum เบ›เบฐเบˆเบธเบšเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เบขเบนเปˆเบ—เบตเปˆ ~30 tps. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบขเปˆเบฒเบ‡เบ”เบฝเบง, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™ blockchain เปƒเบ™เบ—เบธเบเบงเบดเบ—เบตเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”. เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบ”เบฒโ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เบกเบตโ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™ 2000 tps (.เบเบธเปˆเบก) เบซเบผเบท 3000 tps (เบœเป‰เบฒ Hyperledger, เบกเบตเบซเบ™เป‰เบญเบเบฅเบปเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบžเบดเบก, เปเบ•เปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบงเปˆเบฒเบ”เบฑเบ”เบŠเบฐเบ™เบตเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเป€เบ›เบฑเบ™เป€เบญเบเบฐเบชเบฑเบ™เป€เบเบปเปˆเบฒ). เปเบกเปˆเบ™ เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเปƒเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบœเป‰เบฒเบฎเบฒเบ, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบ—เบตเปˆเบชเบธเบ”, 20000 tps, เปเบ•เปˆเบกเบฒเบฎเบญเบ”เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบ—เบฒเบ‡เบงเบดเบŠเบฒเบเบฒเบ™, เบฅเปเบ–เป‰เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบ‚เบญเบ‡เบกเบฑเบ™. เบกเบฑเบ™เบšเปเปˆเบซเบ™เป‰เบฒเบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒเบžเบฐเปเบ™เบเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ blockchain เบˆเบฐเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เปเบ•เปˆเบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ throughput, เบเบฑเบ‡เบกเบต latency.

เบเบฒเบ™เป€เบฅเบทเปˆเบญเบ™เป€เบงเบฅเบฒ

เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบˆเบฒเบเป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ–เบทเบเบฅเบดเป€เบฅเบตเปˆเบกเป€เบ–เบดเบ‡เบเบฒเบ™เบญเบฐเบ™เบธเบกเบฑเบ”เบชเบธเบ”เบ—เป‰เบฒเบเป‚เบ”เบเบฅเบฐเบšเบปเบšเปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบœเปˆเบฒเบ™เบ—เบธเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡, เปเบ•เปˆเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเบ™. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ blockchain เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ„เบงเบฒเบกเป„เบง 1000000 tps, เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ 10 เบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบšเบฅเบฑเบญเบ 488 MB, เบกเบฑเบ™เบˆเบฐเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบšเป?

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™ Hyperledger Fabric เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบšเปˆเบญเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเปเบฅเบฐเบกเบฑเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฑเบ™.

เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš Wheelsetsโ€‹: เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบชเบปเบšโ€‹เบเบฒเบ™โ€‹เบเบฑเบš Hyperledger Fabricโ€‹
เป€เบญเบปเบฒเบกเบฒเบˆเบฒเบเบ—เบตเปˆเบ™เบตเป‰: hyperledger-fabric.readthedocs.io/en/release-1.4/arch-deep-dive.html#swimlane

(1) เบฅเบนเบเบ„เป‰เบฒเบชเป‰เบฒเบ‡เบ—เบธเบฅเบฐเบเปเบฒ, เบชเบปเปˆเบ‡เป„เบ›เปƒเบซเป‰เบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™, เบชเบธเบ”เบ—เป‰เบฒเบ simulate เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ (เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เป‚เบ”เบ chaincode เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบ›เบฐเบˆเบธเบšเบฑเบ™, เปเบ•เปˆเบšเปเปˆเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบเบฒเบ™) เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบš RWset - เบŠเบทเปˆเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบชเบฐเบšเบฑเบšเปเบฅเบฐเบกเบนเบ™เบ„เปˆเบฒ. เป€เบญเบปเบฒเบกเบฒเบˆเบฒเบเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเปƒเบ™ CouchDB, (2) เบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™ RWset เบ—เบตเปˆเบฅเบปเบ‡เบ™เบฒเบกเปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ, (3) เบฅเบนเบเบ„เป‰เบฒเบเบงเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบกเบตเบฅเบฒเบเป€เบŠเบฑเบ™เบ‚เบญเบ‡เบกเบดเบ”เบชเบฐเบซเบฒเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” (เบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™), เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เบ—เบธเบฅเบฐเบเปเบฒเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฑเปˆเบ‡เบŠเบทเป‰. , เบซเบผเบทโ€‹เบชเบปเปˆเบ‡โ€‹เบกเบฑเบ™โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบš (เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฑเบ‡โ€‹เบˆเบฐโ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เปƒเบ™โ€‹เบžเบฒเบโ€‹เบซเบผเบฑเบ‡โ€‹)โ€‹, เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบชเบฑเปˆเบ‡โ€‹เป€เบฎเบฑเบ”โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเบ™โ€‹เปเบฅเบฐ (4โ€‹) เบชเบปเปˆเบ‡โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™โ€‹เบกเบดเบ”โ€‹เบชเบฐโ€‹เบซเบฒเบโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹, เบšเปเปˆโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบœเบนเป‰โ€‹เบฎเบฑเบšโ€‹เบฎเบญเบ‡โ€‹; เบกเบดเบ”เบชเบฐเบซเบฒเบเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบŠเบธเบ”เบ—เบตเปˆเบญเปˆเบฒเบ™เปเบกเปˆเบ™เบเบปเบ‡เบเบฑเบšเบชเบฐเบšเบฑเบšเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบงเปˆเบฒเบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบตเบฅเบฒเบเป€เบŠเบฑเบ™, เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเป„เบ”เป‰เบ•เบปเบเบฅเบปเบ‡.

เปเบ•เปˆเบ™เบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบ„เปเบฒเบงเปˆเบฒ "เบœเบนเป‰เบชเบฑเปˆเบ‡เบชเป‰เบฒเบ‡เป€เบ›เบฑเบ™เบšเบฅเบฑเบญเบ" เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบŠเบทเปˆเบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒ, เปเบ•เปˆเบเบฑเบ‡ 3 เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเบˆเบฒเบเบœเบนเป‰เบ™เปเบฒเป„เบ›เบซเบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบฅเบฐเบเบฑเบšเบ„เบทเบ™: เบœเบนเป‰เบ™เปเบฒเป€เบžเบตเปˆเบกเบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบชเปˆเบšเบฑเบ™เบ—เบถเบ, เบชเบปเปˆเบ‡เปƒเบซเป‰เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เบ•เปเปˆเบกเบฒเป€เบžเบตเปˆเบกเบกเบฑเบ™. เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ, เบชเบปเปˆเบ‡เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบเบฑเบšเบœเบนเป‰เบ™เปเบฒ, เบœเบนเป‰เบ™เปเบฒเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ‚เปเป‰เบ„เบงเบฒเบก, เบชเบปเปˆเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบเบฑเบšเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ. เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹เบเบงเปˆเบฒโ€‹เปเบฅเบฐโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ•เบฑเบ™โ€‹, เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบชเบฑเปˆเบ‡โ€‹เบŠเบทเป‰โ€‹เบซเบผเบฒเบโ€‹เบ„เบฑเป‰เบ‡โ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฑเบ™โ€‹.. Hyperledger Fabric เบกเบตเบชเบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเบ™: BatchTimeout - เป€เบงเบฅเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเบ™เปเบฅเบฐ BatchSize - เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฑเบ™ (เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ block เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปƒเบ™ bytes). เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเป€เบ–เบดเบ‡เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”, เบ•เบฑเบ™เปƒเบซเบกเปˆเบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ. เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบ, เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบ‚เบถเป‰เบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบก BatchTimeout เปเบฅเบฐ BatchSize. เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ RWSets เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบšเบฑเบš, เบ•เบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”, เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡ MVCC เบชเบนเบ‡เบ‚เบถเป‰เบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญ BatchTimeout เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, UX เป€เบชเบเบซเบฒเบเบขเปˆเบฒเบ‡เบฎเป‰เบฒเบเปเบฎเบ‡. เป‚เบ„เบ‡เบเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เปเบฅเบฐเบˆเบฐเปเบˆเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ.

เบงเบดเบ—เบตเบเบฒเบ™เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบฅเปเบ–เป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบ•เบฑเบ™เปเบฅเบฐเบšเปเปˆเบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบธเบฅเบฐเบเปเบฒ

เป€เบงเบฅเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฑเบ™เบ”เบปเบ™เบ‚เบถเป‰เบ™, เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบ‚เบญเบ‡ blockchain เบชเบนเบ‡เบ‚เบถเป‰เบ™. เบซเบ™เบถเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเบ„เบปเบ™เบญเบทเปˆเบ™, เปเบ•เปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบฅเบฐเบ™เบถเบเป€เบ–เบดเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ„เบงเบฒเบกเป€เบซเบฑเบ™เบ”เบตเบ™เปเบฒเปƒเบ™ RAFT เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบชเบฒเบกเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบˆเบฒเบเบœเบนเป‰เบ™เปเบฒเป„เบ›เบซเบฒเบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบกเปเบฅเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™. เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบ, เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบ‚เบถเป‰เบ™. เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹เบเบงเปˆเบฒโ€‹เปเบฅเบฐโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเบ™โ€‹, เบเบฒเบ™โ€‹เบžเบปเบงโ€‹เบžเบฑเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบกเบตโ€‹เบซเบผเบฒเบโ€‹เบ‚เบถเป‰เบ™โ€‹. เบงเบดเบ—เบตเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเบเบฒเบ™เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบฅเบฐเบšเบปเบšเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบชเบธเบ”เบ—เป‰เบฒเบ?

เบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเป‰เป„เบ‚เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡ MVCC เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบˆเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเบ›เบฐเบเบญเบšเบกเบต RWSets เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบเบฑเบšเบฎเบธเปˆเบ™เบ”เบฝเบงเบเบฑเบ™. เปเบ™เปˆเบ™เบญเบ™, เปƒเบ™เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒ (เบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ blockchain, เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ backend, เปเบฅเบฐเบ‚เป‰เบญเบเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบกเบฑเบ™) เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡ MVCC, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบซเบผเบทเป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบ•เบปเบšเปเบ•เปˆเบ‡เบ›เบปเบเบเบฐเบ•เบดเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบเบฒเบ™เป‚เบ—เบ—เบตเปˆเบฅเบดเป€เบฅเบตเปˆเบกเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบฅเบญเบ‡เปƒเบซเบกเปˆ.

เบเบฒเบ™เบฅเบญเบ‡เบ„เบฑเป‰เบ‡เปƒเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบเบธเบ”เบ—เบฐเบชเบฒเบ”เป€เบฅเบเบเบณเบฅเบฑเบ‡, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบˆเบฐเบซเบผเบธเบ”เปœเป‰เบญเบเบ–เบญเบเบฅเบปเบ‡เป€เบ›เบฑเบ™เป€เบฅเบเบเบณเบฅเบฑเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰เบเบฒเบ™เบฅเบญเบ‡เปเบšเบšเบชเบธเปˆเบกเบ„เบทเบ™เปƒเบซเบกเปˆเบžเบฒเบเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เบซเบผเบทเบ„เบปเบ‡เบ—เบตเปˆเบซเบ™เบถเปˆเบ‡. เบกเบตเบ•เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™ collision เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ”.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เปเปˆเป„เบ›เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบเบฑเบšเบฅเบฐเบšเบปเบš asynchronous เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบฅเปเบ–เป‰เบฒ 15, 30 เบซเบผเบท 10000000 เบงเบดเบ™เบฒเบ—เบต, เป€เบŠเบดเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™ BatchTimeout. เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบฅเบดเป€เบฅเบตเปˆเบกเป‚เบ”เบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปเบกเปˆเบ™ / เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™ blockchain.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบธเบฅเบฐเบเปเบฒ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™ CouchDB เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เปƒเบŠเป‰: เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบต UI เบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡, REST API, เปเบฅเบฐเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบฅเบฐ sharding เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™. เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ„เปเป€เบฅเบฑเบเบŠเบฑเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡ CouchDB เบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰ Fabric เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เป‚เบฅเบเบ‚เบญเบ‡เบกเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป€เบญเบเบฐเบชเบฒเบ™เบ›เบฐเป€เบžเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

{
 Status string // ะกั‚ะฐั‚ัƒั ั‚ั€ะฐะฝะทะฐะบั†ะธะธ: "pending", "done", "failed"
 TxID: string // ID ั‚ั€ะฐะฝะทะฐะบั†ะธะธ
 Error: string // optional, ัะพะพะฑั‰ะตะฝะธะต ะพะฑ ะพัˆะธะฑะบะต
}

เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบญเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเป€เบžเบทเปˆเบญเบ™เบกเบดเบ”, ID entity เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰ (ID เบ”เบฝเบงเบเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบฅเบฐเบซเบฑเบ”) เบ–เป‰เบฒเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐ, TxID เปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™. เบ›เบฑเบšเบ›เบธเบ‡เบเป‰เบญเบ™เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเป€เบžเบทเปˆเบญเบ™เบกเบดเบ”.

เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš Wheelsetsโ€‹: เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบชเบปเบšโ€‹เบเบฒเบ™โ€‹เบเบฑเบš Hyperledger Fabricโ€‹

เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰, เบœเบนเป‰เปƒเบŠเป‰เบšเปเปˆเป„เบ”เป‰เบฅเปเบ–เป‰เบฒเบชเปเบฒเบฅเบฑเบšเบ•เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบเบญเบš, เป€เบšเบดเปˆเบ‡เบฅเปเป‰ spinning เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบชเปเบฒเบฅเบฑเบš 10 เบงเบดเบ™เบฒเบ—เบต, เบฅเบฒเบงเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ—เบฑเบ™เบ—เบตเบˆเบฒเบเบฅเบฐเบšเบปเบšเปเบฅเบฐเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบ BoltDB เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบซเบเบฑเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบชเบเป€เบงเบฅเบฒเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เปเบฒเบกเบฐเบ”เบฒ. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเปƒเบŠเป‰ CouchDB เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฑเบ”เบ‚เบญเบ‡เป‚เบฅเบ, เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบงเบดเบ—เบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ CouchDB. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปƒเบ™ CouchDB, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ b-tree nodes เปเบกเปˆเบ™ 1279 bytes, เป€เบŠเบดเปˆเบ‡เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เบฑเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ‚เบญเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบซเบผเบฒเบเบ‚เบถเป‰เบ™เบเบฑเบšเปเบœเปˆเบ™. เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบกเปˆเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เบฎเบนเบšเปเบšเบšเบ‚เบฑเป‰เบ™เบชเบนเบ‡ เปเบฅเบฐเปเบกเปˆเบ™ 4 เบเบดเป‚เบฅเป„เบš. เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต btree_chunk_size เป€เบ—เบปเปˆเบฒเบเบฑเบš 4096 เปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ CouchDB. เบชเปเบฒเบฅเบฑเบš BoltDB เบเบฒเบ™เปเบŠเบเปเบŠเบ‡เบ„เบนเปˆเบกเบทเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

Backpressure: เบเบธเบ”เบ—เบฐเบชเบฒเบ” buffer

เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบกเบตเบซเบผเบฒเบเบ‚เปเป‰เบ„เบงเบฒเบก. เบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบฅเบฐเบšเบปเบšเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เป„เบ”เป‰, เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เป†เบซเบผเบฒเบเบชเบดเบšเบ„เบปเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เปเบœเบ™เบงเบฒเบ” - เปเบฅเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ Intellij Idea เบˆเบฐเป€เบ›เบฑเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบšเบทเปˆเบญเบ—เบตเปˆเบชเบธเบ”.

เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™, เบœเบนเป‰เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบ, เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เบ”เป‰เบงเบเบงเบดเบ—เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰.

เบซเบผเบธเบ”เบฅเบปเบ‡: เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ X เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™ T เบงเบดเบ™เบฒเบ—เบต. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเป€เบเบตเบ™เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบ™เบตเป‰เบˆเบฐเบ–เบทเบเบเบปเบเป€เบฅเบตเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบš UX.

เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก: เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบšเบฒเบ‡เบ›เบฐเป€เบžเบ”, เป‚เบ”เบเบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เป‚เบซเบผเบ”, เบฅเบฒเบงเบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบก TPS เบ‚เบญเบ‡เบœเบนเป‰เบœเบฐเบฅเบดเบ”. เบšเปเปˆเบ”เบต, เปเบ•เปˆเบกเบฑเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบžเบฑเบ™เบ—เบฐเบ•เปเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ™เบตเป‰. เบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบเบญเบกเบฎเบฑเบšเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ blockchain เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบˆเบฐเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบกเบฒเบ”เบปเบ™เบ™เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ.

เบเบฒเบ™เบšเบฑเบšเป€เบŸเบต: เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบ•เป‰เบฒเบ™เบเบฑเบšเบเบฐเปเบชเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ” buffer stream เบ™เบตเป‰เปเบฅเบฐเบ›เบฐเบกเบงเบ™เบœเบปเบ™เปƒเบ™เบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰. เปเบ™เปˆเบ™เบญเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ”เบต. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ” buffer เป‚เบ”เบเปƒเบŠเป‰เปเบ–เบงเปƒเบ™ RabbitMQ.

เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš Wheelsetsโ€‹: เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบชเบปเบšโ€‹เบเบฒเบ™โ€‹เบเบฑเบš Hyperledger Fabricโ€‹

เบชเบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™: (1) เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบซเบฒ API เบกเบฒเบฎเบญเบ”, เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเป‚เบ—เบซเบฒเบ—เบธเบฅเบฐเบเปเบฒเปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบ„เบดเบง, เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบงเปˆเบฒเบ—เบธเบฅเบฐเบเปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป‚เบ”เบ. เบฅเบฐเบšเบปเบš, (2) backend เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ config เบˆเบฒเบเปเบ–เบง; เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐ.
เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เป€เบŠเบทเปˆเบญเบ‡เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบญเบทเปˆเบ™เป†

เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบงเบปเป‰เบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เบเปˆเบฝเบงเบเบฑเบš chaincode, เป€เบžเบฒเบฐเบงเปˆเบฒ, เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบกเบฑเบ™. Chaincode เบ„เบงเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบ›เบญเบ”เป„เบžเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™. เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบเบฒเบ™เบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เป‚เบชเป‰เป„เบ”เป‰เบ‡เปˆเบฒเบเป† เปเบฅเบฐเบ›เบญเบ”เป„เบž CCKit เบˆเบฒเบ S7 Techlab เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ” เบŸเบทเป‰เบ™เบŸเบน ^CC.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Fabric เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบกเบตเบ„เบงเบฒเบกเบชเบธเบ: blockchain explorer, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบš เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เป€เบžเบตเปˆเบก / เบ–เบญเบ™เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡, nodes RAFT), เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบš เบเบฒเบ™เบ–เบญเบ™เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ เปเบฅเบฐ เบเบฒเบ™เบ–เบญเบ™เบ•เบปเบงเบ•เบปเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™, เบ—เปˆเบฒเบ™เบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบš.

เบชเบฐเบซเบฅเบธเบš

เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ—เบ™ Hyperledger Fabric เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบเบฑเบš Quorum, เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ethereum เป€เบญเบเบฐเบŠเบปเบ™เบญเบทเปˆเบ™เป† (PoA เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ PoW), เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡ throughput เบ•เบปเบงเบˆเบดเบ‡, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบฎเบฑเบเบชเบฒ UX เบ›เบปเบเบเบฐเบ•เบด (เบ—เบฑเบ‡เบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบฅเบฐเบฅเบฐเบšเบปเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™). เป€เบกเบทเปˆเบญเบ›เปˆเบฝเบ™เปเบ—เบ™ Fabric เบเบฑเบš Ethereum เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ / เบœเบนเป‰เบญเบญเบเปเบšเบšเบ„เบทเบ™เปƒเบซเบกเปˆเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เบงเบฒเบกเบ‚เบฑเบ”เปเบเป‰เบ‡ MVCC เป„เบ›เบซเบฒ atomic nonce increment เปเบฅเบฐเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™. Buffering เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เบ—เบตเปˆโ€‹เบˆเบฐ decouple เป€เบงโ€‹เบฅเบฒโ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบˆเบฒเบโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡ block เป„เบ”เป‰โ€‹. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบซเบฅเบฒเบเบžเบฑเบ™เบ‚เปเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบšเปเปˆเบ•เป‰เบญเบ‡เบขเป‰เบฒเบ™เบงเปˆเบฒเบ•เบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เป€เบฅเบทเป‰เบญเบเป†เป€เบเบตเบ™เป„เบ›เปเบฅเบฐเป‚เบซเบผเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡.

เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบขเบฒเบเปเบšเปˆเบ‡เบ›เบฑเบ™. เบ‚เป‰เบญเบเบˆเบฐเบ”เบตเปƒเบˆเบ–เป‰เบฒเบชเบดเปˆเบ‡เบ™เบตเป‰เบŠเปˆเบงเบเบ„เบปเบ™เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™