Gregory Maxwell, známý také jako Greg Maxwell nebo gmaxwell, je vývojář Bitcoinu a spoluzakladatel Blockstream. Přispěl k návrhům CoinJoin, Confidential Transactions a Taproot a je spoluautorem Bech32. Tyto názvy označují různé postupy, nikoli jeden balík funkcí dostupný v každé bitcoinové peněžence.
Maxwellova práce propojuje vývoj Bitcoinu s otázkami soukromí a bezpečnosti. Patřil ke spoluzakladatelům Blockstream, kde zastával funkci CTO, tedy technického ředitele. Firma 19. ledna 2018 oznámila, že z této funkce odešel, aby se soustředil na vývoj Bitcoinu. Je to datum oznámení, nikoli spolehlivě doložený přesný den odchodu. Tato zpráva také nepřisuzuje Maxwellovi žádnou dnešní firemní pozici. Důležitější než název funkce jsou konkrétní problémy, na kterých pracoval. [1]
Představte si, že několik lidí spojí své platby do jedné transakce. Každý přidá své vstupy, tedy dříve přijaté mince, které nyní utrácí, a podepíše jejich použití. Pozorovatel proto nemůže jen ze společné transakce spolehlivě vyvodit, že všechny vstupy patří jednomu člověku. Tento princip popsal gmaxwell 22. srpna 2013 pod názvem CoinJoin. Výslovně zmínil dřívější omezené použití; nešlo o techniku, která by vyžadovala změnu pravidel bitcoinového protokolu. [2]
Jak se účastníci domluví, co podepsat? Jednoduchý CoinJoin může sestavit koordinátor, ale každý si nejprve ověří vlastní výstup, tedy kam a v jaké výši se jeho prostředky převádějí. Teprve potom podepíše své vstupy. Koordinátor tím nezískává možnost svévolně mince utratit. Přesto může v jednoduchém provedení znát vazby mezi vstupy a výstupy. A účastník, který odmítne podepsat, může celé kolo zastavit. Ochrana před krádeží, dostupnost a soukromí jsou odlišné vlastnosti. [2]
Běžné bitcoinové transakce zveřejňují částky. Confidential Transactions řeší jiný problém než samotné spojení plateb: schovají částky do kryptografických závazků. To jsou údaje, které skrytou hodnotu pevně určují, aniž ji odhalí; jejich vlastnosti umožňují kontrolovat i součet. Maxwellův výklad v projektu Elements navazuje na návrh Adama Backa z roku 2013. Neznamená to, že tato funkce byla tímto nasazena v základní síti Bitcoin. A skrytí částek samo neschová celý transakční graf, tedy síť návazností mezi platbami. [3]
Čistě početně platí 10 = 11 + (-1). Jako model převodu bez poplatků to ukazuje problém: součet sedí, ale vznikl by kladný výstup větší než původní hodnota, vyvážený nesmyslným záporným výstupem. U Confidential Transactions může podobný efekt způsobit modulární přetečení, kdy se výpočet po překročení hranice číselného systému „otočí“. Proto je potřeba důkaz rozsahu: ověří, že skrytá částka leží v povoleném intervalu, aniž zveřejní její přesnou hodnotu. Soukromí tak nesmí otevřít cestu k vytváření peněz navíc. [3]
Proč zveřejňovat záložní podmínky platby, když se všichni dohodli a nebylo nutné je použít? Maxwellův návrh Taproot z 23. ledna 2018 ukazoval, jak může společný podpis skrýt existenci jiných podmínek utracení. Při spolupráci stran pak složitější dohoda může navenek vypadat jako obyčejná platba podepsaná klíčem. Datum příspěvku ale není datum aktivace v síti. Od myšlenky vede další práce přes diskusi a přesná pravidla až k jejich přijetí. [4]
Konečná specifikace BIP 341, tedy veřejný technický dokument s pravidly Taproot, uvádí autory Pieter Wuille, Jonas Nick a Anthony Towns. Klíčová cesta může proběhnout podpisem, aniž ukáže přítomnost alternativního skriptu. Skript je program s podmínkami utracení; pokud je potřeba skriptová cesta, odhalí se použitý program a důkaz jeho zařazení. Maxwellovu původnímu nápadu to neubírá význam, ale nelze mu připsat výhradní autorství konečných pravidel. [5]
Při posílání peněz záleží také na správně napsané adrese. Pieter Wuille a Greg Maxwell jsou autory BIP 173, který popisuje Bech32 pro nativní adresy SegWit. Formát obsahuje kontrolní součet, tedy znaky pomáhající zachytit chybu v zápisu. Ten neověřuje totožnost příjemce ani to, kdo drží soukromý klíč. Platná, ale podvržená adresa může kontrolou projít. Bech32 tedy chrání před jiným problémem než CoinJoin nebo skryté částky; jednotlivé přínosy nelze zaměňovat. [6]
Pro nejúplnější obraz čtěte toto heslo společně s Pieter Wuille, Matt Corallo, Satoshi Nakamoto. Opačným směrem na něj odkazují také Pieter Wuille, Matt Corallo.