393 / 736SIPA

Pieter Wuille

Programista znany jako sipa

Pieter Wuille współtworzył rozwiązania, dzięki którym portfele Bitcoin generują klucze, zapisują adresy i podpisują płatności. Możesz korzystać z jego pracy, nawet jeśli pierwszy raz słyszysz pseudonim sipa.

Pieter Wuille, znany jako sipa, jest programistą Bitcoina oraz autorem lub współautorem BIP 32, SegWit, Bech32, Bech32m i Schnorr/Taproot. BIP to publiczna propozycja techniczna. Jego wkład polega na konkretnych rozwiązaniach tworzonych z innymi ludźmi, a nie na prawie do decydowania za całą sieć.

Gdy portfel proponuje nowy adres lub przygotowuje podpis płatności, za prostym przyciskiem kryje się praca wielu programistów. Jednym z nich jest Pieter Wuille. Na GitHub używa pseudonimu sipa; jego profil łączy tę nazwę z działalnością programistyczną. O autorstwie konkretnego pomysłu decydują jednak historia i dokumentacja projektu, nie sam pseudonim. Poniższe propozycje pokazują, jakie problemy pomagał rozwiązywać i z kim współpracował. [1]

Wyobraź sobie sklep, który chce innego adresu płatności dla każdego zamówienia. BIP 32 Wuille’a opisuje wyprowadzanie całego drzewa kluczy z seedu, czyli początkowych tajnych danych. Rozszerzony klucz publiczny, xpub, pozwala tworzyć kolejne klucze publiczne odpowiedniej gałęzi bez uprawnienia do wydawania środków. Klucz prywatny pozwala natomiast podpisywać. Istnieje ważny wyjątek: xpub połączony z ujawnionym prywatnym kluczem potomnym, wyprowadzonym bez kroku hardened, może odsłonić prywatny klucz rodzica. Wyprowadzanie hardened przerywa tę drogę. Xpub warto chronić również dlatego, że ujawnia powiązania między płatnościami. [2]

Kolejne płatności mogą zależeć od wcześniejszej transakcji, dlatego jej identyfikator ma znaczenie. BIP 141, którego autorami są Eric Lombrozo, Johnson Lau i Pieter Wuille, oddziela dane weryfikacyjne zwane witness, w tym podpisy, od części określającej pierwotny identyfikator txid. Nowy identyfikator wtxid obejmuje także witness. Zmiana danych podpisu nie musi więc zmieniać txid wskazywanego przez kolejną transakcję. Podpisy nadal podlegają kontroli: witness jest chroniony kryptograficznym zobowiązaniem zapisanym w transakcji coinbase, pierwszej transakcji bloku. [3]

Przy przepisywaniu adresu łatwo pomylić znak. Wuille i Greg Maxwell opisali Bech32 dla natywnych adresów SegWit w BIP 173. Suma kontrolna składa się ze znaków pomagających wykryć uszkodzony zapis. Sprawdza jednak kodowanie, nie tożsamość zamierzonego odbiorcy. Jeśli ktoś podmieni adres na inny poprawny adres, suma kontrolna nie rozpozna tej podmiany jako oszustwa. [4]

Format adresów też można ulepszać. BIP 350 Wuille’a zmienia sumę kontrolną, aby usunąć konkretną słabość związaną z dodawaniem lub usuwaniem znaków. Wynikiem jest Bech32m. Portfel musi sprawdzać zgodność wersji witness z kodowaniem: wersja 0 nadal używa Bech32, a wersje od 1 do 16 używają Bech32m. Użytkownik nie powinien ręcznie wybierać algorytmu. To oprogramowanie ma tworzyć i sprawdzać adresy; zaakceptowanie dowolnej poprawnej sumy kontrolnej nie wystarczy. [5]

Podpis cyfrowy pozwala sprawdzić uprawnienie do płatności bez ujawniania klucza prywatnego właściciela. Autorzy BIP 340 to Pieter Wuille, Jonas Nick i Tim Ruffing. Dokument określa Schnorr signatures: podpisy mają 64 bajty, a klucze publiczne 32 bajty. Bajt jest jednostką rozmiaru danych. Właściwości matematyczne tego rozwiązania pozwalają budować systemy, w których kilka osób tworzy wspólny podpis. Samo dodanie kluczy jednak nie wystarczy: osobny protokół musi bezpiecznie koordynować uczestników. [6]

Portfel może mieć zwykły sposób wydawania środków i warunki awaryjne. Pieter Wuille, Jonas Nick i Anthony Towns opisują Taproot w BIP 341. Ścieżka klucza, key path, może wymagać tylko podpisu, nie ujawniając nawet istnienia alternatywnych skryptów. Skrypt to program wyrażający warunki wydania środków. Gdy potrzebna jest ścieżka skryptu, script path, ujawnia się użyty skrypt i dowód jego uwzględnienia; niewykorzystanych alternatyw nie trzeba pokazywać w całości. Oszczędza to miejsce i chroni część informacji o portfelu, lecz nie zapewnia automatycznie anonimowości wszystkich płatności. [7]

Te zmiany rozwiązują konkretne problemy i pozwalają innym badać projekt oraz kod. Bitcoin.org wyjaśnia, że BIP jest publicznie dyskutowany, a przyjęcie zmiany zależy od uczestników sieci. Węzeł to komputer sprawdzający transakcje i bloki według swojego oprogramowania. Autorstwo ani utrzymywanie repozytorium nie dają prawa do jednostronnej zmiany zasad konsensusu. Znaczenie Wuille’a wynika z jego wkładu i współpracy, nie z roli szefa Bitcoina. [8]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Craig Wright, Gregory Maxwell, Satoshi Nakamoto. Do tego hasła prowadzą również odsyłacze z Craig Wright, Gregory Maxwell.

DOC · 001GitHub — Pieter Wuille (sipa)Dokumentacja DOC · 002BIP 32 — Hierarchical Deterministic WalletsDokumentacja DOC · 003BIP 141 — Segregated WitnessDokumentacja DOC · 004BIP 173 — Bech32Dokumentacja DOC · 005BIP 350 — Bech32mDokumentacja DOC · 006BIP 340 — Schnorr signaturesDokumentacja DOC · 007BIP 341 — Taproot spending rulesDokumentacja DOC · 008Bitcoin.org — FAQDokumentacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna