Создание Ergo: безопасность SPV
1 мая 2020 г.

В мире криптовалют часто существует напряжение между безопасностью и удобством. Этот компромисс неприемлем, если мы хотим, чтобы эти технологии использовались широко. Вот как Ergo решает одну общую и очень важную проблему.
Мы все знаем, что самый безопасный способ использовать Bitcoin или любую криптовалюту — это скачать копию блокчейна и запустить полный узел самостоятельно. Таким образом, каждый раз, когда вы или кто-то другой совершает транзакцию, ваш клиент проверяет блокчейн, чтобы убедиться, что он действителен. Вам не нужно доверять никому другому.
Полный узел Bitcoin проверяет все блоки в блокчейне (используя заголовки) и убеждается, что нет мошеннических транзакций. Это очень безопасный способ использования криптовалюты — но есть проблема. Это требует значительной пропускной способности, хранения и вычислительной мощности. Такое оборудование дорого, и использование полного узла для проверки и совершения транзакций в любом случае неприемлемо для мобильных устройств. Это особенно верно для Bitcoin, где блокчейн превышает 270 ГБ и продолжает расти.
SPV
Упрощенная проверка платежей (SPV) предназначена для решения этой проблемы, как описано в белой книге Bitcoin:
- Возможно проверять платежи, не запуская полный узел сети. Пользователю нужно только сохранить копию заголовков блоков самой длинной цепи доказательства работы, которую он может получить, запрашивая узлы сети, пока не убедится, что у него самая длинная цепь, и получить ветвь Меркла, связывающую транзакцию с блоком, в котором она имеет временную метку. Он не может проверить транзакцию сам, но, связывая ее с местом в цепи, он может увидеть, что узел сети принял ее, а блоки, добавленные после этого, дополнительно подтверждают, что сеть приняла ее.
Сатоши отмечает, что это не идеальное решение и уязвимо для атакующего, который может подавить сеть и обмануть пользователей SPV.
Более того, хотя режим SPV предназначен для устройств с ограниченными ресурсами, даже этот «легкий» подход не всегда осуществим. Заголовки Ethereum в одиночку составляют около 5 ГБ для загрузки. Таким образом, мобильные клиенты Ethereum не проверяют действительность цепи и поэтому слепо должны доверять третьим лицам.
Существуют предложения по снижению требований для режима SPV, проверяя всего несколько случайных заголовков, вместо всех. Но сделать это безопасно сложно.
Эффективный SPV
Несколько лет было потрачено на исследование и разработку безопасных протоколов, которые позволяют создавать эффективные клиенты SPV. Два самых известных и надежных протокола — это NiPoPoWs и FlyClient.
Ergo реализует NiPoPoWs, или Неперерабатываемые доказательства работы. Эта технология может быть подробно изучена на этом специализированном сайте: https://nipopows.com:
-
Неперерабатываемые доказательства работы (NIPoPoWs) — это короткие автономные строки, которые компьютерная программа может проверить, чтобы подтвердить, что событие произошло на блокчейне, основанном на доказательстве работы, без подключения к сети блокчейна и без загрузки всех заголовков блоков. Например, эти доказательства могут иллюстрировать, что был совершен платеж в криптовалюте.
-
NIPoPoWs позволяют создавать очень эффективные мобильные кошельки. SPV-кошельки уже очень легковесны по сравнению с полными узлами, потому что они требуют загрузки только заголовков блоков, а не всего блокчейна. Кошельки NIPoPoW нужно загружать только небольшую выборку заголовков блоков, около 250, в то время как клиентам SPV нужно загрузить полмиллиона заголовков блоков. Необходимая выборка меняется, но не увеличивается значительно в размере по мере роста блокчейна с годами, даже после накопления десятков лет данных.
Это позволяет нам создать мобильный клиент SPV, который требует загрузки всего около 100 КБ заголовков блоков.
Суперэффективный кошелек Ergo с безопасностью SPV находится в разработке, так что следите за обновлениями!
Share post
13 августа 2025 г.
9 июля 2025 г.
12 мая 2025 г.






