Obsah
Základní pojmy
Blockchain
Blockchain je databáze sdílená ve veřejné nebo soukromé počítačové síti. Síť tvoří uzly neboli počítače, kde je uložena kopie databáze. Díky tomu se databáze neztratí, pokud jeden z uzlů přestane fungovat. Každý nový záznam je matematicky zašifrovaný, aby mohl být přidán jako další „blok“ databáze. Zápis do blockchainu musí schválit jednotlivé uzly v síti, které ověří, že zápis splňuje předepsané parametry a podmínky. Jednotlivé položky v blockchainu už nelze zpětně měnit. Databáze je tak odolná proti podvodům.
Blockchain Notarius
Aplikace instalovaná na každém nodu, která umožňuje registraci datového souboru, jeho ověření totožnosti a uzavírání smluv.
Blok
Blok obsahuje uspořádanou sadu transakcí. Je kryptograficky spojen s předchozím i následujícím blokem. První blok v takovém řetězci bloků se nazývá genesis block. Bloky jsou vytvářeny orderery a poté ověřovány a potvrzovány nody.
ElA blockchain
Síť blockchainových nodů, která tvoří platformu.
Ekosystém
Členové a uživatelé platformy (uživatelé aplikací).
Git
Systém správy verzí, který slouží k udržování informací, jak byly v průběhu času měněny zdrojové soubory ve stromě adresářů, který odpovídá určitému softwarovému projektu. Některé systémy správy verzí umožňují efektivně sledovat změny pouze jednoho souboru, ale získání stavu projektu v minulosti je velmi pomalé; git je schopen velmi rychle nastavit obsah celého pracovního stromu na stav po provedení libovolného commitu.
Hash
Digitální otisk datového souboru, který je výsledkem hashovací funkce. Otisk má fixní délku a není možné z něj zrekonstruovat zpět vstupní datový soubor.
Hashovací funkce
Funkce převádějící datový soubor na jeho otisk. není možné, aby dva rozdílné datové soubory byly převedeny na stejný výstup.
Hyperledger Fabric
Nástroj pro budování blockchainových distribuovaných účetních knih podnikových sítí.
Kryptografie
Věda zabývající se šifrováním.
Majitel nodu
Právnická osoba, která je majitelem nodu sítě ElA blockchain.
Nody (uzly)
Síť počítačů, které mezi sebou komunikují a všechny obsahují aktuální kopii blockchainové databáze.
Orderer
Server, který je zodpovědný za zapisování transakcí do bloků a jejich následné distribuování jednotlivým nodům v síti.
Kanál
Vrstva blockchainu v hyperledger fabric sloužcí k izolaci dat. Blockchain a stavová databáze specifické pro kanál jsou sdíleny mezi peery připojenými v kanále. Pro připojení do kanálu musí být peery autentikovány. Každý kanál je definovám svou vlastní konfigurací. Paralelně běžící kanály jsou v podstatě separátní blockchainy, které pouze mohou sdílen část prostředů sítě (např. Ordering service).
Transakce
Transakce se vytvářejí při volání chaincodu (smart kontraktu) z klientské aplikace pro čtení nebo zápis dat z ledgeru. Tyto transakce jsou odeslány k ordereru, který je uspořádá do bloků a rozešle nodům k ověření a připojení do jejich ledgeru.
Peer-to-peer
P2P nebo klient-klient je označení typu počítačových sítí, ve které neexistuje cenrální entita a jednotliví klienti (uživatelé) spolu komunikují přímo.
Repozitář
Informační struktura, ve které jsou uloženy veškeré informace o historii projektu.
SLA (Service Level Agreement)
Smlouva sjednaná mezi poskytovatelem služby a jejím uživatelem.
Smart kontrakty (chaincode)
Protokol či SW zajišťující, ověřující nebo vynucující vyjednání či provedení kontraktu. To může být provedeno způsobem, který eliminuje nutnost uzavírat fyzické smlouvy mezi lidmi.
Transakce
Transakce se vytvářejí při volání chaincodu (smart kontraktu) z klientské aplikace pro čtení nebo zápis dat z ledgeru. Tyto transakce jsou odeslány k ordereru, který je uspořádá do bloků a rozešle nodům k ověření a připojení do jejich ledgeru.
Záznam
Záznam je blok dat, který se připojí k blockchainu při registraci. Sestává z metadat a jednoho nebo více hashů.
V jednom záznamu lze tedy uložit hashe několika souborů a tím způsobem registrovat sestavu souborů (například smlouvu a její přílohy).
Součásti záznamu
Hash souboru
Hash souboru je vytvořen z příslušného souboru hashovacím programem. Blockchain Notarius® užívá implicitně hashovací algoritmus SH-256. Pokud je registrováno více souboru, vytváří se z každého samostatný hash.
Metadata záznamu
metadata implicitní, které aplikace vytvoří při procesu registrace a uživatel na jejich obsah nemá vliv.
metadata vztahující se k uživateli, která se vytváří z přihlašovacích údajů.
metadata zadaná uživatelem
metadata vztahující se k registrovaným souborům
řídicí a stavové údaje
Operace se záznamem
registrace Registrací rozumíme přidání záznamu ke všem kopiím blockchainu uchovávaným na nodech sítě ElA blockchain. Registrace má tři fáze. V první dojde k tzv. endorsementu, kdy vybrané nody přezkoumají oprávněnost a bezchybnost vytvořeného záznamu a povolí jej k připojení k blockchainu. Ve druhé fázi dojde k rozeslání bloku všem nodům sítě, které jej připojí ke své kopii blockchainu. Ve třetí fázi je provedena kontrola, zda jsou i po přidání nové kopie blockchainu na všech nodech identické. Trvání druhé a třetí fáze závisí na stavu sítě a výpočetním výkonu a konektivitě nodů. Registrovaný záznam tedy nemusí být na všech nodech dostupný k ověření bezprostředně po registraci.
Ověření ověřuje identitu předloženého souboru se souborem registrovaným v záznamu na blockchainu
ověření záznamu Ověřením záznamu rozumíme vznesení dotazu, zda je v blockchainu uložen záznam obsahující hash totožný s předloženým hashem ověřovaného souboru. Výsledkem ověření je vždy informace, zda je v blockchainu takový záznam přítomen. Pokud ano, jsou zobrazena jeho implicitní metadata a hashe, které obsahuje. Podle nastavení při registraci mohou být zobrazena i ostatní metadata.
vyhledání záznamu Vyhledání záznamu se provádí pomocí filtru metadat. Výsledkem je informace, zda je v blockchainu přítomen záznam obsahující předložená matadata. Slouží například k vyhledání všech záznamů provedených konkrétní firmou nebo uživatelem, nebo k automatickému vyhledání záznamu pomocí čárového nebo Qr kódu Při vyhledávání záznamu se neověřuje hodnota hashe, vyhledávání tedy neověřuje identitu souboru, jehož hash je v záznamu obsažen.
Ve veřejné části aplikace lze vyhledávat pouze pomocí ID záznamu.
V privátní části aplikace (po přihlášení). lze vyhledávat i podle dalších metadat následující záznamy::
- záznamy, u kterých byla metadata nastavena jako veřejná
- záznamy registrované přihlášeným uživatelem. V tom případě lze vyhledat záznamy s veřejnými i neveřejnými metadaty.