Peněženka bez majitele. Každý člen si drží vlastní klíč na vlastním zařízení a peníze se pohnou, když jich dost podepíše — libovolní dva ze tří, libovolných pět z devíti, jak si to skupina nastavila, když peněženku zakládala.
Nic z toho, co následuje, si nevymýšlíme. Každý řetězec už má způsob, jakým několik lidí drží jednu adresu, a používá se právě ten: P2WSH na Bitcoinu, Safe na řetězcích EVM, vlastní systém permission účtu na Tronu, Squads V4 na Solaně. Adresy na dalších stránkách jsou ta nasazení, se kterými tato aplikace mluví.
JAK TO FUNGUJE
Čtyři kroky, a jen ten poslední je na řetězci
Platba je rozhovor dřív, než se stane transakcí. Není to metafora: děje se ve vlákně, ve zprávách, a řetězec ji uvidí až ve chvíli, kdy se skupina shodla.
1
Skupina stanoví pravidlo
Kdo podepisuje a kolik jich je potřeba. Zapíše se to do peněženky ve chvíli, kdy vzniká, a zapíše se to na řetězec, ne do této aplikace.
Pravidlo se tu potom neupravuje: jiné pravidlo je jiná peněženka, s vlastní adresou, kterou je třeba naplnit a na kterou je třeba se přestěhovat. Některé řetězce by změnu dovolily a tato aplikace ji nedělá — a obrazovka to řekne dřív, než si řekne o druhé ťuknutí.
2
Někdo navrhne platbu
Přijde do rozhovoru jako zpráva, od toho, kdo ji vytvořil, a říká, co platí a komu. Dokud není podepsaná, je to žádost a nic víc.
Návrh nese stejná šifrovaná skupina jako chat, takže ho server přenáší, aniž by ho četl.
3
Každý podepisující podepisuje na svém zařízení
Přečtete si to, jednou ťuknete, a je to podepsané klíčem, který nikdy neopustil telefon, kde vznikl. Počítadlo se pohne všem před očima.
Žádné zařízení nikdy nedrží klíč druhého člověka, takže neexistuje zařízení, jehož ztráta by někomu vydala peněženku.
4
Na prahu to jde na řetězec
Podpisy se poskládají a rozešlou. Odtamtud pravidlo vymáhá řetězec, ne tato aplikace — a přesně proto se pravidlo dává tam.
Kdyby tato aplikace zítra zmizela, peněženka by zůstala peněženkou a pravidlo pravidlem.
PĚT ŘETĚZCŮ
Jednotné rozhraní
Pět řetězců a pod nimi čtyři různé mechanismy: Bitcoin, Ethereum, BNB Smart Chain, Tron a Solana drží společnou adresu každý po svém. Nic z toho se nedostane na obrazovku: navrhnout platbu, podepsat ji a poslat je ve všech pěti stejné.
Bitcoin
P2WSH multisig · BIP 67 · PSBT
Svědecký skript, který se čte jako „m z těchto n klíčů“, a adresa, která je jeho otiskem. Klíče jsou seřazené lexikograficky, takže každý, kdo skript sestaví ze stejné množiny klíčů, dojde ke stejné adrese, a ne k n! různým.
Platba jede jako PSBT: jeden soubor, který obchází podepisující a sbírá podpisy, a je finalizován, jakmile jich má dost.
Skript
OP_m <key>… OP_n OP_CHECKMULTISIG
Podepisující
až 15, práh kdekoli mezi tím
Data řetězce
server Electrum
Ethereum
Safe · canonical deployment
Kontrakt, ve kterém už leží většina peněz, které skupiny na Ethereu drží. Proxy vytvoří kanonická továrna a ukazuje na kanonický singleton; vlastníci a práh se nastavují ve stejném volání, které ji vytváří.
Nic není forknuté a nic není znovu nasazené. Verze se čte z kontraktu, místo aby se předpokládala, protože Safe, který vytvořil někdo jiný, je Safe, který tohle otevře.
Singleton
0x41675C099F32341bf84BFc5382aF534df5C7461a
Továrna
0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67
Dávkování
MultiSend — několik převodů, jedno schválení
BNB Smart Chain
Safe · the same addresses
Tytéž kontrakty na týchž adresách. Nasazení Safe jsou napříč řetězci EVM deterministická, takže tu není nic specifického pro řetězec k naučení a nic specifického pro řetězec ani v kódu.
Je to také důvod, proč je účet na Ethereu týmž účtem na BNB Smart Chain: jeden typ mince, jeden klíč, dva řetězce.
Kontrakty
shodné s těmi z Etherea, výše
Typ mince
60 — sdílený s Ethereem
Tron
Account permissions · no contract
Tron má pravidlo zabudované v účtech. Permission nese seznam klíčů, váhu pro každý a práh, a zapisuje se do samotného účtu — není co nasazovat a není žádný kontrakt, kterému by se muselo věřit.
Váhy znamenají, že pravidlo může být něco jiného než počítání hlav: jeden klíč za dva hlasy, tři klíče po jednom.
Zapisuje
AccountPermissionUpdate
Pravidlo
vážené klíče, jeden práh
Poznámka
aktualizace seznam nahrazuje, ne doplňuje
Solana
Squads Protocol V4
Program pro vícenásobný podpis, který používá většina pokladen na Solaně. Návrh je účet na řetězci: členové ho schvalují a provede se, jakmile schválení dosáhnou prahu.
Identifikátor programu rozhoduje o tom, odkud se odvozuje každý účet peněženky, takže je přibitý na zveřejněné nasazení a jiný se odmítne, místo aby se mu věřilo.
Program
SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf
Návrh
na řetězci, schvaluje se proti němu
PROČ TY STANDARDNÍ
Peněženka, která se otevře jen tady, je peněženka někoho jiného
Existuje snazší způsob, jak to postavit: vlastní kontrakt na každém řetězci, vlastní formát, jedna aplikace, která mu rozumí. Kódu by bylo méně a bylo by to horší, protože peníze skupiny by pak závisely na tom, jestli tato aplikace bude dál existovat.
Co přináší používání těch standardních
Každý z těchto bodů je důsledkem té volby, ne funkce, která se přidala.
Prověřeno více lidmi než námi. Safe a Squads spolu drží miliardy a dívali se na ně tomu odpovídajícím způsobem. P2WSH a permissions na Tronu jsou pravidla konsensu.
Čitelné jinými nástroji. Adresa je obyčejný Safe, obyčejný multisig Squads, obyčejná adresa P2WSH, obyčejný permission na Tronu — prohlížeče bloků i vlastní rozhraní těchto protokolů je čtou, aniž by věděly, že tato aplikace existuje.
Není z čeho migrovat. Neexistuje vlastní formát, ve kterém by se dalo uvíznout, takže neexistuje ani pozdější okamžik, kdy by odchod něco stál.
Pravidlo nás přežije. Práh vymáhá řetězec. Tato aplikace je místem, kde skupina o platbě mluví, ne tím, co ji povoluje.
AUDITS
Read by people who are not us
This is the argument for using each chain’s own multisig rather than writing one: the reports below exist, they were paid for by somebody else, and they are about exactly the contracts a wallet made here is made of. Every address and every program id on this page was checked against the projects’ own published deployment records while this section was written.
Safe
Ethereum · BNB Smart Chain
2 reports
The four contracts this application talks to are the canonical v1.4.1 deployments — singleton, proxy factory, fallback handler and MultiSend — each one matching the address in Safe’s own deployment registry.
Four reports, three firms and a formal verification. The program id this application pins is the one the program declares for itself in its own source.
There is nothing here for an auditor to be hired for, and that is the point: a multisig on Bitcoin is not a deployed program but a script the network’s own rules evaluate. What is worth reading instead is the specification.
The same again: the rule is a property of the account, enforced by the nodes rather than by code somebody deployed. There is no contract to audit because there is no contract.
Nothing to link, and that is the honest answer
An audit is a reading of a codebase at a commit, not a guarantee about the money in it — and none of these reports is about this application. They are about the contracts underneath it, which is exactly why they are worth more than a report we commissioned about ourselves would be.
KDYŽ PŘINESETE FRÁZI
Dvacet čtyři slov, která jste už použili někde jinde
Obnovovací fráze není jedna konvence, je jich několik, a neshodnou se přesně na jedné věci: který prvek cesty se pohne, když si řeknete o „účet 2“. Každá z nich je správná, a fráze přečtená podle té nesprávné ukáže nulový zůstatek pro peníze, které jsou přesně jeden řádek aritmetiky daleko. Konvence se tu proto nehádá — je to nastavení, jedno pro každý řetězec, a nabízí seznam aplikací místo seznamu specifikací. Peníze, které vypadají jako ztracené, jsou peníze na cestě, na kterou se tato aplikace nedívala.
Bitcoin
Native SegWitvýchozí
m/84'/0'/{account}'/0/0
Electrum
BlueWallet
Sparrow
Exodus
Index adresy
m/84'/0'/0'/0/{account}
Trust Wallet
Muun
Phoenix
Ethereum & BNB Smart Chain
Index adresyvýchozí
m/44'/60'/0'/0/{account}
MetaMask
Rabby
Trust Wallet
Rainbow
Phantom
Zpevněný účet
m/44'/60'/{account}'/0/0
Ledger Live
Trezor Suite
Exodus
Čtyři prvky
m/44'/60'/0'/{account}
MyEtherWallet (legacy)
Ledger (legacy)
Tron
Index adresyvýchozí
m/44'/195'/0'/0/{account}
TronLink
Trust Wallet
Zpevněný účet
m/44'/195'/{account}'/0/0
Ledger Live
Trezor Suite
Solana
Čtyři prvkyvýchozí
m/44'/501'/{account}'/0'
Phantom
Solflare
Backpack
Jen účet
m/44'/501'/{account}'
Ledger Live
Solflare (hardware)
Legacy
m/501'/{account}'/0/0
Sollet (legacy)
Rozvržení legacy a nested u Bitcoinu tu záměrně nejsou. Stavitel adres odvozuje native SegWit a nic jiného, takže m/44'/0'/… by tu dalo bc1… tam, kde každá jiná peněženka ukazuje 1… nebo 3… — řetězec znaků, který vypadá správně, patří k vaší frázi, a není to adresa, kterou na té cestě přečte kdokoli jiný. Volba, která potichu znamená něco jiného, než co říká, je horší než žádná volba.
KDYŽ PŘINESETE PENĚŽENKU
Když přicházíte odjinud
Dvě cesty dovnitř, a jsou v různých fázích
Řečeno na rovinu, protože stránka, která popisuje zamýšlené stejným hlasem jako hotové, je stránka, podle které se nedá nic rozhodnout.
Vaše obnovovací fráze — už teď. Dvacet čtyři slov a otázka, ve které peněžence jste je použili. Každá adresa, kterou popisuje tabulka výše, se odvozuje z fráze na vašem zařízení a nikde se neukládá; účet EVM, účet Tron a účet Solana jsou tatáž adresa na všech sítích daného řetězce.
Multisig, který už existuje — zatím ne. Čtení je hotové: knihovna pod tím otevře Safe podle adresy a oznámí jeho vlastníky, práh a verzi; přečte členy a práh multisigu Squads, podepisující a váhy permissionu na Tronu a rozloží svědecký skript Bitcoinu zpět na adresu, práh a klíče. Co hotové není, je obrazovka, která vás tím provede a připojí to k rozhovoru. Dokud není, tato stránka nebude předstírat opak.
Mezitím vám nic nebrání: Safe nebo multisig Squads, který už máte, funguje dál v tom rozhraní, kde jste ho vytvořili, protože nikdy nebyl ničím jiným než Safe nebo multisigem Squads.
Nic na těchto stránkách není finanční rada: příklady jsou příklady a peníze — i riziko — jsou vaše. Upozornění.