Как подписи Шнорра помогут решить две крупнейшие проблемы Биткойна на сегодняшний день

Как подписи Шнорра помогут решить две крупнейшие проблемы Биткойна на сегодняшний день

Спросите у любого человека из сообщества сети Биткойн, какова наиважнейшая проблема Биткойна, и с наибольшей долей вероятности вы услышите в ответ: «Масштабирование».

Перед тем, как объяснять, что такое подписи Шнорра и как они помогут решить проблему масштабирования, я приведу краткий обзор того, почему эту проблему вообще нужно решать и какие меры принимаются прямо сейчас.

Краткий обзор

За последние несколько лет возникало множество споров о способах масштабирования Биткойна, которые позволят миллионам (а затем и миллиардам) людей использовать эту сеть одновременно и без каких-либо сбоев.

Сегодня сеть Биткойн ещё не способна поддерживать большое количество пользователей. Блоки, которые добавляются в блокчейн примерно каждые десять минут, предлагают ограниченное место для транзакций. Это ограничение создано специально для того, чтобы сохранить основные свойства Биткойна, благодаря которым сеть и становится потрясающей инновацией. Эти свойства — устойчивость к цензуре, децентрализация, неизменность и открытый доступ.

Все биткойнеры выступают за масштабирование сети, но в своих подходах они руководствуются разными приоритетами:

  • Некоторые хотят прежде всего дать больше возможностей как можно большему числу пользователей, чтобы сохранить свойства Биткойна. Они хотят минимизировать вовлечённость третьих лиц и обеспечить консервативное масштабирование.
  • Другие же хотят сделать сеть доступной для как можно большего количества пользователей, с максимально низкими комиссиями и приемлемой на их взгляд безопасностью.

Так как Биткойном фактически никто не управляет, всем вовлечённым лицам (разработчикам, пользователям, майнерам и компаниям) необходимо договориться о способах развития, что, как вы понимаете, представляет большую сложность. Большинство биткойнеров согласны с принятием всех необходимых решений для масштабирования. Основные разногласия возникают касательно времени и порядка их принятия, что оказывает критическое влияние на работоспособность сети.

В результате споров было выдвинуто техническое решение под названием Segregated Witnessкоторое изначально разрабатывалось не как способ масштабирования (хотя оно и создает дополнительное пространство для транзакций), а как трамплин для создания различных инноваций с целью масштабирования. SegWit устраняет давнишний баг в Биткойне, который мешает появлению всех этих инноваций.

SegWit тестируется уже больше года, сейчас он получил поддержку среди широкого круга заинтересованных лиц (разработчиков, пользователей, майнеров и компаний) и вскоре будет внедрён в систему. Это открывает дверь для еще одной инновации — подписей Шнорра, которые будут способствовать последующему масштабированию.

Проблема №1: масштабирование

Для успешного проведения транзакций с биткойнами необходимы подписи. К сожалению, эти подписи обязательно должны храниться в блоках блокчейна.

Проблемы возникают, когда вы хотите отправить транзакции с нескольких адресов на один адрес, ведь для каждой транзакции нужна собственная подпись.

Информация о подписях увеличивает размер транзакции, а, следовательно, и размер комиссии за транзакцию, которую необходимо выплатить майнерам. Вам нужно платить за место, которое могло быть использовано для других транзакций.

В конце концов, если транзакцию с нескольких источников отправляет только один человек, то должна быть возможность делать это только с одной подписью, так? Это и позволяют делать подписи Шнорра.

По предварительным подсчетам это обновление уменьшит количество использованного места и загрузку сети на 25%. Очевидно, что это обновление значительно повысит эффективность сети.

Но это еще не всё

Ещё одно преимущество подписей Шнорра (которое не входит в проблему №2 в этой статье) заключается в том, что они обеспечивают дополнительную защиту.

Некоторые пользователи намеренно используют несколько подписей для отправки транзакций с целью повышения безопасности. Например, для отправки транзакции вам необходимо подтверждение нескольких человек или устройств. Это и есть мультиподписи (MultiSig), которые являются одним из крупнейших преимуществ хранения программируемых денег.

Конечно, вы не хотите, чтобы кто-то узнал об этом. Здесь и приходят на помощь подписи Шнорра, благодаря которым мультиподписи выглядят как обычные подписи.

Проблема №2: спам-атаки

За последние шесть месяцев сеть биткойнов подвергалась бесчисленному количеству спам-атак.

Я называю их спам-атаками, потому что они проводятся с политическими целями. За этими атаками стоят люди, которые отчаянно хотят продвинуть свои идеи по увеличению масштабируемости. В конце мая, как только за закрытыми дверями было принято решение о масштабировании, атаки внезапно прекратились.

Ниже вы можете ознакомиться с графиком пула памяти, содержащим все неподтвержденные транзакции, которые должны быть добавлены в блокчейн в любой момент времени.

1-4mPNEiZv5LJu4UqFaG6i4w

Некоторые люди с надеждой или же в заблуждении считали, что эти всплески неподтверждённых транзакций отражают органический рост, но дальнейший анализ доказывает, что это спам.

Для того чтобы добиться увеличения размера блока, злоумышленники повысили стоимость транзакций с биткойнами на несколько недель, занимая всеми доступными способами как можно больше места для транзакций.

Как можно увидеть на картинке ниже, одним из способов стало внедрение десятков подписей в транзакции путем постоянной отправки транзакций с нескольких источников.

Дальнейший анализ показывает, что каждый источник транзакций появлялся несколькими днями ранее. И это лишь одна из десятков найденных мною транзакций, созданных теми же способами. Вот и пример спам-атаки — блок 470824.

К счастью для нас, подписи Шнорра помогут в  борьбе с подобными спам-атаками. Если для одной транзакции будет необходима только одна подпись, то в блок поместится больше транзакций, и спамерам придется отправлять намного больше транзакций, а следовательно, тратить больше денег, чтобы занять тот же объем пространства. Подписи зачастую занимают большую часть транзакции, поэтому для спамеров такое занятие станет невыгодным.

Если спамер решает не использовать подписи Шнорра и продолжает использовать старые подписи, то другие пользователи, использующие подписи Шнорра, по-прежнему будут отправлять меньшие по объему транзакции и, соответственно, платить меньше. В этом случае атаки всё равно станут дороже, чем раньше.

Стоимость таких спам-атак исчисляется миллионами долларов. Это лишь крохотная инвестиция для обеспеченного лица (лиц), правительства (правительств) или крупной корпорации (корпораций), которые хотят навредить работе сети.

Конечно, некоторым публичным лицам известно больше об этих атаках, но в этой статье я не буду строить догадки. В конце концов, Биткойну необходимо иметь соответствующую защиту от таких атак независимо от того, откуда они совершаются, снаружи или изнутри.

Стоит отметить, что в обоих случаях такая атака получается непродуктивной:

  • Если это атака изнутри, проведённая для достижения собственной цели, то люди не станут серьёзно воспринимать эту цель, потому что атака уж слишком очевидна (это видно на картинках).
  • Если это атака снаружи, проведённая с попыткой нарушить работу сети Биткойн, то она только увеличивает привлекательность сети и доказывает тот факт, что сеть представляет угрозу для централизованных валют.

Оба варианта создают некомфортные условия для пользователей, но, в конце концов, этой проблеме найдется достойное решение, или же у злоумышленников кончатся деньги.

Лично я буду очень рад, если подписи Шнорра будут внедрены в Биткойн после активации SegWit. Как и SegWit, подписи Шнорра полезны, являются обновлением сети, а также трамплином для последующих инноваций, как, например, для CoinJoin, многообещающего решения по повышению безопасности транзакций. Но это уже тема для отдельной статьи…

 

Источник



Categories: Безопасность, Стандарты, Теория, Технологии

Tags: , , , , ,

17 replies

  1. Если подписи уже вынесены из блока — каким образом подписи Шнорра повлияют на масштабируемость?

    • Уменьшая размер witness-data, мы увеличиваем емкость блока.
      Напомню, что с segwit размер блока уже не равен константе 1МБ, а вычисляется по другой формуле. Формулу размера блока можете нагуглить в соответвующем BIP.

      • А вопрос действительно интересный.

        При сегвите блок фактически состоит из двух частей: 1мб блок и witness-data.
        Количество транзакций определяется 1мб. блоком.
        Уменьшая размер witness-data, мы не увеличиваем 1мб. блок.
        Значит, мы не увеличиваем количество транзакций.

        • Я же сказал, что размер блока теперь не равен 1Мб. При segwit максимальный размер блока с учетом witness-data равен 4Мб. Вашему хвалебному segwit2x этого мало, они ставят планку в 8 МБ, вы этого не знали?

          4МБ — это прекрасное начало без хардфорка.
          Подписи Шнорра сыкономят еще места.
          Оффчейн-транзакции увеличат еще пропускную способность.

          А вот городить огород простым, но не дальновидным способом «тупо» увеличить размер блока может каждый.

          Усилия разработчиков Core направлены на то, чтобы максимально выжить из того, что уже есть — и это правильно.

          А если лично вы вложились в китайскую г-монету с 1 единственным майнером (цензором) и ради личной наживы забираете будущую свобода целого общества, толкая интересы не совсем правильных людей, то это не очень о вас говорит.

          Сливайте свои BCH и толкайте интересы всего общества.

          • Оффчейн-транзакции мне не интересны.
            Поэтому ни segwitcoin, ни segwit2x меня уже не интересует. 🙂

            «4МБ – это прекрасное начало без хардфорка.»
            Без хардфорка ???
            Вы что-то пропустили — хардфорк уже произошел. 🙂

            Кто делает правильные вещи, а кто неправильные — время покажет.

  2. А давайте посмотрим факты.
    Подписи Шнорра уменьшают транзакции на 25%, значит увеличивают пропускную способность на 33%.

    Возьмем Сегвит: Увеличение фактического размера блока до 4мб, пропускной способности в ~2 раза.
    Добавляем подписи Шнорра.
    пропускная способность в 2.66 раза.

    Берем обычное увеличение блока до 4мб:
    размер блока 4мб, увеличение пропускной способности в 4 раза.

    2.66 против 4

    Идем дальше. Ничто не мешает внедрить подписи Шнорра (если они действительно хороши) без Сегвита.

    размер блока 4мб, пропускная способность 5,33 раза.

    2.66 против 5.33. С одним и тем же размером данных.

    • все знают , что ты любитель централизации. У тебя уже есть Bcash, иди развлекался. Зачем в чужой огород со своими семенами? Здесь своих агрономов хватает. И да, че воздух потрясать, сегвит то на носу. Или так пучит, что остановиться не можешь?

    • Сегвит внедряют чтобы не увеличивая блок достигать схожих результатов. Вот ты хочешь блок увеличить, а я СегВит внедрить. И сейчас мой лагерь побеждает. Пора переходить к следующими раунда, так как это определено.

    • Специально для Вас, которые стремятся особо не думать на перспективу, а делать как проще и побыстрее — биткоеинКеш. Смело переходите на него. )
      Вот поэтому то и некоторые страны развиваются, а другие стоят на месте или деградируют.

  3. В чем смысл 2-й половины статьи, посвященной спаму?

    Любое масштабирование помогает бороться со спамом.
    Показали, что подписи Шнорра масштабируют Биткоин.
    Зачем расписывать, как подписи Шнорра помогают бороться со спамом. Это же очевидно. 🙂

    Что-то из серии: Этот мост особенно хорош тем, что позволяет перейти на другой берег.

    • Вы весь такой очевидный, прям жуть какой очевидный. Критиковать не статью писать, не нравится сделай лучше. Вот в чем нет смысла, так это в Вашем посте.

  4. Технические детали изложите, пожалуйста.

  5. не написано это хардфорк или софтфорк

    • Несмотря на это, до сих пор не было возможности задействовать схему Шнорра для Биткойна. Другая схема подписи, Алгоритм цифровой подписи на основе эллиптических кривых (Elliptic Curve Digital Signature Algorithm – ECDSA) встроен в протокол Биткойна, и чтобы изменить это, понадобился бы хардфорк.

      И тут вступает в игру Segregated Witness.

      С Segregated Witness все данные подписи убраны в отдельную часть транзакции – свидетельство – отсутствующую в “старом” биткойн-протоколе. И благодаря наличию разных версий скриптов, практически любое правило, касающееся свидетельства, можно изменить путем софтфорка. Включая используемую схему подписи.

Trackbacks

  1. Как подписи Шнорра помогут решить две крупнейшие проблемы Биткойна на сегодняшний день
  2. Как подписи Шнорра помогут решить две крупнейшие проблемы Биткойна на сегодняшний день
  3. Кристаллизируя идею Биткойна

Добавить комментарий