Андреас Антонопулос розповідає про рішення Bulletproof. Що це таке і які вдосконалення Bulletproof надасть системі Біткоїн в разі впровадження?
Підпишіться на youtube канал Школи Біткоїн натиснувши кнопку
Питання Антонопулосу: “Що таке bulletproofs? Група дослідників опублікувала документ Bulletproof. Короткі докази конфіденційних транзакцій та інше.” Вони описані як новий, не інтерактивний протокол нульового знання, це дуже короткий доказ без довіреної конфігурації. Що це означає? Як це працює? І яка буде практична користь?”
Це суто технічне питання. Спробую пояснити це якомога краще.
Конфіденційні транзакції – це винахід, який було придумано три роки тому (2015), який дозволяє зашифрувати суми в біткоїн транзакціях. Шифруючи суми, ви можете вирішити проблему витоку інформації, коли аналітичні компанії можуть відстежувати суми. Відповідаючи на попереднє запитання, я згадав coinjoin, де багато людей спільно беруть участь в угоді і один з недоліків в тому, що, поки всі торгують приблизно одними й тими ж сумами, дуже легко відстежувати приналежність платежів рахункам для оплати.
Конфіденційні транзакції призначені для використання разом зі стратегіями змішування монет для створення анонімних і приватних біткоїн транзакцій, при яких ніхто не може відстежувати, того хто платить. Конфіденційні транзакції шифрують значення, тому ви не можете бачити, скільки транзакцій виконується, і якщо ви використовуєте це разом з мікшуванням, ви не можете сказати, який вихід відповідає якому входу, і це робить його набагато більш конфіденційним.
Тепер ви можете запитати: “Добре, але якщо сума зашифрована, як ми дізнаємося, що вони не витратили гроші, яких у них не було, і як ми дізнаємося, що вони не створили нові гроші з нічого?
Метод, який використовується в конфіденційних транзакціях, називається “доказом нульового знання”. “Доказ нульового знання” – це коли ви доводите, що щось вірно, не знаючи деякої базової інформації. Таким чином, в разі конфіденційних транзакцій ви можете використовувати спеціальний тип математики в доказі нульового знання, який дозволяє додавати входи і виходи і показувати, що їх різниця дорівнює нулю. В основному показують, що кількість входів, кількість виходів і їх різниця дорівнюють нулю, не знаючи, які ці суми. І це здається неможливим, але повірте мені, коли ви читаєте математику, це не робить її більш зрозумілою.
Це досить заплутано і дуже складно зрозуміти, і я дійсно не розумію цього, але я розумію, що якщо ви шифруєте значення A на вході і B на виході, ви можете застосувати доказ того, що A і B рівні один одному, а їх різниця дорівнює нулю. Щоб ви знали, що існує однакова кількість вхідних і вихідних даних, і ніяких нових грошей не створено.
Конкретні “докази нульового знання” використовують конфіденційні транзакції, які називаються “доказом діапазону”, і ви можете довести, що є певні цифри, не знаючи, що це за цифри. І bulletproof – це розвиток, тому що одна з проблем з неінтерактивними доказами нульових знань полягає в тому, що такий доказ займає порівняно великий обсяг даних. Конфіденційна транзакція, що містить цей неінтерактивний доказ нульового знання важить 20 кілобайт в порівнянні зі звичайною транзакцією, яка важить, 200 байт, це не є гарним рішенням. Таким чином, ви отримуєте велику конфіденційність, але натомість ємність вашого блокчейна сильно зменшується, тому що транзакція стала в сто раз більшою.
Отже, чого досягли автори Bulletproof, і це цікаво прочитати, хоча може здатися складним, вони отримали більш короткий доказ, так що ви можете довести, що числа на входах і виходах знаходяться в межах діапазону, не використовуючи великий об’єм даних, не роблячи дуже велику транзакцію, ємність блокчейна не буде збільшено. Це неймовірний розвиток криптографії, і це ще раз демонструє те, що Біткоїн і криптоекосистема в цілому, і дослідження, які тривають, розширюють межі криптографії. Біткоїн генерує нові криптографічні знання, відкриття і науку кожен день.
Отже, практичні переваги Bulletproof полягають в тому, що ми можемо отримати конфіденційні транзакції з більш короткими доказами, які дозволяють шифрувати суму транзакції, щоб ми могли отримати велику анонімність з меншими за розміром транзакціями.