399 / 736POELSTRA

Andrew Poelstra

Дослідник скриптів і доказів Bitcoin

Як зробити умови витрачання з гаманця зрозумілішими для перевірки? І як перевірити приховану суму, не оприлюднюючи її? Andrew Poelstra допомагав шукати відповіді на обидва запитання. Його праці показують, як математичні дослідження поступово перетворюються на корисні інструменти.

Andrew Poelstra — математик і дослідник Bitcoin. Він належить до творців Miniscript, що полегшує опис і аналіз умов витрачання, та співавторів Bulletproofs — криптографічних доказів, які перевіряють певні твердження без розкриття прихованих даних. Ці результати отримано спільною працею.

За математичним записом часто стоїть звичайне бажання: захистити заощадження чи не показувати всім суму кожного платежу. Poelstra працював над інструментами, що перетворюють такі потреби на правила, які можна перевірити. У лютому 2023 року Blockstream представляла його як директора з досліджень. У звіті за другий квартал 2026 року так названо Jonas Nick. Отже, давня назва посади не обов’язково описує нинішню роль. Внесок дослідника краще розглядати через конкретні праці та співпрацю. [1] [2]

Уявіть, що зазвичай ви витрачаєте кошти за допомогою власного ключа, але на випадок його втрати заздалегідь передбачили інший шлях, доступний після очікування. Умови треба не лише записати, а й перевірити, чи відповідають вони вашому задуму. Саме тут допомагає Miniscript. Документація називає творцями Pieter Wuille, Andrew Poelstra та Sanket Kanjalkar і згадує ширші обговорення. Це спільний результат: внесок одного співавтора не замінює працю інших. [3]

Bitcoin Script — мова опису умов витрачання. Miniscript надає визначеній частині цієї мови структуру, завдяки якій умови можна поєднувати й аналізувати. Компілятор — програма, що перетворює вимоги на конкретний запис, — може шукати економніший варіант. Якщо звичайний шлях очікується частіше за резервний, це можна врахувати в очікуваних витратах. Такі ваги не роблять дійсність транзакції випадковою. Рідше використовуваний шлях так само дійсний, якщо виконано його правила. [3]

Для резервного шляху важливо визначити, звідки відлічувати очікування. Miniscript after задає абсолютну межу через поле транзакції nLockTime, наприклад певну висоту ланцюга. Натомість older використовує відносну умову nSequence: проміжок від підтвердження виходу, який витрачають. Це різні часові орієнтири, а не взаємозамінні назви. Закінчення строку саме не запускає платіж. Воно може відкрити шлях, але його підписи та інші умови все одно потрібні; транзакцію ще треба створити й підтвердити. [3]

Чи можна перевірити властивість суми, зберігши саму суму в таємниці? Bulletproofs дає таку можливість. Перевіряльник може дізнатися, що приховане число лежить у дозволених межах, не довідавшись його значення. Stanford називає авторів Benedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra, Pieter Wuille та Greg Maxwell. Дослідницька стаття відрізняється від конкретної програми: сторінка позначає деякі реалізації як незавершені, а прототип — як непридатний для робочого використання. Саме посилання не є рекомендацією довіряти програмі гроші. [4]

Деяким системам доказів потрібна початкова підготовка параметрів, безпека якої залежить від належного поводження із секретною інформацією. Це називають trusted setup. Bulletproofs такої підготовки не потребує. Проте криптографічні припущення та ризик програмної помилки нікуди не зникають. Короткий доказ також не обов’язково перевіряється найшвидше: усе залежить від завдання й системи для порівняння. Варто розділяти, що саме доведено, на чому ґрунтується безпека та скільки роботи потребує перевірка. [4]

Видимі суми можна додати й порівняти. Для прихованих сум відповідну впевненість мають забезпечити математичні докази. У лютому 2018 року Poelstra пояснював rangeproof: доказ того, що сума залишається в дозволеному діапазоні й не дає обійти облік через переповнення чисел. Bulletproofs може компактно об’єднати докази для кількох значень. У статті наведено й показники швидкості, але це результати вимірювань на зазначеному обладнанні, а не універсальна швидкість мережі. Менший доказ знижує певне навантаження, а не усуває всі обмеження платежів. [5]

У квітні 2017 року Poelstra описав Confidential Assets для Elements — платформи створення блокчейн-систем. Тут прихованою може залишатися і сума, і вид переданого активу. Водночас перевіряльники встановлюють, що під час переказу актив не створено без дозволу й не перетворено на інший. Випуск нових одиниць та їхня додаткова емісія мають окремі правила й повноваження. Приватність знову поєднується з публічною перевіркою. Однак функція Elements не доводить її впровадження в базовому шарі Bitcoin: дослідження, реалізація та мережа, яка її використовує, — різні речі. [6]

Для повної картини прочитайте також Mara van der Laan, Rusty Russell, Miniscript. На цю статтю також посилаються Miniscript, Mara van der Laan, Rusty Russell.

DOC · 001Blockstream Research — February 2023Документація DOC · 002Blockstream — Q2 2026 updateДокументація DOC · 003Miniscript — specification and authorsДокументація DOC · 004Stanford — BulletproofsДокументація DOC · 005Andrew Poelstra — Bulletproofs (2018)Документація DOC · 006Andrew Poelstra — Confidential Assets (2017)Документація
Переглянуто: Спочатку джерела · Не інвестиційна порада