Почему экономическая целесообразность может привести к краху Биткойн

Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»

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



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

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

Атака 51%


В Биткойн-сообществе хорошо известна «Атака 51%». Если майнер контролирует больше половины всех майнинг-мощностей, то он имеет возможность:

  1. Расплатиться своими биткойнами (за товар, услугу) или просто обменять их на привычные деньги.
  2. Начать генерировать блоки, в которые не включена совершенная сделка. Сгенерированные блоки не показывать другим майнерам.
  3. Дождаться получения товара.
  4. Обнародовать сгенерированную им цепочку блоков.

При этом:

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

Сообщество сходится во мнении, что такая атака, будь она осуществима, поставила бы под сомнение дальнейшее функционирование сети Биткойн.

Важно также понимать, что для успешной атаки необязательно контролировать 51% и более мощностей. С некоторой вероятностью она осуществима и с меньшей долей. Например, обладая 30% мощностей, атакующий может с вероятностью ~18% скрытно сгенерировать цепочку из 5 блоков подряд, которая будет длиннее, чем общедоступная. В этом случае атакующий получает те же преимущества, что и при «Атаке 51%». А в случае неудачи он может просто повторить попытку. Большинство сервисов, принимающих платежи в биткойнах, требуют лишь пяти «подтверждений», то есть, такой сгенерированной цепочки будет достаточно.

Адаптация сложности майнинга


После генерации каждых 2016 блоков сеть Биткойн производит адаптацию сложности майнинга. Нормой считается такая сложность, при которой на майнинг одного блока уходит в среднем 10 минут. Таким образом, на вычисление 2016 блоков должно быть затрачено две недели. Если на генерацию ушла, например, всего одна неделя, то после очередного перерасчета сложность будет увеличена в два раза (таким образом, следующие 2016 блоков при той же мощности сети должны будут генерироваться снова 2 недели).

Отметим, что сеть Биткойн программно запрещает изменять сложность майнинга более, чем в 4 раза за один перерасчет.

Прямые следствия из этих правил. Если майнинговые мощности добавляются или выключаются где-то посередине периода из 2016 блоков, то:

  • Это никак не влияет на награду, которую получат оставшиеся майнеры. Награда определяется хэшрейтом майнера, а не его долей в общем хэшрейте. Например, при выключении половины мощности, оставшиеся майнеры добудут в два раза больше блоков, но за вдвое большее время. Прибыль сохранится.
  • Это напрямую влияет на скорость выработки. Если 99% майнеров перестанут майнить, то очередной перерасчет сложности произойдет примерно через 4 года. А время генерации одного блока составит примерно 16 часов.

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

Комиссии за майнинг и свобода воли майнеров


Майнеры помимо награды за блок (эмитируемой валюты) забирают себе также комиссию за проведение транзакций, включенных в блок. Сейчас комиссии составляют примерно 10% от награды за блок. Мы не будем останавливаться на этом подробно, однако по нашим расчётам выходит, что существование комиссий делает исследуемую стратегию майнеров еще более выгодной.

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

Однако политику включения/выключения мощностей, переключения мощностей на майнинг альтернативной валюты (Bitcoin Cash) определяет все-таки распорядитель пула. Иными словами, мы считаем, что описываемую стратегию поведения должны принять и реализовать лишь ~20 участников – владельцев пулов, сами владельцы оборудования хоть и обладают «свободой воли», но не играют роли.

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

Пример поведения майнера при стабильной мощности сети Биткойн


Для простоты допустим, что вы контролируете половину всей мощности сети Биткойн. Вы можете держать оборудование включенным все время и получить награду примерно за 1008 блоков (50%).

А можете сделать следующее:



  1. Дождаться начала очередного периода из 2016 блоков.
  2. Выключить свои мощности.
  3. Подождать, пока оставшиеся майнеры за 4 недели намайнят 2016 блоков.
  4. После этого сеть Биткойн в два раза снизит сложность майнинга на следующий период.
  5. Вы включите свои мощности, это позволит всей сети намайнить 2016 блоков за одну неделю.
  6. Лишь за одну неделю вы получите награду за те же (примерно) 1008 блоков.

Обратите внимание, в первом сценарии за 5 недель обычной работы вы получили бы награду за 5/2*1008 = 2520 блоков, но заплатили бы за электричество за все время. Во втором сценарии за те же пять недель вы получаете награду за 1008 блоков, но платите за электричество лишь за одну неделю.

Предположим, что стоимость электричества составляет примерно 90% награды. Легко посчитать, что прибыль в первом сценарии за пять недель эквивалентна награде за 2520*0.1 = 252 блока, а во втором сценарии “награда – затраты” = 1008 – 0.9*1008/2 = 554.4. То есть, предлагаемая стратегия оказывается в 2 раза выгоднее.

Экономически выгодное поведение майнера при различных параметрах


Пусть:

  • Умный майнер контролирует долю $x$ от общей мощности сети.
  • За все 2016 блоков награда в биткойнах составляет $A$.
  • На работу всего оборудования сети за две недели расходы на электричество и обслуживание составляют сумму $C$. Мы предполагаем, что аренда помещения и стоимость простоя оборудования незначительны. Для простоты мы умышленно не учитываем амортизацию оборудования.

Тогда:

  1. При обычной работе награда майнера составляет $Ax – Cx$ за период в две недели.
  2. Если умный майнер выключает свое оборудование, сеть выработает 2016 блоков за время в $\frac{1}{(1-x)}$ большее.
    Например, если $x = 1/3$, то потребуется в полтора раза больше времени, чтобы закончить работу.
  3. После окончания периода адаптации сложности сетью и включении оборудования умного майнера, сеть выполнит работу в $(1-x)$ раз быстрее задуманных двух недель.
    Например, если $x = 1/3$, то после включения его оборудования потребуется 2/3 обычного времени, примерно 10 дней.
  4. Суммарная длительность двух периодов составит $(\frac{1}{1-x}+1-x)*(2 недели)$;
  5. Таким образом, в обычной ситуации (без выключений) майнеры, работая эти два периода, зарабатывают $P_{обычная работа} = (\frac{1}{1-x}+1-x )*(A – C) = (2+\frac{x^2}{1-x})*(A - C)$
    То есть все майнеры получают чуть более, чем две чистые прибыли за такой вот удлиненный условный период.
  6. Умный же майнер, работающий с выключением, не заработает ничего за первый период, но за второй, более короткий период получит $P_{умный} = Ax – Cx(1-x) = Ax – Cx + Cx^2$
    То есть умный майнер получает одну привычную чистую прибыль и дополнительно экономит долю $x$ от издержек.
  7. Все неотключившиеся майнеры за медленный период заработают $P_{медленный период} = A-C$, а за быстрый период $P_{быстрый период} = A – C (1-x)$, потому что награда та же, а работают они быстрее.

Легко увидеть, что:

  • Если затраты майнера в точности равны его награде (майнер работает с нулевой маржой), то умный подход позволит ему получить чистую прибыль в размере $Ax^2$.
  • Если же майнер работает с бесплатным электричеством (маржа 100%), то при обычной работе он заработает более двух прибылей за период, а при работе с простоем – одну.
  • Выясним, сколько оборудования x надо выключать для максимизации прибыли всех майнеров при марже $M = (A – C)/A$:

    $max_{x}(P_{медленный период} + P_{быстрый период} – P_{обычная работа}) =$

    $max_{x}(A-C + A-C(1-x)\ldots -\ldots(2+\frac{x^2}{1-x})(A-C))$

    $max_{x}(M + M+(1-M)x\ldots-\ldots(2+\frac{x^2}{1-x})M)$

    $max_{x}(\frac{(x-Mx )(1-x)- Mx^2}{1-x})=$

    $max_{x}(\frac{-x^2-Mx+x}{1-x})$

Это выражение достигает максимума при $x = 1-\sqrt{M}$. Например, при $M = 4%$ умным майнерам стоит временно выключить 80% оборудования.

Почему майнеры не используют описанную стратегию сейчас



Рост мощности сети Биткойн. За год мощность сети выросла более, чем в 4 раза (Источник)

Рост сложности сети Биткойн за все время. С января 2016 сложность выросла в 8 раз, как и стоимость биткойна (Источник)

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

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

Рост курса биткойна (Источник)

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

Чем грозит выключение мощностей для майнинга


Когда ввод новых майнинговых мощностей прекратится, майнеры будут смогут применять описанную выше стратегию.

Распределение мощностей Биткойн по пулам (Источник)

Если майнинговые пулы максимизируют собственную выгоду, то при марже в 6,25% следует ожидать выключения до 75% мощностей. Больше оборудования нет смысла выключать, ведь сеть не снизит сложность более, чем в 4 раза.

После этого для проведения «Атаки 51%» злоумышленнику надо либо контролировать более половины оставшейся мощности (что легко осуществимо при текущем распределении мощностей), либо внезапно включить количество оборудования большее, чем работало до этого (что пока неосуществимо с учетом доли самого большого пула).

Возникает вопрос, а выгодно ли атаковать сеть человеку, который инвестировал значительные средства в наращивание майнинг-мощностей? Да, выгодно. При условии низкой маржинальности майнинга стоимость имеющегося оборудования для майнинга также снижается. Иными словами, если майнинг не приносит прибыли, оставаться честным становится невыгодно. Кроме того, атакующий может остаться анонимным, и, помимо прочего, сыграть на понижение цены биткойна.

Атака на Bitcoin Cash


Мы умышленно не рассматриваем ситуацию, при которой быстро и значительно вырастет стоимость электричества, или, что более вероятно, быстро и значительно упадет стоимость биткойнов. В этом случае стратегия майнеров достаточно очевидна. При резких неблагоприятных колебаниях цен все 100% майнеров выключат оборудование. На плаву останутся, разве что, те, кто пользуется бесплатным электричеством. В этом случае работа сети просто остановится – на доработку «двух недель» потребуется время, соизмеримое с жизнью, а невозможность проведения транзакций еще больше опустит цену биткойна.

Буквально на днях в BitcoinMagazine наш коллега проанализировал ситуацию, происходящую с валютой Bitcoin Cash, появившуюся в результате раскола сети Биткойн 1 августа 2017. В новой валюте есть принцип Emergency Difficulty Adjustment. EDA позволяет адаптировать сложность в сети Bitcoin Cash еще чаще, а именно: если за 12 часов было сформировано менее 6 блоков, то сложность снижается на 20%. Автор приходит к выводам, аналогичным нашим, но, что куда важнее, отмечает, что уже сейчас наблюдает манипуляции умных майнеров. Он опасается дестабилизации сети Bitcoin Cash и рассчитывает на скорое вмешательство разработчиков.

Заключение


Мы проанализировали одну из экономически целесообразных стратегий поведения честных майнеров в условиях, когда мощность сети Биткойн прекратит рост. Рассчитали некоторые ключевые параметры такой стратегии и выяснили, что следование ей выгодно для каждого участника в отдельности, но значительно увеличивает риски «Атаки 51%» и потенциально краха системы Биткойн в целом.

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

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

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

Рассчитывать на такой «мирный» итог не приходится. Недавнее разделение цепочки Биткойн на две и образование Bitcoin Cash показывает, что не всегда майнеры могут и хотят решать общие проблемы сообща. Возможно в будущем способность к кооперации станет решающим фактором.
Время покажет, насколько наше теоретическое исследование вяжется с практикой.

Читать также:


Комментарии (119)


  1. Firz
    07.09.2017 19:39

    «Злоумышленник получает награду за все сгенерированные блоки, а не за половину блоков, которые он бы сгенерировал, если бы играл честно и строил общую цепочку;»
    Вот только «все сгенерированные(злоумышленником) блоки» = половине общей цепочки. Просто из цепочки отсеиваются остальные блоки.

    На пальцах: 1 — блок, сгенерированный злоумышленником
    2 — блок, сгенерированный кем-то еще.
    Как выглядела бы цепочка за 2 часа обычной работы системы(очень грубо и приближенно):
    1 2 1 1 2 2 1 2 1 2 1 2
    Как выглядела бы цепочка за 2 часа работы системы, в которой только блоки злоумышленника: 1 1 1 1 1 1.
    Потому что злоумышленник не начнет чаще находить решения для генерации блоков, он просто не будет принимать решения(блоки) от других участников.

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


    1. AlexeyVanilov
      07.09.2017 21:05
      +1

      Это верно, но это же не противоречит ни одному тезису статьи.

      Более того, это же написано ниже:

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


      1. Hardcoin
        07.09.2017 22:00
        +2

        Формально утверждение верное — "получает награду за все сгенерированные блоки, а не за половину". Однако звучит так, будто награда будет выше (вся, а не половина). А это не так — награда будет та же самая (впрочем, об этом в статье упоминается)


      1. Firz
        08.09.2017 09:24

        Если «все сгенерированные злоумышленником блоки» равны «половине блоков, которые он бы сгенерировал, если бы играл честно и строил общую цепочку», то предложение

        «Злоумышленник получает награду за все сгенерированные блоки, а не за половину блоков, которые он бы сгенерировал, если бы играл честно и строил общую цепочку;»
        некорректно, потому что говорит об обратном. Об этом я и написал.


    1. Kaspersky_Lab Автор
      08.09.2017 13:57
      +1

      Спасибо, дополнили.


  1. Firz
    07.09.2017 19:54
    +3

    «Описанная стратегия имеет смысл только при условии, что общая сложность сети не растет. В противном случае, выключение оборудования не ведет к уменьшению сложности и экономически невыгодно.»

    Описанная стратегия имеет смысл если «умный майнер» имеет значимый % от мощности сети и этот «умный майнер» не пул, из которого через ~60 секунд после отключения автоматически все переключатся на другой пул. И что-то мне подсказывает что таких и нету в принципе. А если, теоретически, большая группа «промышленных» майнеров сговорится и начнет такими вещами баловаться, только обвалят курс и останутся вообще в минусе.


    1. Regis
      07.09.2017 19:58

      Именно. Даже если владелец пула захочет максимизировать прибыль и выключит пул, то все майнеры из пула просто начнут работать на другой пул. Может и не через 60 секунд (зависит от клиента), но в течение суток — наверняка.


      Тот редкий случай, когда "Трагедия общин" в некотором смысле работает на пользу общества.


      1. Firz
        07.09.2017 22:17
        +1

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


      1. Mendel
        08.09.2017 10:52
        +4

        Совсем выключать конечно никто не станет. Просто переключатся на какой-то альткоин. Там заработают на всплеске мощности (до пересчета, а «после нас хоть потоп»), здесь заработают на падении мощности (после пересчета). Так что пул вполне может влиять.


    1. AlexeyVanilov
      07.09.2017 21:14

      Майнеры уже балуются, но на курсе это пока не отразилось, а инфляция в Bitcoin Cash уже разогналась.

      Ну и вообще

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


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


      1. Hardcoin
        07.09.2017 21:25

        Не сильно-то и анонимным. 50% хешрейта в кармане не унесёшь, это все-таки крупная закупка оборудования и подключение к электросетям. Да и нет фабрики, которая смогла бы быстро удвоить мощность сети, а значит надо имеющееся оборудование "отжимать". Это либо взлом (не могу оценить риск), либо сила (спецслужбы могут, в теории).


        1. AlexeyVanilov
          07.09.2017 22:08
          +1

          Сорос в 1992 году устроил фунту стерлингов Чёрную среду, ему тоже было нелегко. Но все-таки думаю, что двойную трату битков осуществить на практике можно.

          А насчет 50% хешрейта не согласен. Вот у кого нынче 80% хешрейта Cash'а? Для меня лично загадка.


          1. Hardcoin
            07.09.2017 22:13

            Это не анонимность, это непубличность. Чем больше оборудования, тем труднее его по-настоящему спрятать. Любой китайский прокурор средней руки найдет, полагаю. Хотя это не точно )


            1. AlexeyVanilov
              07.09.2017 22:16

              Согласен.

              Прокурор найдет, если балуется не он сам. Шутка.


              1. Hardcoin
                07.09.2017 22:21
                +1

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


          1. lexore
            08.09.2017 00:46
            -2

            80% от 10% hashrate биткоина? Вас действительно интересуют такие небольшие значения?


          1. reinvent
            08.09.2017 18:14

            Сорос в 1992 году устроил фунту стерлингов Чёрную среду

            Не только фунту, и не Сорос, а Дракенмиллер, но к обсуждаемой теме это никак не относится. Здесь хорошее изложение событий в главе «100 миллионов долларов в минуту»
            scepsis.net/library/id_3008.html


      1. Firz
        07.09.2017 21:49
        +3

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


        1. AlexeyVanilov
          07.09.2017 22:14
          +1

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

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

          В любом случае, в теории же такое возможно? А большего тут и не утверждается.


          1. Firz
            08.09.2017 09:28
            +2

            Да, более того, именно такие «умные пулы» и используются при майнинге небольших форков. Когда постоянно пересчитывается прибыльность майнинга всех форков и на самый выгодный переключаются мощности. Что, кстати говоря, и убивало 90% новых форков.


    1. Kaspersky_Lab Автор
      08.09.2017 13:55
      +1

      С одной стороны, ваш скепсис понятен, мы описывали теоретическую возможность, и не ставили себе целью убедить, что все будет так, как описано. С другой стороны, следующая ситуация кажется нам абсолютно правдоподобной:
      1. Пул не выключает «лишних» майнеров, а просто переводит их на Bitcoin Cash (логично предположить, что там они получают соизмеримый доход).
      2. Лишние майнеры не в обиде и даже не знают, что пул реализует стратегию, ведь он исправно платит им за хешрейт.
      3. Это приводит к расшатыванию одновременно обеих валют. На Bitcoin Cash манипуляции со сложностью хорошо видны уже сейчас, а на Bitcoin мы их вряд ли увидим в ближайшее время – слишком быстро наращиваются мощности.


      1. Firz
        08.09.2017 14:09

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


  1. Hardcoin
    07.09.2017 21:14

    Атака 51% всего лишь означает, что покупать/продавать биткоины на десятки миллионов долларов нужно не анонимно, а по договору. Кидалово с откатом биткоинов ничем в этом случае не отличается от кидалова с неоплатой. Товар получил (с отсрочкой платежа), а платить не стал. Можно вообще договориться оплатить биткоинами на сутки позже и не платить (тот же самый результат, как и с подменой цепочки), такая "атака" вообще недорого будет стоить. Во всяком случае в биткоине сумма, ниже которой атака не страшна, высока. Выше, чем в российских банках (1.4 млн)


    1. AlexeyVanilov
      07.09.2017 22:25

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

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


      1. Hardcoin
        07.09.2017 22:35
        +1

        Это кидалово в другую сторону "битки перевели, товар нет". 51% — это про другое направление — "товар перевели, битки нет". Биткоин по умолчанию защищает именно от второй схемы, т.е. защищает продавца товара, а не покупателя.


        А не платить, конечно, можно. Просто не платить ). Это так задумано, что передумать нельзя. Сделать криптовалюту, где можно забрать свои деньги обратно — легко. Но кто вам за такую криптовалюту что-то продаст?


  1. Hardcoin
    07.09.2017 22:09

    Прочитал схему. Выглядит рабочей. С выводами статьи не согласен — если можно договориться, то получается централизованная система. Можно, действительно, поставить один сервер, сажать "левых" майнеров за "подделку биткоинов", да и вообще таких валют, где договорились, на планете сотни. Биткоин — это попытка сделать систему, которая работает, даже когда не договорились. То, что они будут качать сложность — приемлемая плата (хотя кто-то придумает решение, полагаю)


    1. AlexeyVanilov
      07.09.2017 22:28

      То, что они будут качать сложность — приемлемая плата

      Если качать сложность можно, то качать будут (в теории, разумеется). А раскачка приводит к расшатыванию (риски увеличиваются). А чем закончится, не важно.


      1. Hardcoin
        07.09.2017 22:36

        Кому не важно? Вы тратите миллион долларов на оборудование и вам не важно, что будет с сетью через полгода? Да вряд ли.


        1. AlexeyVanilov
          07.09.2017 22:43

          Да не. Мне не важно.

          Время покажет, насколько наше теоретическое исследование вяжется с практикой.

          Майнерам-то как раз важно.


  1. ImNotARobot
    08.09.2017 01:03
    +1

    Было интересно, спасибо


  1. lexore
    08.09.2017 01:55
    +14

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


    История финансовых кризисов 20 и 21 веков показывает, что для этого даже сговора не нужно.
    Валюты государства подвержены "атаке 100%", т.е. правительство просто контролирует курс и может играться с ним в очень широких пределах (обычно, вниз).
    Ценные бумаги подвержены огромному списку воздействий, иногда даже случайных.
    В ноябре 2013г. банк Тинькова потерял в капитализации 1 млрд $ из за опечатки в законе.
    Кстати, это не первый случай, например аж в 1872г. США недополучило 500 тыс $ из за запятой в законе.
    ОПЕК играли с курсом нефти в 1973 — вызвали кризис в США.
    Банки США играли с ипотечными кредитами до 2008 г., доигрались.
    Один саудовский принц обрушил цены на нефть на всей планете — "помог" уполовинить курс одной валюты на букву ?.
    И ежедневно на всей планете происходят спекуляции на курсах всех валют и бумаг, исключительно из экономической целесообразности.
    Где статьи "бомба фьючерсов"?


    И это ещё даже не про сговор крупных игроков.
    1% населения планеты владеет примерно 50% всех денег.
    Как думаете, насколько легко представителям этого процента сговориться и уронить курс любой валюты или ценной бумаги?


    И на фоне этого вы рассказываете про гипотетические уязвимости под заголовком "Бомба Сатоши".
    Смешно, извините — гипотетическая бомба рядом с полем, где постоянно что-то грохочет и все сидят, как на минном поле.
    Суть в том, что p2p криптовалюты выросли на этом грохочущем поле.
    Они прекрасно себя чувствуют в ситуации, когда никто никому не доверяет и все готовы что-то урвать.
    Им не нужно ни валютное регулирование, ни федеральная резервная система, ни золотой запас.


    И ещё один момент.
    Не подумайте чего плохого, я верю вашему исследованию, описанные вами сценарии вполне вероятны.
    Но ваши исследования и выводы несколько неполны — у вас нет такого же подробного рассмотрения возможных реакций сообщества майнеров.
    Просто, вполне вероятно, что кто-то будет долго готовить атаку, атакует… а сообщество отреагирует и откатит все последствия за сутки, как это было с 92 млрд биткоинов.
    Вот и вся бомба будет.


    1. geher
      08.09.2017 08:42
      +1

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


      1. Cryvage
        08.09.2017 11:31
        +3

        Серьезная атака самим своим фактом подорвет доверие к валюте на долгое время вне зависимости от успешности ответа остальных майнеров.

        Атака, о которой много говорили заранее, и которой всех пугали. Если она произойдёт, а сообщество, вдруг, справится с этим вызовом без особых проблем, то это приведёт наоборот к бурному росту курса. Точнее будет так: сначала будет паника, и курс просядет, а после этого курс быстро восстановится, и начнет брать новые высоты.
        В качестве живого примера, посмотрите что произошло, в момент рождения Bitcoin Cash. Сначала курс Bitcoin просел, из-за страхов перед разделением. Потом быстренько восстановил потери. И буквально через месяц уже вырос в два раза от прежних максимумов.


    1. impetus
      08.09.2017 12:56
      +1

      ОПЕК играли с курсом нефти в 1973 — вызвали кризис в США.
      Есть вполне правдоподобная точка зрения, что там всё-таки «война судного дня» сыграла решающую роль, а не игры ОПЕК (в частности такой эпизод этой войны как прекращение работы Суэцкого канала).


    1. dark0n01
      08.09.2017 13:55

      «а сообщество отреагирует и откатит все последствия за сутки, как это было с 92 млрд биткоинов»…

      Ох, сомневаюсь. Сообщество пока договорится как реагировать, пол года пройдет


  1. sic
    08.09.2017 07:47
    -1

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

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


  1. feligz
    08.09.2017 08:41
    +2

    Пока эксперты ждут крах биткоина, другие люди зарабатывают на его росте )…


    1. geher
      08.09.2017 08:47
      +2

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


      1. VolCh
        08.09.2017 09:35
        +2

        А лучше осуществить крах в наиболее подходящее время.


      1. Labunsky
        08.09.2017 18:25

        Только зачем выходить из игры, если можно взять их под залог и зашортить?)


  1. sbh
    08.09.2017 09:26

    Смысл все это обсуждать если толком никто ничего не знает что и как будет дальше?


  1. petrovichtim
    08.09.2017 09:47

    производители договариваются и публично уничтожают часть товара (по крайней мере, так было в Средние века)
    так делают и по сей день. В США например выливали молоко в реки во время великой депрессии и голода.


    1. sumanai
      08.09.2017 16:02
      +4

      по сей день

      во время великой депрессии

      Как там, в 1930?


  1. vics001
    08.09.2017 10:06
    +4

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

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


  1. assad77
    08.09.2017 10:40

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


    1. sasha1024
      08.09.2017 11:25

      Не понял, при чём тут задача о заключённых.


      1. assad77
        08.09.2017 11:27

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


        1. sasha1024
          08.09.2017 12:27

          Так вот как именно она сводится?


          1. assad77
            08.09.2017 13:06
            +2

            Извиняюсь, мне казалась что аналогия очевидна.
            и там и там есть две стратегии
            1. продолжать майнить==выдавать
            2. задержать чтобы получить выгоду == не выдавать.
            в первом случае равновесие не нарушается, потому что
            если майнинг не остановишь, то при любом поведении других участников ты свое получишь, по аналогии при любом действии другого преступника ты получишь не более чем 3 года.
            во втором случае если ты прекратишь майнить, то потеряешь деньги за майнинг, а актиные майнеры их получат, те теряешь всё. по аналогии не выдашь опонента а он тебя выдаст — сядешь на 10 лет, те теряешь всё.
            таким образом первое является равновесным по Нешу.
            второй исход тоже возможен, но в том случае если чтото измениться. но не может произойти из-за одного игрока.
            второй исход возможен в случае паники, когда равновесным будет избавляться от всех денег, что тогда и сделают все.
            отличную демонстрацию подобного увидеть в лекции Саватеева здесь
            www.youtube.com/watch?v=sSYeVMXVhcc
            с 29 минуты Задача о Турникетах.
            я в принципе тоже думаю, что рано или поздно биткоины и эфир рухнет и прочее, но скорее всего это будет по сценарию описанном в задаче о Турникетах.
            но тем не менее, это только мои домыслы, я уверен, что точной математическо-экономической модели для биткоинов, описывающей все процессы нет. есть модель которая описывает текущее состояние, когда ситуация стабильна, пока он подтверждается практикой, но что будет при возникновении паники сказать трудно, и не исключен вариант, описанный в задаче о турникетах


            1. sasha1024
              08.09.2017 13:58

              .


            1. sasha1024
              08.09.2017 14:12

              В отличие от задачи заключённых, в случае биткоина:

              • диапазон возможных вариантов больше (можно майнить на 22,724% от своих мощностей);
              • поправьте, если я ошибаюсь, но, вероятно, майнер может оценивать майнинг остальных майнеров (если не каждого в отдельности, то по крайней мере общемировую сумму) в процессе.


              Таким образом, выключая свои мощности не полностью (минимизируя риски в случае срыва договорённости) или на короткое время и наблюдая за другими участниками, можно постепенно договориться. Т.е. как: если я и ещё два участника, у каждого по 25% мировых можностей, договорились на этой неделе каждый установить свою мощность не 100%, а N% — я в течение минимального отрезка времени в начале недели блюду договорённость, а потом проверяю действия остальных участников, и если не соблюли, то разрыв. Можно договориться не на всю неделю выстывить можность N%, а постепенно (с оговоренными темпами) её понижать — если я вижу, что остальные участники не понизили до оговоренного в данный момент уровня, то тут же разрыв (или по крайней мере я оставляю свою можность на экономически выгодном для меня уровне, не понижая значительно ниже, чем у конкурентов).


              1. assad77
                08.09.2017 14:44

                Задача о заключенных легко масштабаруется с 2 до N, не меняя своего смысла.
                таким образом ничего не меняется.
                да можно договориться, но со всеми похоже не договоришься. на самом деле можно круче договориться. сразу считать, что биткоин — не стоит ничего и забить и не майнить — тогда все развалится сразалится сразу, но почему то этого не произошло. да в архитектуру экономическую биткоина заложено, что не будет сговора, если же он произойдёт, то все пофейлится. но пока всё работает и нет видимых причин, ПОКА, чтобы что-то поменялось. значит модель заложенная в биткоин пока работает.

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


                1. sasha1024
                  08.09.2017 14:53

                  Основное отличие не в количестве (чего, кстати, 2 и N — это что у Вас: варианты решения или количество участников?), а в том, что в случае задачи о заключённых у Вас одна игра, а в случае майнинга биткоинов у Вас огромная серия игр (Вы каждую секунду решаете, насколько включать мощность) и проигрыш/выигрыш в сражении ещё не означает проигрыш/выигрыш в войне. Благодаря огромному количеству промежуточных вариантов Вы можете вступать в договорённости так, чтобы Ваши риски были не очень большими, а благодаря огромному количеству игр прогнозировать действия других участников.


                  1. assad77
                    08.09.2017 15:00

                    n игроков, а варианта 2, честно/нечестно.

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


                    1. sasha1024
                      08.09.2017 15:04
                      +1

                      n игроков, а варианта 2, честно/нечестно.
                      Ну тогда это вообще ни при чём.

                      но постепенно договориться без прямого сговора
                      Эмм, как раз с прямым сговором. Просто, в отличие от задачи заключённых: (а) благодаря огромному колиству вариантов риск не такой большой (ты можешь не ставить сразу всё под удар, а проверить компаньона на «вшивость»); (б) благодаря огромному количеству игр… ну тут я уже говорил.


                      1. assad77
                        08.09.2017 16:22

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


                        1. sasha1024
                          08.09.2017 16:58
                          +1

                          ну так и в задаче заключенных так же
                          Что так же-то?!!
                          • Тоже дохрена возможных значений параметра? Нет, только два.
                          • Тоже возможность оценивать действия других игроков в процессе игры и менять значение своего параметра по ходу? Нет, такого нету.
                          • Тоже не одна игра, а серия игр, и незначительная финансовая потеря в одной игре может дать лучшее знание конкурента и соответственно значительную прибыль в следующей? Нет, и такого нету.

                          Вот, кстати, mayorovp намекает, что даже в задаче о заключенных, при её обобщении на случай, когда игр — много или даже бесконечно, игроки вполне себе договариваются.

                          если бы атака была осуществима её бы уже осуществили
                          Из статьи:
                          • Почему майнеры не используют описанную стратегию сейчас? Рост мощности сети Биткойн. За год мощность сети выросла более, чем в 4 раза. Описанная стратегия имеет смысл только при условии, что общая сложность сети не растет.
                          • Bitcoin Cash… что уже сейчас наблюдает манипуляции умных майнеров


                          1. mayorovp
                            08.09.2017 17:01

                            Вот, кстати, mayorovp намекает, что даже в задаче о заключенных, при её обобщении на случай, когда игр — много или даже бесконечно, игроки вполне себе договариваются.

                            Поправка: только когда игр — бесконечно. Или когда их конечно, но игроки не знают какая из игр — последняя.


                            1. sasha1024
                              08.09.2017 17:28

                              Ну, так это как бы и кейс. Каждые 2016 блоков (~ 2 недели), от переоценки сложности майнинга до переоценки сложности майнинга, можно считать отдельной игрой (ну или в крайнем случае группу нескольких последовательных периодов), и сколько их будет — никто не знает.


                          1. assad77
                            08.09.2017 18:32

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

                            то что описанная стратегия иммет смысл только в том случае что общая сложность не растёт — это ерунда. не видно никакой причинно следственной связи между применимостью этой стратегии и ростом или даже падением. важнее количество. пока много — тяжело сговориться мало — легче.
                            в bitcoin cash майнеров меньше критического порога. что как бы намекает, что проблема скорее в том что оттуда начнут уходить майнеры.
                            по поводу mayorovp конечно есть такое. еще раз. в теории игр используются модели, которые так или иначе описывают систему. модель не является системой. в настоящее время да и в ближайшем будущем больше подходит модель, в которой майнеры не договариваются. это подтверждается практикой сейчас. это происходит в том числе и потому, что майнеры не заинтересованы в сговоре, тк они компроментируют систему, в которой они имеют bitcoin's, ether and etc… и эти деньги потеряют.но как только они перестанут ценить эти деньги, то попытаются от них быстро избавиться как только это произойдёт коины начнут резко падать, майнеры уходить, и тогда только станет доступна атака по сбрасыванию стоимости майнинга, но я боюсь что в таком случае она уже будет никому особо неинтересна, тк биткоины обесценяться и никто этим заниматься не будет.

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


                            1. BeppeGrillo
                              09.09.2017 14:57
                              +1

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

                              Достаточно чтобы договорились 3 человека: владельцы крупнейших пулов


                            1. sasha1024
                              10.09.2017 15:38

                              Или я где-то ошибся, или майнеру, имеющему долю более приблизительно 10%-15% от мировой вообще не нужно ждать остальных — сама только эта доля (при затратах на электроэнергию в 90%, как в статье) делает майнинг с перерывами более выгодным, чем постоянный майнинг на пике своих мощностей.


                  1. mayorovp
                    08.09.2017 15:05

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


                    Основное отличие — не в количестве и не в продолжительности, а в том что решение "майнить-не майнить" применяется к миру в целом, в то время как "выдать-не выдать" применяется к каждому сопернику индивидуально.


                    1. sasha1024
                      08.09.2017 15:18

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

                      к миру… индивидуально…
                      Не совсем. Хотя решение «майнить или не майнить» я принимаю сразу для всех — но разные игроки могут в этот момент быть в разных позициях. Например, Вася убеждает меня поменьше майнить в сентябре, а в начале окрября резко поднять обороты, а Федя — наоборот, не майнить в октябре; и каждый из них говорит, что он уже «со всеми остальными пацанами договорился». Но про одного из них я знаю, что он п@#$%н, а вот тестовые совместные понижения мощности, про которые оповещал ранее другой, проходили достаточно успешно.


                      1. mayorovp
                        08.09.2017 15:23

                        Что значит — "не совсем"? Ваша ситуация ничем не противоречит сказанному мной.


                        Да, вы знаете что Вася — ктототам, но вы никак не можете "наказать" его не "наказывая" при этом всех остальных.


                        1. sasha1024
                          08.09.2017 15:25

                          Ну, ок, тогда принято.


        1. BeppeGrillo
          08.09.2017 13:55
          +2

          В задаче о заключённых есть такой пункт:

          • Заключённые не могут видится

          Это значит что они не могут договорится.
          Майнеры могут


  1. deniskreshikhin
    08.09.2017 11:11
    -1

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


  1. reilag
    08.09.2017 11:17
    -3

    В Биткойн-сообществе хорошо известна «Атака 51%». Если майнер контролирует больше
    половины всех майнинг-мощностей, то он имеет возможность:
    1. Расплатиться своими биткойнами (за товар, услугу) или просто обменять их на привычные деньги.

    При чем здесь первый пункт к тому что у майнера есть 51%?
    Я и не имея ни каких мощностей могу обменять свои биткоины на товар/деньги


    1. Cryvage
      08.09.2017 11:41
      +4

      Это первый шаг алгоритма. Тратим битки, покупая товар. Параллельно генерируем альтернативную цепочку блоков. После получения товара, подменяем цепочку, согласно которой мы битки не тратили, а продавец ничего не получал.


  1. Busla
    08.09.2017 14:57
    -2

    внезапно включить количество оборудования большее, чем работало до этого (что пока неосуществимо с учетом доли самого большого пула).


    Совершенно неочевидная логика: почему только существующие майнеры принимаются во внимание?
    Есть такое понятие — «тёмная сторона интернета» — внутренние сети/вычислительные мощности правительственных и коммерческих организаций. Тёмная она потому что никто даже приблизительно не знает их размеров и возможностей.


    1. mayorovp
      08.09.2017 15:11
      +2

      «Тёмной стороной интернета» обычно называют несколько другое — находящиеся неизвестно где сервера, доступные только через TOR или I2P. И их вычислительные мощности как раз сравнительно невелики — потому что они отнюдь не мощностями меряются.


      1. Busla
        09.09.2017 12:59

        Это уже нео-романтики приспособили старый красивый термин модным современным веяниям.

        Традиционные облачные сервисы, это такие же «находящиеся неизвестно где сервера». Того, что Яндекс и Гугл не индексируют ресурсы по альтернативным протоколам не делает их какими-то особенно тёмными :-)


    1. sumanai
      08.09.2017 16:06
      +1

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

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


      1. Busla
        09.09.2017 13:18

        Откройте любую диаграмму распределения потребителей электроэнергии — ЦОДы прячутся в каком-нибудь узеньком секторе «прочая деятельность». На фоне ТЭЦ и металлургии их вообще не видно, как по энергозатратам, так и по теплоотдаче.


        1. sumanai
          09.09.2017 14:48
          +2

          Если открыть диаграмму «Потребление электроэнергии в США», то да, там заметить невозможно. Но при детализации по районам ЦОД вполне выделяется на фоне жилых кварталов. А уж датацентр АНБ выделяется как половой орган последи лба, так как потребляет больше энергии, чем соседний городок.
          Что частные корпорации, что правительственные организации, даже АНБ, используют обычные процессоры и прочие комплектующие, производящиеся на тех же заводах, что и комплектующие для обычных людей. Производительность их линий вполне можно посчитать.
          Плюс кроме самой работы их нужно произвести, закупить и привезти, установить и обслуживать. В этих процессах будет задействовано большое число людей.


          1. Busla
            09.09.2017 15:11
            +1

            То, что отдельный ЦОД АНБ не спрятан, совершенно не говорит о том, что нет других, замаскированных/разделяющих нагрузку/работу/теплоотдачу с АЭС, ТЭЦ, литейным производством.
            Что у подобных организаций исключительно мощности обывательского назначения, а не специализированно криптографического — IMHO более чем сомнительное предположение.


            1. sumanai
              09.09.2017 17:24

              Деньги, деньги откуда на всё это взять? Куча уже известных проектов выжирают почти весь немаленький бюджет АНБ. Один тот ЦОД «для отвода глаз», как вы считаете, скушал 1,5 млрд баксов только на постройку, и кушает ещё по 40 лямов в год только на электроэнергию. Даже с бюджетами АНБ на подобную конспирологию у них банально не хватит денег.
              Я уж молчу про то, что вы никак не опровергли ни человеческий фактор, ни фактор масштаба, необходимого на скрытие подобной деятельности, ни отсутствие персонализированных производств для их тайных суперпроцессоров, ломающих SHA256 как орехи.


  1. Laryx
    08.09.2017 16:44

    На мой взгляд, ключевым моментом является «возможность договориться».

    Но, в данном случае это эквивалентно просто договору внутри ФРС США для доллара или ЦБ РФ для рубля. На том и держатся криптовалюты, что договориться невозможно, по крайней мере, пока. Поэтому данный сценарий — выглядит утопическим.


    1. AlexeyVanilov
      08.09.2017 18:07

      В статье написано прямо противоположное.

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

      Перечитайте хотя бы Заключение.


  1. AlexBin
    08.09.2017 18:26

    Правильно ли я понимаю атаку 51?

    Необходимые требования:
    1. иметь мощность сети 51%+ (для 100% шанса ведь нужно 51%, да?).
    2. иметь на кошельке столько валюты, чтобы эта атака стала выгодной даже с учетом падения курса после успешной атаки
    3. иметь продавца товара, который согласится осуществить такую крупную сделку (охрененно крупую) анонимно, чтобы его собственно и кинуть в альтернативной цепочке

    Все так? Если да, то:

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

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

    Третий пункт: какую сделку и с кем нужно совершить, чтобы осуществить атаку? Купить остров не предлагать, я домосед.


    1. mayorovp
      08.09.2017 19:20
      +1

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


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


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


      Кроме того, все еще больше упрощается если мощности — чужие, а атакующий просто взломал несколько пулов.


      И да, по поводу сделки, тут все просто. Надо продавать биткоины на бирже.


      1. AlexBin
        08.09.2017 19:29

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

        Если же это взломанные пулы, то нужно взломать сразу несколько крупных пулов, так? Можно ли в таких пулах управлять поведением майнеров?


        1. mayorovp
          08.09.2017 19:36

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

          Это если приходит кто-то новенький и начинает атаковать биткоин. Но обычно рассматривается возможность атаки кем-то из уже действующих майнеров.


          Если же это взломанные пулы, то нужно взломать сразу несколько крупных пулов, так? Можно ли в таких пулах управлять поведением майнеров?

          А в чем проблема?


          1. AlexBin
            08.09.2017 19:47

            Но обычно рассматривается возможность атаки кем-то из уже действующих майнеров.

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

            А в чем проблема?
            Не вижу технических препятствий. Я просто не знаю в подробностях, как работают пулы. Знаю только их назначение. Поэтому и спросил.


            1. Labunsky
              08.09.2017 20:18

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


  1. AlexeyVanilov
    08.09.2017 19:37

    AlexBin, вы спрашиваете конкретно про биткоин? Для биткоина в вакууме эта атака маловероятна, никто не спорит.

    Для других валют поменьше атака осуществлялась в прошлом.

    В этом посте обсуждается, как вероятность атаки на биток можно повысить.mayorovp дополнительно привел другие полезные «техники», типа продажи заранее или аренды.


    1. AlexBin
      08.09.2017 19:49
      +1

      Да, извиняюсь, я спрашивал про биткоин, конечно же. Спасибо за ответы.

      То есть, получается, что атака в принципе возможна, если получить управление несколькими пулами.


      1. AlexeyVanilov
        08.09.2017 20:39

        Ага. Об этом, кстати, более подробно в статье того же автора в Мифе 5.


        1. AlexBin
          08.09.2017 23:24

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


          1. AlexeyVanilov
            08.09.2017 23:49

            Просто сначала придумали Proof-of-Work, а только потом — Proof-of-Stake. По мне, ничем не плох.

            Кстати, об этом есть в другой статье того же автора в Мифе 4.


            1. AlexBin
              09.09.2017 00:17

              Просто сначала придумали Proof-of-Work, а только потом — Proof-of-Stake.
              Не очень понял, как метод распределения награды за блок связан с типом пруфа. Пускай консенсус так же достигается майнерами, которые так же доказывают свои права на участие (работой/долей/авторитетом). А награда бы давалась многим участникам, независимо от их хешрейта/доли или чего-либо еще. А список победителей бы определялся псевдослучайно на основе хеша полученного блока, например, или еще чего-то, что выясняется в момент перед закреплением блока.

              Недостатки PoS меня больше огорчают, чем недостатки PoW. Хотя и от PoW я не особо в восторге.


              1. AlexeyVanilov
                09.09.2017 00:31

                Не, можно проводить эмиссию просто так, как в лотерее, но только зачем?

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

                Консенсус и награда связаны очень сильно в публичных блокчейнах.


                1. AlexBin
                  09.09.2017 00:34

                  Я сам себе ответил ниже на секунду позже, чем Вы))

                  Однако, неужели нет методов размазать эту награду до такой степени, чтобы отпала необходимость в пулах?


                  1. VolCh
                    10.09.2017 11:19
                    -1

                    Навскидку можно уменьшить количество работы, необходимой для получения награды на несколько порядков. Грубо, чтобы средненький комп за 24 часа почти гарантировано получал что-то.


              1. AlexBin
                09.09.2017 00:32

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


  1. sasha1024
    08.09.2017 22:07

    Смотрите, есть такая задача.

    Дано:
    Допустим, я владею k-ой частью майнящих мощностей в мире.
    Допустим, я знаю, что оставшаяся (1?k)-ая часть мощностей мира надёжно сговорилась между собой на один из периодов (имеется в виду период между двумя переоценками сложности сетью) уменьшить свою мощность так, чтобы использовалась только r-ая её часть (т.е. от (1?k) до (1?k)?r). Я не могу на них никак повлиять, могу только уменьшить свои мощности вместе с ними (предположим, отключить полностью) на этот один период или просто майнить как и раньше на все 100% от k.
    Моё соотношение затрат на электроэнергию к доходу от майнинга составляет e.

    Найти:
    При каких r, e, k мне выгодно на этот период отключать мощность, а при каких не выгодно?

    Я решить не смог.
    Вроде, выгодно отключать, если выполняется неравенство:
    (r ? kr ? e(r ? kr)?)(1 + (k + r ? kr)?) ? (1 ? e + k + r ? kr ? e(k + r ? kr)?)(1 + (r ? kr)?).
    — но хотелось бы получить зависимость k от r и e, то есть какой частью мировых мощностей мне надо обладать, чтобы было выгодно «включаться в игру» при заданных r и e.


    1. Vjatcheslav3345
      09.09.2017 15:39

      Решения были такими?:


      f(e)= - e(r-kr+k)^2+r-kr+k-e+1;
      e >= - e(r - kr + k) + r - kr + k - e + 1;


      1. sasha1024
        09.09.2017 17:04

        Честно — я до этого не дошёл.
        Руками я дальше написанного аналитически решить не смог.
        В Mathematica (offtop: был очень приятно удивлён, что она теперь фактически бесплатно доступна онлайн; раньше был только куцый Wolfram Alpha, который только на поиграться, а любое более-менее сложный запрос не знает как парсить; а теперь — прямо notebook'и онлайн) порисовал графики, но каких-либо вменяемых выводов из них для себя сделать не смог.
        Что Вы подразумеваете под f(e)?


        1. Vjatcheslav3345
          09.09.2017 18:04

          е — это Ваше отношение затрат на энергию к доходу а f — функция от этого соотношения для, т. е. то выражение, которое справа от "=", определяющее соответствие k, r и e (для у=1/e это будет выражение у = -(r-kr+k)^2+r-kr+k).
          Я графики не строил.
          Графики надо было рисовать трехмерными, поочередно применяя каждый из показателей в качестве "высоты", затем рассматривая получившийся "рельеф" — его формы и размеры и записывать выводы текстом. Обычно, чтобы просто сообразить, что даёт максимизация/минимизация одного показателя нужно сделать его "высотой" и посмотреть, где будут лежать впадины и пики на поверхности.


          1. sasha1024
            09.09.2017 18:24

            я всё-таки не понял, что конкретно возвращает f(e).


            1. sasha1024
              09.09.2017 19:24

              … а f — функция от этого соотношения для [?], т. е…
              — похоже, как будто кусок описания пропал (самый важный, после «для», поясняющий, что же это собственно за функция).


              1. Vjatcheslav3345
                09.09.2017 20:27

                f(e) — это математическое описание а не код — в таком виде она ничего не вернёт.
                после "для" стояло "всех трёх переменных".


                1. sasha1024
                  09.09.2017 20:29

                  Ну значение-то этой функции что собой олицетворяет?


                  1. Vjatcheslav3345
                    09.09.2017 20:57

                    Написав f(e) я имел в виду что функция задана на множестве значений е. f(e) — это математическая запись сведений о том множестве, на котором задаётся функция.
                    В нашем случае это от 0 до 1 — т. е. от пренебрежимо малого соотношения затрат/результата до случая, когда е=1 и дальнейший майнинг не имеет экономического смысла. Так как у нас е имеет конкретный экономический смысл, выраженный соотношением, то чисто математическую область множества значений ещё более сузим, ограничим диапазоном [0;1].
                    Значение нужной переменной получают как обычно в алгебре — вынеся нужную зависимую переменную по одну сторону от "=" и тогда с другой в получившимся выражении остаются оставшиеся независимые переменные.


                    1. sasha1024
                      09.09.2017 20:59

                      Я понимаю, что такое e. Я понимаю, что оно от 0 до 1.

                      Я не понимаю, что именно Вы обозначаете как f.


                      1. Vjatcheslav3345
                        09.09.2017 21:17
                        -2

                        f(e) — традиционная математическая запись обозначения функции (и вариантов записать функцию в математике куча, например f(e) свободно можно писать и как "dom f" и как "f: е-->y"), в школе так же записывали:
                        f(х) = 2х+4у или f(х) = sin(x).


                        1. sasha1024
                          09.09.2017 21:39

                          Мы как будто на разных языках разговариваем.

                          Какой? Какой функции? Что именно, какую величину Вы пытались обозначить f(e)?


                          1. Vjatcheslav3345
                            09.09.2017 21:58
                            -2

                            Да никакая это не реальная величина — это просто условное обозначение в математике, говорящее, что перед вами — какая то математическая функция f, заданная на е. Оторвите f(e) от выражения, выбросьте, да и всё — беспокоится о её потере не нужно: это не значение выражения и не переменная а просто пометка о том, что выражение через знак "=" является математической функцией.


                            1. sasha1024
                              09.09.2017 23:44
                              +1

                              Мда, какой-то разговор глухого со слепым получается :(.

                              Я так и не понял, что конкретно Вы в данном конкретном случае обозначили через f(e) и, главное, зачем — какой Вы смысл в это вкладывали. Ладно…


                              1. Vjatcheslav3345
                                10.09.2017 10:49
                                -2

                                f(e)= — e(r-kr+k)^2+r-kr+k-e+1 — смысл того что обозначает f(e) написан справа от "=".
                                Посмотрите на привычный школьный пример f(х) = sin(x). Там справа функция-синусойда а слева что?..
                                Если задаться Вашим вопросом о том что обозначено f(х) в случае с синусойдой — то можно сказать что функция-синусойда находится на самом деле справа а слева — просто информационные сведения о том что это именно такая абстрактная математическая сущность как функция с определенной областью задания функции е, а "f(х)" как условное обозначение синусойды можно смело подставлять в какое нибудь аналитическое уравнение вместо самой синусойды. Этим сведениям нельзя сопоставить какое то конкретное значение — аналитическое уравнение функции приобретает численное значение только при разделении переменных на зависимую и независимые.
                                Так как синусойда — это функция одной переменной, то разделять на зависимую и независимые переменные не нужно и обычно сразу подставляют х и находят значение.
                                е — как область задания была выбрана из чисто прагматических соображений, потому что нужна была зависимость нескольких переменных именно на области в которой находится отношение е = затраты/расходы.


    1. sasha1024
      10.09.2017 15:32

      Чтобы не уподобляться собеседнику, который что-то сказал, но потом так и не объяснил, что он имел в виду, на всякий случай поясню, что я имел в виду…

      Допустим, процесс майнинга стабилизировался:

      • Генерация каждых 2016 блоков стабильно занимает время T. Поскольку абсолютное время не важно, T всё равно сокращается — считаем, что T=1.
      • Вася Пупкин, имеющий в своём распоряжении k-ую часть мировых майнящих мощностей (k?[0; 1]), за каждый 2016-блоковый период (между двумя переоценками сложности) стабильно получает выручку I T, но тратит на электроэнергию E T. Поскольку абсолютные значения I и E не важны, важно только соотношение между ними e=E/I (e?0), считаем, что I=1, E=e.


      И тут Вася узнаёт из надёжных источников, что оставшаяся ((1?k)-ая) часть мирового сообщества в один из циклов (между двумя переоценками сложности) временно понизит свои мощности с (1?k) до (1?k) r (где r?[0; 1]). В ответ он решает на тот же период понизить свою мощность с k до k m (где m?[0; 1]).

      Получается:
      • Прибыль Васи за обычный цикл составляет (I?E) T = 1?e (при этом проходит время T=1).
      • В период, в котором все решили понизить мощности, всё выглядит следующим образом:
        • Из-за понижения мировых мощностей с k+(1?k)=1 до k m+(1?k) r, длительность периода удлиняется с обычных T=1 до T' = T/(k m+(1?k) r) = 1/(k m+(1?k) r).
        • Поскольку Вася и сам срезал свои мощности с обычных k до k m, то его прибыль составит соответственно (I?E) T' m вместо (I?E) T', то есть m (1?e) / (k m+(1?k) r).
      • Сразу следующий за ним следующий период, в котором все снова восстановили свои нормальные мощности, выглядит следующим образом:
        • Во-первых, из-за падения мощностей в прошлом периоде, произошла переоценка сложности. Соответственно, доход Васи за единичный период времени будет составляють уже не I, а I'' = I/C = 1/C, где C?[0; 1] — отношение новой сложности к обычной. Про C поговорим позже.
        • Хотя мировые мощности вернулись на обычный уровень, из-за переоценки сложности время периода теперь составляет T'' = T C = C.
        • Соответственно прибыль Васи теперь за этот период составит (I''?E) Е'' = (1/C?e) C =1?e C.


      Соответственно, прибыль Васи за период понижения мощностей и последующий период составляет m (1?e) / (k m+(1?k) r) + 1?e C. Однако неверно просто считать прибыль безотносительно к потраченному времени, интересна прибыль, делённая на время, потраченное для её получения: (m (1?e) / (k m+(1?k) r) + 1?e C) / (1/(k m+(1?k) r) + C) (обозначим это через p(e, k, r, m)).

      Соответственно, интересны два аспекта:
      1. Какое m будет оптимальным для Васи Пупкина при заданных e, k, r: то есть argmax p(e, k, r, m) по m.
      2. Частный случай, рассматриваемый в родительстком комментаории после некоторых упрощений — при каких e, k, r Васе Пупкину будет выгоднее полностью отключить мощности на один период, чем держать их полностью включёнными: то есть решение неравенства p(e, k, r, 0)?p(e, k, r, 1).


      Что касается C, то я в родительском комментарии брал его обратным t', то есть равным k m+(1?k) r. Однако, это не совсем правильно, поскольку, судя по информации в статье, сложность не может упасть более чем в 4 раза. Таким образом правильно C=max{k m+(1?k) r; 1/4}.

      Если нарисовать график argmax p(0.9, k, r, m) по m (то есть положив отношение «обычных» затрат на электроэнергию к обычной выручке равным 0.9), то получим:


      То есть:
      При затратах на электроэнергию e=0.9 Васе выгоднее подключаться к общему «шабашу» в следующих случаях:
      • Когда весь оставшийся мир сбрасывает темпы на 0 (что крайне маловероятно) — только если Вася владеет почти половиной мировых мощностей (или большей частью).
      • Чем в меньшей степени мир сбрасывает мощность, тем при меньшей доле от мировых мощностей Васе становится уже? выгодно присоединяться.
      • Сбрасывать мощность совсем на 0 Васе выгодно только в узкой доле случаев (когда доля Васи в мире не совсем мала, но и не больше где-то 40%, а при этом оставшийся мир сбрасывает мощности совсем немного).


      И поразательный вывод (затратах на электроэнергию e=0.9): если оставшийся мир вообще не сбрасывает мощности (r=1), то, при не-совсем-мизерной доле Васи в мире, ему выгодно начинать «шабаш» самому!

      Да-да, Васе вообще не обязательно ждать остальных — если его доля больше приблизительно 10%, то ему выгодно начинать «манипулировать» самому, причём чем меньше его доля в мире, тем даже жёстче ему сто?ит сбрасывать.

      P.S.: Если я где-то ошибся, говорите.


      1. sasha1024
        10.09.2017 15:44

        P.P.S.: Исходники для Математики:

        c = Max[k m + (1 - k) r, 1/4];
        
        p[e_, k_, r_, m_] = (m (1 - e)/(k m + (1 - k) r) + 1 - e c)/(1/(k m + (1 - k) r) + c)
        
        BestM[e_, k_, r_] = ArgMax[{p[e, k, r, m], 0 <= m <= 1}, m];
        
        Plot3D[BestM[0.9, k, r], {k, 0, 1}, {r, 0, 1}, AxesLabel -> Automatic]
        
        Plot[BestM[0.9, k, 1], {k, 0, 1}, AxesLabel -> {Automatic, "\!\(\*UnderscriptBox[\(\(argmax\)\(\\\ \)\), \(m\)]\)p(0.9,k,1,m)"}]
        


  1. johnnymmc
    09.09.2017 23:06

    Я правильно понял, что если все майнеры перестанут майнить, то никто не сможет использовать уже имеющиеся у них биткоины в принципе?


    1. mayorovp
      10.09.2017 10:53

      Да, но майнеры не перестанут майнить пока биткоин имеет хоть какую-нибудь цену. Просто потому что чем меньше майнеров — тем выгоднее майнинг.


      1. johnnymmc
        11.09.2017 02:18

        А как же

        При резких неблагоприятных колебаниях цен все 100% майнеров выключат оборудование. На плаву останутся, разве что, те, кто пользуется бесплатным электричеством. В этом случае работа сети просто остановится – на доработку «двух недель» потребуется время, соизмеримое с жизнью, а невозможность проведения транзакций еще больше опустит цену биткойна.

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

        Ещё интересно правильно ли я понял, что уже сейчас имеющий BitCoin уже не может просто взять и спонтанно заплатить ими за чашку кофе т.к. транзакция займёт не один день?


        1. mayorovp
          11.09.2017 05:48

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


          Ещё интересно правильно ли я понял, что уже сейчас имеющий BitCoin уже не может просто взять и спонтанно заплатить ими за чашку кофе т.к. транзакция займёт не один день?

          С шестью подтверждениями — "всего" час. Откуда взялся день?


  1. Gmar0
    10.09.2017 21:51

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


    1. sasha1024
      10.09.2017 21:55

      Логично.