Twierdzenie
Certyfikat Signet zawiera jedno wąskie, mocne twierdzenie: posiadacz klucza prywatnego danego adresu podpisał dane wyzwanie w danym czasie. Nic więcej. To dowód kontroli nad kluczem, a nie tożsamości.
Udowodnione, bez potrzeby zaufania
- Ten adres wygenerował ten podpis dla tego wyzwania.
- Podpisujący posiadał klucz prywatny w chwili podpisania.
- Hash certyfikatu istniał najpóźniej w momencie zakotwiczenia on-chain.
Nieudowodnione
- Tożsamość podpisującego.
- Wyłączność kontroli ani to, że klucz nie został udostępniony lub wymuszony.
- To, że podpisujący jest klientem zlecającego — powiązanie z tożsamością to KYC zlecającego.
Jak jest dowodzone
Zlecający wystawia wyzwanie zawierające jednorazowy nonce powiązany z tym jednym zleceniem. Kontrahent podpisuje swoim portfelem dokładne bajty wyzwania. Weryfikujemy podpis względem adresu we właściwej sieci, następnie haszujemy powstały certyfikat i zakotwiczamy ten hash on-chain w partii merkle — w tym samym kontrakcie Stamper, którego używa cała rodzina BA, więc publiczny weryfikator sprawdza go bez zmian.
Nonce uniemożliwia ponowne użycie: podpisu pod wyzwaniem jednego zlecenia nie da się przenieść na inne. Weryfikujemy zapisane wyzwanie bajt po bajcie, nigdy ponownie wygenerowaną kopię.
Kryptografia dla każdej sieci
Każda sieć ma własny standard podpisywania. Warstwa weryfikacji jest zaprojektowana tak, by nowe sieci można było dodawać bez zmian w istniejących.
| Sieć | Standard | Weryfikacja |
|---|---|---|
| Ethereum i EVM | EIP-191 personal_sign | Odtworzenie podpisującego offline |
| Portfele smart kontraktów | EIP-1271 | Wywołanie isValidSignature on-chain |
| Bitcoin (SegWit / Taproot) | BIP-322 | Offline |
| Bitcoin (starszy P2PKH) | BIP-137 signmessage | Offline |
| Litecoin, Dogecoin, Zcash (t1) | BIP-137 z prefiksem danej sieci | Offline |
| Solana | ed25519 | Offline |
| Polkadot, Kusama | sr25519 / ed25519 | Offline |
| TRON | TronWeb signMessageV2 (także aplikacja Ledger TRON) | Odtworzenie podpisującego offline |
Zweryfikuj samodzielnie
Każdy certyfikat eksportuje samodzielny pakiet dowodowy. Każdy może go sprawdzić względem publicznych sieci, bez konta i bez zaufania do BA | Signet:
signatureto ważny podpischallengezłożony przezaddressw podanej sieci. Już to samo dowodzi kontroli nad kluczem.- Oblicz ponownie
SHA-256kanonicznego JSON certyfikatu; musi być równycontentHash(liść merkle). - Złóż liść z
merkleProof(keccak256, posortowane pary); wynik musi być równymerkleRoot. - Wywołaj
timestamps(merkleRoot)w kontrakcie Stamper w sieci Polygon; wartość niezerowa to moment, w którym certyfikat już istniał. - Opcjonalnie zweryfikuj dowód OpenTimestamps względem bloku Bitcoin.
Co przechowujemy
Kontrahent nie jest naszym klientem i nie ma konta. Zbieramy minimum: adres, wyzwanie, podpis, znacznik czasu i numer referencyjny zlecającego. Nigdy nie prosimy o klucz prywatny ani frazę odzyskiwania i nigdy ich nie przyjmujemy. Żadnego profilowania na podstawie IP poza tym, czego wymaga zapobieganie nadużyciom. Dane są przechowywane jako dokumentacja compliance zlecającego i usuwane na żądanie.