Zcash | |
---|---|
Typ | Platební systém |
Autor | William Scott |
Vývojář | Zerocoin Electric Coin Company (ZECC) |
Zapsáno v | C++ [1] |
Operační systém | Linux, Windows, macOS (mody) [2] [3] |
První vydání | 28. října 2016 |
Nejnovější verze | 2.1.2 |
webová stránka | z.hotovost |
Mediální soubory na Wikimedia Commons |
Zcash je open source kryptoměna vyvinutá společností Zerocoin Electric Coin Company [ 4] , která poskytuje soukromí a selektivní transparentnost transakcí. Platby Zcash jsou zveřejněny na veřejném blockchainu, ale odesílatel, příjemce a částka transakce zůstávají utajeny [5] . Značka Zcash, ZEC, není oficiální ISO 4217 . Minimální převedená hodnota – 10 −8 ZEC – se nazývala „zatoshi“, podobně jako „satoshi“ – podobné množství bitcoinů . Stejně jako bitcoin má i Zcash pevnou maximální celkovou zásobu 21 milionů jednotek [6] . Aktuální průměrná doba vytvoření bloku je 75 sekund (1,25 minuty) [7] . Oznámeno 20. ledna 2016 [8] [9] .
Úroveň anonymity společnosti Zcash je známá mnoha známými společnostmi a jednotlivci. Například WikiLeaks začaly přijímat dary v Zcash [10] , Edward Snowden , který byl jedním z vývojářů, označil kryptoměnu za nejzajímavější alternativu k bitcoinu [11] a Europol oficiálně vyjádřil obavy z rostoucí popularity kryptoměny [12]. .
Dalšími oblíbenými anonymními kryptoměnami s podobným účelem jsou Monero a Dash .
V roce 2014 byl protokol „ Zerocosh “ vyvinut vývojáři Zerocoin z Johns Hopkins University a skupinami kryptografů z Massachusetts Institute of Technology , Israel Institute of Technology a Tel Aviv University . Společně dokázali vylepšit protokol, učinit jej efektivnější a anonymnější.
„Díky novému protokolu Zerocash mohou uživatelé na rozdíl od Zerocoinu provádět přímé platby mezi sebou pomocí mnohem efektivnějšího kryptografického protokolu, který skrývá nejen původ, ale i výši platby“ [13] .
Projekt Zcash byl oficiálně oznámen generální ředitelkou Zooko Wilcoxovou20. ledna 2016 jako evoluce stávajícího projektu Zerocoin (práce Matthew Green, Jan Maier, Christina Garman, Aviel D. Rubin, Johns Hopkins University , Department of Computer Science) [8] .
S využitím nového protokolu se objevila nezávislá kryptoměna Zcash (ZEC), která přestala být „přídavkem“ k bitcoinu. 28. října 2016 uspořádal Zuko Wilcox oficiální „kryptografický ceremoniál“ ke spuštění Zcash [14] .
Zcash je první kryptoměna [15] založená na kryptografickém protokolu s nulovými znalostmi . Logika protokolu předpokládá, že jedna z interagujících stran je schopna ověřit platnost matematického tvrzení, aniž by měla od druhé strany nějaké další informace [16] . Ve skutečnosti je Zcash první skutečně anonymní kryptoměnou, protože lze potvrdit, že transakce byla provedena, ale neexistuje způsob, jak zjistit částku, odesílatele a příjemce [17] .
Software Zcash generuje řadu náhodných hodnot, které jsou brány jako počáteční parametry. Generuje také fragmenty kryptografických klíčů, které lze společně použít ke generování nových ZEC. Na slavnostním zahájení 28. října bylo ukázáno, jak jsou tyto fragmenty kryptografického klíče vytvářeny a distribuovány tak, že samotný klíč není nikdy k dispozici celý [18] .
Protokol Zcash neuchovává informace o adrese, ze které byla transakce provedena, na jakou adresu byl převod proveden a jaká je částka; je viditelná pouze skutečnost transakce. Informace o transakcích na blockchainu mohou být na žádost uživatelů odhaleny nebo skryty, což je charakteristickým znakem Zcash [19] .
Zcash šifruje obsah zabezpečených transakcí. Pro ověření používá kryptografický protokol zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), vyvinutý tvůrci kryptoměny na základě důkazu o nulových znalostech . Protokol umožňuje vytvoření bezpečné knihy zůstatků bez zveřejnění příslušných stran nebo částek, ale nelze prokázat, že transakce není podvodem nebo krádeží. Zcash také umožňuje uživatelům vytvářet veřejné transakce, podobné bitcoinovým transakcím. Jednou z funkcí Zcash je, že odesílání hodnot ze zabezpečených adres na veřejné adresy odhaluje informace o zůstatku zabezpečené adresy, zatímco odesílání z veřejných na zabezpečené adresy zachovává soukromí [20] [21] .
Aby funkce Zcash měla nulové znalosti, musí funkce, která určuje pravdivost transakce podle pravidel sítě, vrátit odpověď o tom, zda je transakce pravdivá nebo ne, aniž by prozradila jakékoli informace o provedených akcích. Toho je dosaženo zakódováním některých konsenzuálních pravidel sítě do zk-SNARK. Na vysoké úrovni zk-SNARK převede to, co chcete dokázat, na ekvivalentní formu znalosti řešení nějaké algebraické rovnice [22] . Konstrukce zk-SNARK lze aplikovat v široké škále aplikací, poskytují dostatečně vysokou účinnost a rozmanitou funkčnost [23] .
Uživatelé, kteří chtějí dostávat platby, vygenerují klíčovou n-tici skládající se z klíče výdajů, klíče zobrazení a fakturační adresy. Klíč zobrazení a fakturační adresa jsou odvozeny z klíče útraty. Sada fakturační adresy, klíče zobrazení a klíče útraty je obvykle zašifrována a není uživatelům dostupná. Ale protože Zcash může poskytovat veřejné transakce, informace o těchto klíčích mohou být poskytnuty na vyžádání [24] .
Poznámka (note) je n-tice skládající se z platebního klíče, hodnoty (vypočtené v zatoshi), nulovací sekvence a náhodné bitové sekvence - přenosové pasti . Poznámka znamená, že hodnotu může utratit příjemce, který má platební klíč, který odpovídá platebnímu klíči . Když je zpráva odeslána, je veřejně dostupné pouze vlastnictví zadaných hodnot, což udržuje hodnotu a příjemce soukromé, zatímco vlastnictví je používáno důkazem nulových znalostí k ověření existence poznámky na blockchainu [25 ] .
V daném časovém okamžiku každý úplný uzel odpovídá určité sadě bloků, které tvoří strom, ve kterém je každý uzel spojen s rodičem pomocí hlavičky bloku hashPrevBlock . Cesta od kořene k uzlům, procházející sekvencí platných bloků splňujících konsensuální pravidla, se nazývá platný blokový řetězec [26] .
Každý blok v řetězci obsahuje jednu nebo více transakcí. Vstup přidává hodnoty do fondu, výstup odebírá z fondu; stejně jako v bitcoinu je zůstatek v bazénu odměnou těžaře . Zde platí konsensuální pravidlo, že zůstatková hodnota v otevřeném fondu musí být nezáporná [27] .
Každá transakce odpovídá počátečnímu stavu stromu. Stav je popsán stromem přenosu poznámky, nulovací sekvencí a strukturami podobnými bitcoinu (například UTXO [28] ).
V červnu 2021 byla velikost blockchainu 32 GB [7] .
Join SplitPopis joinSplit je část dat transakce, která popisuje předávanou hodnotu. JoinSplit je jedním z hlavních parametrů technologie zk-SNARK a je unikátní pro Zcash. Popis JoinSplit je založen na příkazech JoinSplit používaných pro ověření zk-SNARK (ale není s nimi ztotožněn). Každý nový popis JoinSplit závisí na výstupní hodnotě v předchozím bloku [29] .
Strom převodu poznámekStrom přenosu poznámek je přírůstkový strom Merkle dané hloubky, který ukládá poznámky generované JoinSplit. Podobně jako UTXO se používá k popisu aktuální hodnoty a možnosti ji použít, ale rozdíl od UTXO je v tom, že tento strom nechrání před dvojím utrácením [30] .
Nulling funkceKaždý úplný uzel vytváří nulovou funkci, která je logicky spojena s každým stavem stromu. Funkce null se skládá z nullerů , které lze také nalézt v popisech JoinSplit. Zeroizery musí být unikátní, protože chrání před dvojím utrácením, respektive platí pro ně následující pravidlo: nullifier se nesmí opakovat ani v transakci, ani v rámci platného block chain [30] .
Odměna horníkaEmise v Zcash probíhá stejným způsobem jako v bitcoinu – když se vytvářejí nové bloky. Odměna za vytvoření bloku se skládá ze dvou částí - odměny přidělené těžaři v transakcích a tzv. odměny zakladatelů , což je 20 % hodnoty bloku v prvních 4 letech existence Zcash, a v end bude 10 % objemu všech vydaných ZEC.
Kryptoměny | |
---|---|
PoW založené na SHA-2 | |
PoW založené na Scrypt | |
PoW založené na CryptoNote | |
Další algoritmy PoW | |
PoS algoritmy | |
Jiné technologie | |
související témata |
|
Elektronické platební systémy | |
---|---|
Online platební systémy | |
Mobilní platební systémy | |
Používání elektronických peněz | |
Používání elektronických peněz (historie) | |
Používání kryptoměn |