20 / 736BIP341

Taproot

Proste wydawanie i ukryte warunki awaryjne

Ulepszenie Bitcoina pozwalające wydawać środki za zgodą posiadaczy kluczy i ujawniać alternatywne reguły dopiero wtedy, gdy są używane.

Taproot to sposób określania i potwierdzania prawa do wydania bitcoinów. Umożliwia zwykłe wydanie za pomocą jednego podpisu oraz opcjonalne warunki alternatywne przygotowane wcześniej. Przy użyciu ścieżki podpisu sieć nie musi wiedzieć, czy płatność zatwierdziła jedna osoba czy kilka współpracujących osób, ani czy istniały inne niewykorzystane reguły.

Wyobraź sobie, że Alice i Bob zarządzają wspólnymi pieniędzmi. Dopóki się zgadzają, chcą zatwierdzać płatności razem. Mogą też wcześniej ustalić alternatywę: po osiągnięciu określonej wysokości bloku Alice wolno wydać środki samodzielnie. Taproot pozwala zapisać taki układ bez publikowania całego planu awaryjnego przy zwykłej wspólnej płatności. Nie jest to automatyczna funkcja każdego portfela. Program musi obsługiwać wybrane warunki, a uczestnicy muszą poprawnie przygotować je przed otrzymaniem środków. Alice rzeczywiście uzyskuje wtedy uzgodnione prawo do samodzielnego wydawania. [1] [3]

Prostsza możliwość nosi nazwę key path: sieć sprawdza jeden poprawny podpis Schnorra dla klucza wskazanego w warunkach wyjścia. Wyjście to konkretna kwota utworzona przez wcześniejszą transakcję, którą teraz wydajesz. Sam podpis nie ujawnia liczby współpracujących osób ani istnienia skryptu awaryjnego. Druga możliwość, script path, przedstawia użyty skrypt, czyli konkretne reguły, oraz dane spełniające te reguły. Dodaje dowód zwany control block, że należały one do pierwotnego układu. Pozostałe skrypty mogą zostać ukryte, ale użyty skrypt i jego dowód nadal ujawniają informacje. [1]

Schnorr Signature to rodzaj podpisu cyfrowego: matematyczny dowód zatwierdzenia płatności odpowiednim kluczem. Właściwy protokół, na przykład MuSig2, pozwala kilku posiadaczom kluczy utworzyć wspólny klucz, a potem wspólny podpis. Alice i Bob nie muszą przekazywać sobie kluczy prywatnych. Ich portfele muszą jednak obsługiwać tę procedurę i współpracować przy podpisywaniu. Taproot sam nie łączy podpisów wszystkich wejść ani nie zamienia dowolnego portfela Multisig w jeden podpis. Poprawna implementacja ma znaczenie: błędne ponowne użycie tajnych wartości zwanych nonce w protokole podpisu może ujawnić klucz prywatny. [2] [5]

W głównej sieci Bitcoin adresy Taproot zwykle zaczynają się od bc1p i korzystają z zapisu Bech32m. Przed wysłaniem sprawdź obsługę formatu przez portfel lub usługę oraz cały adres. Taproot może zmniejszyć liczbę ujawnianych reguł i ilość danych potrzebnych do wydania. Nie ukrywa jednak kwot ani nie zrywa publicznych powiązań między wydawanymi wyjściami. Wybrana ścieżka i rozmiar jej dowodu wpływają też na opłatę, więc nowszy format nie oznacza automatycznie najtańszej płatności. Gdy portfel używa Taproot do zwykłej płatności jednym kluczem, nie trzeba wymyślać skryptu awaryjnego. [1] [4]

P2TR oznacza Pay to Taproot. W regułach jest to natywny SegWit w wersji 1 z 32-bajtowym programem witness reprezentującym publiczny klucz wyjścia. Opcjonalne skrypty tworzą drzewo, którego kryptograficzny odcisk zostaje uwzględniony w tym kluczu. Używając jednej gałęzi, można udowodnić jej przynależność bez ujawniania całego drzewa. BIP 340 opisuje podpisy Schnorra, BIP 341 reguły Taproot, a BIP 342 język Tapscript dla ścieżki skryptowej. Zwykły podpis Schnorra ma 64 bajty; jawny wybór innego trybu określającego podpisywane części transakcji dodaje jeden bajt. Tymi szczegółami zajmuje się portfel, nie ręczna zmiana adresu. [1] [2] [3]

Pełniejszy obraz uzyskasz, czytając to hasło razem z SegWit, Private Key, Transakcja, Lightning Network. Do tego hasła prowadzą również odsyłacze z SegWit, Lightning Network, Hash, SHA-256.

DOC · 001BIP 341: TaprootŹródło pierwotne DOC · 002BIP 340: Schnorr signaturesŹródło pierwotne DOC · 003BIP 342: TapscriptŹródło pierwotne DOC · 004BIP 350: Bech32mŹródło pierwotne DOC · 005BIP 327: MuSig2Źródło pierwotne
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna