399 / 736POELSTRA

Andrew Poelstra

Badacz skryptów i dowodów Bitcoin

Jak ułatwić sprawdzanie warunków wydawania środków z portfela? I jak zweryfikować ukrytą kwotę bez jej ujawniania? Andrew Poelstra pomagał znaleźć odpowiedzi na oba pytania. Jego prace pokazują, jak badania matematyczne stopniowo stają się użytecznymi narzędziami.

Andrew Poelstra jest matematykiem i badaczem Bitcoina. Współtworzył Miniscript, który ułatwia opisywanie i analizowanie warunków wydawania środków, oraz Bulletproofs — dowody kryptograficzne pozwalające zweryfikować określone twierdzenia bez ujawniania ukrytych danych. To wyniki pracy zespołowej.

Za zapisem matematycznym często kryje się zwykła potrzeba: zabezpieczyć oszczędności albo nie ujawniać wszystkim kwoty każdej płatności. Poelstra pracował nad narzędziami przekładającymi takie potrzeby na sprawdzalne reguły. W lutym 2023 roku Blockstream przedstawiał go jako dyrektora badań. W raporcie za drugi kwartał 2026 roku ten tytuł nosi Jonas Nick. Dawnej nazwy stanowiska nie można więc automatycznie traktować jako opisu obecnej funkcji. Wkład badacza lepiej poznawać przez konkretne prace i współpracę niż przez sam tytuł. [1] [2]

Wyobraź sobie, że zwykle wydajesz środki za pomocą własnego klucza, lecz na wypadek jego utraty chcesz przygotować inną, z góry ustaloną drogę dostępną po okresie oczekiwania. Warunki trzeba nie tylko zapisać, ale też sprawdzić, czy rzeczywiście wyrażają zamiar. W tym pomaga Miniscript. Dokumentacja wymienia twórców: Pieter Wuille, Andrew Poelstra i Sanket Kanjalkar, a także wspomina szersze dyskusje. To wspólne osiągnięcie; przypisanie komuś wkładu nie zastępuje pracy pozostałych autorów. [3]

Bitcoin Script to język określający warunki wydawania środków. Miniscript nadaje wyodrębnionej części tego języka strukturę ułatwiającą łączenie i analizowanie warunków. Kompilator, czyli program tłumaczący wymagania na konkretny zapis, może szukać tańszego rozwiązania. Jeśli przewidujesz częstsze używanie zwykłej drogi niż zapasowej, może uwzględnić to w oczekiwanym koszcie. Takie wagi nie uzależniają poprawności transakcji od przypadku. Rzadziej używana droga jest równie poprawna, jeśli spełniono jej reguły. [3]

Przy zapasowej drodze trzeba również określić początek oczekiwania. Miniscript after wyraża bezwzględny próg przez pole transakcji nLockTime, na przykład określoną wysokość łańcucha. older używa natomiast względnego warunku nSequence, czyli odstępu od potwierdzenia wydawanego wyjścia. Są to różne odniesienia czasowe, nie zamienne nazwy. Sam upływ czasu nie uruchamia płatności. Może udostępnić drogę, ale nadal potrzebne są wymagane podpisy i pozostałe warunki; transakcję trzeba jeszcze utworzyć i potwierdzić. [3]

Czy można sprawdzić właściwość kwoty, zachowując samą kwotę w tajemnicy? Bulletproofs umożliwia takie dowody. Weryfikujący może dowiedzieć się, że ukryta liczba mieści się w dozwolonym zakresie, nie poznając jej wartości. Stanford wymienia autorów: Benedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra, Pieter Wuille i Greg Maxwell. Artykuł naukowy jest czymś innym niż konkretny program. Strona opisuje część implementacji jako niedokończone, a prototyp jako nieprzeznaczony do zastosowań produkcyjnych. Sam odnośnik nie jest zaleceniem powierzenia programowi pieniędzy. [4]

Niektóre systemy dowodów wymagają początkowego przygotowania parametrów, którego bezpieczeństwo zależy od właściwego obchodzenia się z tajnymi informacjami. Nazywa się to trusted setup. Bulletproofs nie potrzebuje takiej procedury. Nie znosi to jednak założeń kryptograficznych ani ryzyka błędów programu. Krótki dowód nie musi być też najszybszy w weryfikacji: zależy to od zadania i porównywanego systemu. Warto rozdzielić trzy pytania: co dowód potwierdza, na czym opiera się jego bezpieczeństwo i ile pracy wymaga sprawdzenie. [4]

Widoczne kwoty można dodać i porównać. Gdy są ukryte, odpowiednią pewność muszą zapewnić dowody matematyczne. W lutym 2018 roku Poelstra wyjaśniał rangeproof: dowód, że kwota pozostaje w dozwolonym zakresie i nie pozwala obejść rachunku przez przepełnienie liczb. Bulletproofs może połączyć dowody dla wielu wartości w bardziej zwarty zestaw. Artykuł podaje też pomiary szybkości na wskazanym sprzęcie, a nie uniwersalną prędkość sieci. Mniejszy dowód zmniejsza określone obciążenie, lecz nie usuwa automatycznie wszystkich ograniczeń płatności. [5]

W kwietniu 2017 roku Poelstra opisał Confidential Assets dla Elements, platformy budowania systemów blockchain. Można tu ukryć zarówno kwotę, jak i rodzaj przenoszonego aktywa. Wciąż da się jednak sprawdzić, czy transfer nie stworzył aktywa bez uprawnienia ani nie zamienił go na inne. Emisja jednostek i późniejsza dodatkowa emisja mają własne reguły i uprawnienia. Prywatność łączy się więc z publiczną weryfikacją. Funkcja Elements nie dowodzi jednak wdrożenia w warstwie bazowej Bitcoina: badania, implementacja i korzystająca z niej sieć to odrębne kwestie. [6]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Mara van der Laan, Rusty Russell, Miniscript. Do tego hasła prowadzą również odsyłacze z Miniscript, Mara van der Laan, Rusty Russell.

DOC · 001Blockstream Research — February 2023Dokumentacja DOC · 002Blockstream — Q2 2026 updateDokumentacja DOC · 003Miniscript — specification and authorsDokumentacja DOC · 004Stanford — BulletproofsDokumentacja DOC · 005Andrew Poelstra — Bulletproofs (2018)Dokumentacja DOC · 006Andrew Poelstra — Confidential Assets (2017)Dokumentacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna