Co je Hyperledger Fabric?¶
Linux Foundation založila projekt Hyperledger v roce 2015 s cílem rozvíjet mezioborové blockchainové technologie. Spíše než vyhlášení jediného blockchainového standardu podporuje společný přístup k vývoji blockchainových technologií prostřednictvím komunitního procesu s právy duševního vlastnictví, která podporují otevřený vývoj a přijímání klíčových standardů přesčas.
Hyperledger Fabric je jedním z blockchainových projektů v rámci Hyperledgeru. stejně jako ostatní blockchainové technologie má účetní knihu, používá chytré kontrakty a je systémem, pomocí kterého účastníci spravují své transakce.
Od některých jiných blockchainových systémů se Hyperledger Fabric liší tím, že je soukromý a povolený. Namísto otevřeného systému bez povolení, který umožňuje neznámým identitám účastnit se sítě (což vyžaduje protokoly typu „proof of work“ k ověřování transakcí a zabezpečení sítě), se členové sítě Hyperledger Fabric registrují prostřednictvím důvěryhodného poskytovatele členských služeb (MSP).
Hyperledger Fabric také nabízí několik možností připojení. Data účetní knihy lze ukládat ve více formátech, mechanismy konsensu lze měnit a vyměňovat a podporovány jsou různé MSP.
Hyperledger Fabric také nabízí možnost vytvářet kanály, které umožňují skupině účastníků vytvořit samostatnou účetní knihu transakcí. To je zvláště důležitá možnost pro sítě, kde někteří účastníci mohou být konkurenty a nechtějí, aby se o každé jejich transakci – například o speciální ceně, kterou nabízejí některým účastníkům, a ne jiným – dozvěděl každý účastník. Pokud dva účastníci vytvoří kanál, pak tito účastníci – a žádní jiní – mají kopie hlavní knihy pro tento kanál.
Sdílená hlavní kniha
Hyperledger Fabric má subsystém hlavní knihy, který se skládá ze dvou složek: worldstate a transakčního protokolu. Každý účastník má kopii hlavní knihy každé sítě Hyperledger Fabric, do které patří.
Složka world state popisuje stav hlavní knihy v daném časovém okamžiku. Je to databáze hlavní knihy. Komponenta transakčního protokolu zaznamenávávšechny transakce, které vedly k aktuální hodnotě stavu světa;je to historie aktualizací stavu světa. Hlavní kniha je tedy kombinací databáze stavu světa a historie transakčního protokolu.
Kniha má vyměnitelné úložiště dat pro stav světa. Ve výchozím nastavení se jedná o databázi typu úložiště klíč-hodnota LevelDB. Protokol transakcí nemusí být vyměnitelný. Jednoduše zaznamenává hodnoty před a po databázi hlavní knihypoužívané sítí blockchain.
Chytré smlouvy
Chytré smlouvy Hyperledger Fabric jsou napsány v řetězovém kódu a jsou vyvolányaplikací vně blockchainu, když tato aplikace potřebujeinterakci s hlavní knihou. Ve většině případů chaincode interaguje pouze sdatabázovou složkou účetní knihy, tedy se stavem světa (například se na něj dotazuje), a nikoli s transakčním logem.
Chaincode lze implementovat v několika programovacích jazycích. V současné době jsou podporovány Go, Node.js a Java chaincode.
Soukromí
V závislosti na potřebách sítě mohou být účastníci sítě Business-to-Business(B2B) extrémně citliví na to, kolik informací sdílejí. u jiných sítí nebude soukromí hlavním zájmem.
Hyperledger Fabric podporuje sítě, kde je soukromí (pomocí kanálů) klíčovým provozním požadavkem, stejně jako sítě, které jsou relativně otevřené.
Souhlas
Transakce musí být zapsány do hlavní knihy v pořadí, v jakém se uskutečnily,i když mohou být mezi různými skupinami účastníků v rámci sítě. Aby k tomu mohlo dojít, musí být stanoveno pořadí transakcí a musí být zavedena metoda pro odmítnutí špatných transakcí, které byly do účetní knihy vloženy omylem (nebo se zlým úmyslem).
To je důkladně prozkoumaná oblast informatiky a existuje mnoho způsobů, jak toho dosáhnout, každý s jinými kompromisy. Například PBFT (PracticalByzantine Fault Tolerance) může poskytnout mechanismus pro vzájemnou komunikaci replik souborů, aby každá kopie zůstala konzistentní i v případě poškození. Alternativně v Bitcoinu k uspořádání dochází prostřednictvím procesu zvaného těžba, kdy konkurenční počítače závodí o vyřešení kryptografické hádanky, která definuje pořadí, na němž následně staví všechny procesy.
Hyperledger Fabric byl navržen tak, aby umožnil startérům sítě zvolit mechanismus konsensu, který nejlépe reprezentuje vztahy, které existují mezi účastníky. Stejně jako v případě soukromí existuje spektrum potřeb; od sítí, které jsou vysoce strukturované ve svých vztazích, až po ty, které jsou více peer-to-peer.