Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Поки ми чекаємо на вердикт у справі Шторма, добре нагадати, що захищені басейни – це лише математика, і не така вже й складна для розуміння.
Реалізувати його може будь-хто.
Отже, ось нитка з базовою інтуїцією про те, як вони працюють:
Мета полягає в тому, щоб побудувати систему, в якій вся інформація в кожній транзакції залишається повністю приватною для користувачів.
Ми не повинні очікувати нічого меншого від наших транзакційних систем.
Це основоположне право людини на приватність.
Проблема полягає в тому, що якщо вся інформація є конфіденційною, як блокчейн знає, що передача дійсна? Як зрозуміти, що у користувача дійсно є кошти, які він має намір відправити? Що вони не подвійні витрати?
Очевидна відповідь: zk-proofs. Але чи насправді все так просто?
Припустимо, у вас є рахунок з балансом 10. Ти хочеш відправити 5 на захист Романа. Таким чином, ви створюєте zk-proof, який показує, що у вас 10, а ваша транзакція надсилає 5. Здається, досить просто!
Але зачекайте! Коли ви робили доказ про наявність 10, цей доказ стосувався якогось стану в минулому, до останнього блоку, куди було включено ваш tx. Можливо, з тих пір ви витратили всі монети! Як ви можете довести, що у вас все ще є 10, на останньому блоці?
Це насправді досить складно, і саме тому захищені пули насправді не працюють із системами, заснованими на облікових записах - не існує простого та надійного способу довести блокчейну, в zk, останній стан у режимі реального часу.
Яке рішення? Використовуйте UTXO. Знамениті «Невитрачені виходи Tx» від Bitcoin.
З UTXO у вас немає єдиного оновлюваного облікового запису, у вас є окремі «банкноти», які можна витратити лише один раз, у повному обсязі (як справжня монета). Системи UTXO в цілому трохи дратують в розвитку, але ця властивість «витратити один раз» робить їх дуже корисними для захищених басейнів
У системі UTXO, такій як Bitcoin, коли ви йдете витрачати UTXO, всі повні вузли можуть перевірити, що UTXO існує (він був створений у минулому) і що він ще не був витрачений. Це прямолінійно. Але якщо всі дані в UTXO зашифровані, як ми можемо це перевірити?
Мало того, що дані зашифровані, ми навіть не хочемо розкривати, *які* UTXO витрачаються. Якби ми це зробили, то той, хто надіслав вам UTXO, знав би, коли ви його витратили. В ідеальній конструкції екранованого басейну ZERO інформація просочується транзакцією.
Основна хитрість захищених пулів полягає у введенні значення "nulifier", яке може бути публічно розкрите, але унікально отримується тим, хто витрачає кошти для кожного UTXO. Щоб витратити UTXO, блокчейн перевіряє, що нуліфікатора ще не існує. Це примусово дозволяє витратити кожен UTXO лише один раз
Тепер ми можемо повернутися до нашого zk-proof. Нам просто потрібно довести, що UTXO, який ми витрачаємо, насправді існує в мережі, і що нуліфікатор, який ми виявили для нього, правильно походить від UTXO, який ми витрачаємо.
Ось і все!
На практиці це означає, що екрановані системи басейнів зазвичай зберігають два різних дерева Меркла. Один містить хеші UTXO (UTXO часто називають «нотами», а їхні хеші — «зобов'язаннями щодо нот»), а інший містить нуліфікатори. Обидва дерева тільки додаються!
Коли створюється нова нота, її хеш зберігається в дереві Меркла ноти. Сама записка зашифрована. Коли користувач пізніше йде витрачати цю ноту, він обчислює нуліфікатор для ноти, і вони роблять zk-доказ, показуючи, що нота знаходиться в дереві Меркла і нуліфікатор правильний.
Нулліфікатор розкривається публічно, і ланцюжок перевіряє, що його ще не існує в дереві нуліфікатора. Потім він зберігається там, тому нотатку не можна буде витратити знову. Ніхто насправді не може сказати, яка нота витрачається, оскільки оригінальна нота залишається одна в Дереві нот!
Ось і все, базова конструкція всіх захищених басейнів на сьогоднішній день, включаючи @Zcash, @TornadoCash, @penumbrazone, @namada та інші
Звичайно, в дизайні екранованого басейну бере участь набагато більше. Слідкуйте за оновленнями, щоб отримати більше тем, де ми глибше зануримося в ці механіки
@AThryver @0xkaiserkarel Поширена помилка і, можливо, оманливе використання терміна «зк» тут. Бачити

24 лип. 2024 р.
ТЕЕ? ЗКП? ГДК? ЩО ТАК?
Все, що вам потрібно знати про найважливіші трилітерні абревіатури в криптовалюті
Або як ви завойовуєте друзів і людей, які вільно володіють TEE 🧵
33,52K
Найкращі
Рейтинг
Вибране