160 / 736FEDI

Fedimint

Soukromější platby se společnou správou bitcoinů

Fedimint umožňuje platit digitální hotovostí, za kterou drží bitcoiny skupina správců. Může zjednodušit drobné platby a omezit sledování jejich historie. Klíčové je rozumět tomu, co máte ve své aplikaci a co dál závisí na ostatních.

Fedimint je otevřený software a protokol, na kterém může skupina správců zvaná federace provozovat společný platební systém. Vydává e-cash, digitální tokeny určené ke směně za bitcoiny z její rezervy. Uživatel drží tyto tokeny, nikoli samostatné oprávnění podepisovat výběr bitcoinů z rezervy.

Představte si, že Anna používá peněženku připojenou k místní federaci a Petr v kavárně přijímá její e-cash. Platba mezi nimi nemusí vytvářet samostatnou bitcoinovou transakci pro každou kávu. Aplikace pracují s digitálními tokeny, které vydává společná „mincovna“, mint. Skutečné bitcoiny zůstávají v rezervě federace; mezi Annou a Petrem se převádějí tokeny. Fedimint dodává stavebnici, konkrétní federaci provozují její správci a peněženka je aplikace, přes kterou s ní Anna komunikuje. To nejsou tři názvy téže věci. Standardní moduly řeší Bitcoin, Lightning Network a e-cash; další moduly mohou doplnit jiné služby. Každá federace má vlastní provoz a rezervy, její tokeny automaticky neplatí u všech ostatních. Ani dohoda správců uvnitř federace nenahrazuje pravidla bitcoinové sítě. [1] [2]

Smyslem federace je, aby důležitou činnost neměl v rukou jediný provozovatel. U ilustračního prahu 3-of-4 jsou k vydání tokenu potřeba tři platné podpisové podíly od čtyř správců. Jeden výpadek ještě dovoluje práh splnit, dva již ne. Tři spolupracující držitelé podílů ale také mohou vytvářet podpisy bez souhlasu zbývajícího správce. Rozdělení pravomocí samo nezaručí poctivost ani dostatek rezerv. To je Counterparty risk, riziko selhání lidí či organizací, na kterých výplata závisí. Prahové podepisování e-cash a Multisig, společné oprávnění k bitcoinové rezervě, navíc řeší odlišné úkoly. Jejich skutečná pravidla je potřeba ověřit u dané federace. [3] [4]

Když Anna vloží bitcoiny přímo přes blockchain, veřejnou historii potvrzených transakcí, aplikace předloží federaci doklad o příslušném výstupu a ta jej musí přijmout podle svých pravidel. Každý takový výstup zaznamenává částku a podmínky, za kterých ji lze utratit. Při výběru se postup obrací: federace z rezervy sestaví a podepíše bitcoinovou transakci. Samotný token Anně nedává klíč, kterým by rezervu bez ostatních vybrala. To je podstatný rozdíl oproti Self-Custody, vlastní správě klíčů, kterými se podepisují bitcoinové platby. K výplatě jsou dál potřeba dostupní správci, dostatek prostředků, poplatky a splnění požadavků na potvrzení. Rychlá platba uvnitř systému proto není slibem stejně rychlého výběru libovolné částky. [4] [7]

Soukromí e-cash stojí na slepém podpisu, Blind Signature. Klient nejprve matematicky skryje konkrétní token, požádá o jeho podpis a potom skrytí odstraní. Výsledek lze ověřit, ale mint nemůže podle samotného tokenu spojit pozdější uplatnění s konkrétním požadavkem na vydání. Pro technicky zvídavé: dokumentace popisuje prahové podpisy BLS na křivce BLS12-381, nikoli FROST jako podpis tokenu. Klient spojí dostatek platných podílů do jednoho ověřitelného podpisu. Každá nominální hodnota má vlastní klíč, takže skrytí identity tokenu neznamená, že mint nezná vydávané hodnotové třídy. [3]

Petr může zkontrolovat, že token má platný podpis federace. To však ještě neříká, zda jej někdo neuplatnil dříve. Digitální data se dají kopírovat a Anna by mohla mít stejný token stále u sebe. Federace proto eviduje utracené identifikátory tokenů, označované nonce, a opakované utracení odmítá. Příjemce potřebuje úspěšnou výměnu za nové tokeny, aby nezůstal odkázán na slib, že druhá kopie nebude použita. Pravý podpis, dosud neutracený token a dostatečná bitcoinová rezerva jsou tři samostatné otázky. Ověřit jednu neznamená ověřit všechny. [3]

Pokud kavárna přijímá běžnou platbu přes Lightning Network, může převod obstarat gateway, platební brána. Propojuje federaci s Lightning a potřebuje likviditu, tedy dostupné prostředky, na obou stranách. Brána nemusí být správcem federace. Dokumentace modulu V2 popisuje kontrakty, které vážou vyplacení prostředků na podmínky platby, a preimage, tajnou hodnotu odhalenou při jejím splnění. Při neúspěchu existují postupy vrácení podle daného kontraktu, nejde však o záruku nepřetržité dostupnosti. Nefunkční brána nebo nedostatek likvidity mohou platbu zastavit, i když samotný mint funguje. [5]

Slepý podpis brání tomu, aby mint podle samotného tokenu spojil jeho vydání s pozdějším uplatněním. Nevypíná všechny ostatní stopy. Protistrana může vědět, že jí platila Anna, brána vidí informace potřebné k obsluze Lightning platby a pozorovatel může porovnávat čas či částky. Údaje o síťovém spojení mohou být další vodítko. Proto se vždy ptejte, před kým má být co skryté: před správcem mintu, kavárnou, bránou, nebo někým sledujícím síť. Soukromější oběh tokenů není automatickou anonymitou všech vkladů, výběrů a kontaktů mezi lidmi. [3] [5]

Ztracený telefon nemusí znamenat ztracené tokeny, pokud aplikace podporuje správně nastavenou obnovu. Popsaný návrh používá hlavní tajnou hodnotu, z níž aplikace znovu vypočítá potřebné údaje, šifrované průběžné kopie stavu a dostupnou historii federace. Přesný postup závisí na aplikaci a verzi; nejde o pouhé zadání bitcoinové Seed Phrase do libovolné peněženky. Před spoléháním na službu si proto vyzkoušejte zvlášť obnovu klienta a malý výběr bitcoinů. Záloha pomáhá při ztrátě dat, ale nedoplní prázdnou rezervu ani nepřinutí potřebné správce spolupracovat. [6] [4]

Pro nejúplnější obraz čtěte toto heslo společně s Cashu, Chaumian eCash, Lightning Network, Multisig, Counterparty risk, Vlastní úschova. Opačným směrem na něj odkazují také Chaumian eCash, Blind Signature, Cashu.

DOC · 001Fedimint — Project overviewPrimární zdroj DOC · 002Fedimint — ArchitectureDokumentace DOC · 003Fedimint — Threshold Blind SignaturesSpecifikace DOC · 004Fedimint — Wallet ModuleDokumentace DOC · 005Fedimint — Lightning Module V2Dokumentace DOC · 006Fedimint — Client E-cash Backup and RecoveryDokumentace DOC · 007Bitcoin Developer Guide — TransactionsDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení