393 / 736SIPA

Pieter Wuille

Розробник, відомий як sipa

Pieter Wuille допомагав створювати правила, за якими гаманці Bitcoin генерують ключі, записують адреси й підписують платежі. Можливо, ви користуєтеся його роботою, навіть якщо вперше чуєте ім’я sipa.

Pieter Wuille, відомий як sipa, — розробник Bitcoin та автор або співавтор BIP 32, SegWit, Bech32, Bech32m і Schnorr/Taproot. BIP — це публічна технічна пропозиція. Його внесок полягає в конкретних рішеннях, розроблених разом з іншими, а не в праві вирішувати за всю мережу.

Коли гаманець пропонує нову адресу або готує підпис платежу, за простою кнопкою стоїть праця багатьох розробників. Один із них — Pieter Wuille. На GitHub він використовує ім’я sipa; профіль пов’язує його з розробкою. Але авторство конкретного винаходу встановлюють за історією та документацією проєкту, а не лише за псевдонімом. Подальші пропозиції показують, що саме він допомагав розв’язати і з ким працював. [1]

Уявіть магазин, якому потрібна окрема платіжна адреса для кожного замовлення. BIP 32 від Wuille описує отримання цілого дерева ключів із seed — початкових секретних даних. Розширений публічний ключ xpub дозволяє отримувати нові публічні ключі відповідної гілки без права витрачати кошти. Приватний ключ, навпаки, дозволяє підписувати. Є важливий виняток: поєднання xpub із розкритим приватним ключем нащадка, виведеним без кроків hardened, може розкрити приватний ключ батьківського рівня. Посилене виведення hardened перекриває цей шлях. Xpub слід берегти також тому, що він розкриває зв’язки між платежами. [2]

Наступні платежі можуть залежати від попередньої транзакції, тому її ідентифікатор важливий. BIP 141, автори якого Eric Lombrozo, Johnson Lau та Pieter Wuille, відокремлює дані перевірки witness, зокрема підписи, від частини, що визначає початковий ідентифікатор txid. Новий ідентифікатор wtxid включає і witness. Тож зміна даних підпису не обов’язково змінює txid, на який посилається інша транзакція. Підписи все одно перевіряють: witness захищений криптографічним зобов’язанням у coinbase-транзакції, першій транзакції блоку. [3]

Коли переписуєте адресу, легко помилитися в одному символі. Wuille і Greg Maxwell описали Bech32 для нативних адрес SegWit у BIP 173. Контрольна сума містить символи, які допомагають виявити пошкоджений запис. Проте вона перевіряє кодування, а не особу потрібного отримувача. Якщо хтось підмінить адресу іншою коректною адресою, контрольна сума не розпізнає це як шахрайство. [4]

Формат адрес теж можна вдосконалювати. BIP 350 від Wuille змінює контрольну суму, щоб усунути конкретну слабкість, пов’язану з додаванням або видаленням символів. Результат — Bech32m. Гаманець має перевіряти відповідність версії witness кодуванню: версія 0 далі використовує Bech32, а версії від 1 до 16 — Bech32m. Користувач не повинен обирати алгоритм вручну. Створювати й перевіряти адреси має програма; прийняти будь-яку коректну контрольну суму недостатньо. [5]

Цифровий підпис дозволяє перевірити право на платіж без розкриття приватного ключа власника. BIP 340 від Pieter Wuille, Jonas Nick і Tim Ruffing визначає Schnorr signatures: підпис займає 64 байти, публічний ключ — 32 байти. Байт є одиницею розміру даних. Математичні властивості дозволяють створювати системи, де кілька людей формують спільний підпис. Проте просто скласти ключі недостатньо: окремий протокол має забезпечити безпечну координацію учасників. [6]

Гаманець може мати звичайний спосіб витрачання і запасні умови. Pieter Wuille, Jonas Nick та Anthony Towns описали Taproot у BIP 341. Шлях ключа, key path, дозволяє обійтися підписом, не розкриваючи навіть існування альтернативних скриптів. Скрипт — це програма з умовами витрачання коштів. Якщо потрібен шлях скрипту, script path, публікують використаний скрипт і доказ його включення; невикористані альтернативи не потрібно показувати повністю. Це економить місце та приховує частину відомостей про гаманець, але не робить автоматично всі платежі анонімними. [7]

Ці зміни розв’язують конкретні проблеми й дозволяють іншим перевіряти задум і код. Bitcoin.org пояснює, що BIP публічно обговорюють, а впровадження залежить від учасників мережі. Вузол — це комп’ютер, який перевіряє транзакції та блоки за правилами свого програмного забезпечення. Авторство або супровід репозиторію не дають права одноосібно змінювати правила консенсусу. Важливість Wuille полягає в його внеску та співпраці, а не в ролі керівника Bitcoin. [8]

Для повної картини прочитайте також Craig Wright, Gregory Maxwell, Satoshi Nakamoto. На цю статтю також посилаються Craig Wright, Gregory Maxwell.

DOC · 001GitHub — Pieter Wuille (sipa)Документація DOC · 002BIP 32 — Hierarchical Deterministic WalletsДокументація DOC · 003BIP 141 — Segregated WitnessДокументація DOC · 004BIP 173 — Bech32Документація DOC · 005BIP 350 — Bech32mДокументація DOC · 006BIP 340 — Schnorr signaturesДокументація DOC · 007BIP 341 — Taproot spending rulesДокументація DOC · 008Bitcoin.org — FAQДокументація
Переглянуто: Спочатку джерела · Не інвестиційна порада