Перейти к содержимому

YoBit.Net

Фотография

Биткоин и "эгоистичный" майнинг.

bitcoin биткоин майнинг пул атака

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18

#1 Format.C^

Format.C^

    Primus inter pares

  • Супермодераторы
  • 3176 сообщений
  • ГородХарьков

Отправлено 05 November 2013 - 10:38

Группа исследователей из Корнелльского университета, во главе с Ittay Eyal и Emin Sirer утверждают, что обнаружили уязвимость в системе генерации Bitcoin. В опубликованной научной работе приводится пример атаки на цепочку блоков, в которой майнеры получают вознаграждение несоизмеримо своим усилиям по добыче монет.

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

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

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

Самая большая группа майнеров на сегодня — пул BTC Guild — контролирует более 25% вычислительных ресурсов сети, и этого уже достаточно для попытки эгоистичного майнинга.

 

pools.JPG

 

Источники: http://mashable.com/...ll-researchers/

                  http://www.scribd.co...erability-Paper

_______________________________________

На самом деле мне не совсем понятен сам механизм публикации (выгрузки) группы блоков из "приватной" ветки в основную. Как это может произойти на практике, кто в курсе?


  • 0

Не зная покоя и отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, чтоб после спустить их на ветер!

 


#2 Provok

Provok

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1365 сообщений
  • ГородМосква

Отправлено 05 November 2013 - 11:12

За счет чего их ветка будет расти быстрее основной? Из-за падения сложности?


  • 0

#3 Format.C^

Format.C^

    Primus inter pares

  • Супермодераторы
  • 3176 сообщений
  • ГородХарьков

Отправлено 05 November 2013 - 11:20

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


  • 0

Не зная покоя и отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, чтоб после спустить их на ветер!

 


#4 Tomcat_MkII

Tomcat_MkII

    Суперзаменятор

  • Супермодераторы
  • 4727 сообщений
  • ГородСанкт-Петербург

Отправлено 05 November 2013 - 11:34

Группа исследователей из Корнелльского университета, во главе с Ittay Eyal и Emin Sirer ...

... наконец обнаружила существование Bitcoin Wiki или наоборот никогда ее не видела и изобрела свой велосипед? Это удивительнейшее открытие известно всем кому не лень :huh: С самого начала возникло дежавю, потом вспомнил, где я об этом читал, оказывается далеко ходить не надо ;)  
http://btcsec.com/double-spending

 

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

Чтобы получить большее количество блоков в приватной ветке, нужно генерировать быстрее остальной сети всю цепочку, а не отдельные блоки. А это можно только при 50%+ или затяжном периоде удачи при меньшей мощности. Так и не понял, что принципиально нового открыли эти ученые? Механизм скрытого вклеивания отдельных блоков в уже существующую цепочку задним числом? :blink: Если нет, то они сидят в касках в танке на бронепоезде...

 

P.S. btcguild уже неоднократно имела больше 50% мощности сети, но не воспользовалась, видимо ей рулят порядочные люди. Главное что такую атаку провести незаметно просто нет возможности, если кто-то будет тырить блоки систематически - допрыгается. Но самое смешное, в долгосрочной перспективе все равно больше своего законного процента не получит...


  • 0

#5 Format.C^

Format.C^

    Primus inter pares

  • Супермодераторы
  • 3176 сообщений
  • ГородХарьков

Отправлено 05 November 2013 - 11:49

... наконец обнаружила существование Bitcoin Wiki ... http://btcsec.com/double-spending

Ну а Вики тут причём? Если что, речь идёт не о дабл-спенде.

 

Чтобы получить большее количество блоков в приватной ветке, нужно генерировать быстрее остальной сети всю цепочку, а не отдельные блоки. А это можно только при 50%+ или затяжном периоде удачи при меньшей мощности.

Не всю цепочку, а цепочку из нескольких подряд идущих блоков. Я постом выше пояснил почему так получается  и почему нет необходимости в 50%+.

 

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

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


  • 0

Не зная покоя и отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, чтоб после спустить их на ветер!

 


#6 Provok

Provok

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1365 сообщений
  • ГородМосква

Отправлено 05 November 2013 - 12:23

Все равно ЯННП.

Считаем усредненно.

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

 

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


Сообщение отредактировал Provok: 05 November 2013 - 12:24

  • 0

#7 Tomcat_MkII

Tomcat_MkII

    Суперзаменятор

  • Супермодераторы
  • 4727 сообщений
  • ГородСанкт-Петербург

Отправлено 05 November 2013 - 12:30

Ну а Вики тут причём? Если что, речь идёт не о дабл-спенде.

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

Не всю цепочку, а цепочку из нескольких подряд идущих блоков. Я постом выше пояснил почему так получается  и почему нет необходимости в 50%+.

Опять же, если "очень повезет". Никакой привязки к 33% нет, вопрос только во времени.

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

Прочитал, не понял, на пальцах можно? :) Не вижу отличий от классического варианта -скрытно генерить свою цепочку, в таком случае пул "выпадает из сети", что невозможно скрыть, или как подвариант - суперпуперудачно сгенерить цепочку из нескольких блоков быстрее остальных, при этом "воруя" промежуточные блоки, сгенеренные другими, но мне не совсем понятно как в таком случае обмануть механизмы контроля, т.е. хэш предыдущего блока и банальный timestamp... править свои сгенеренные блоки "руками"? Откат блока с хотя бы одним подтверждением - это уже "криминал", в отдельно взятом случае может прокатить, но если такое будет повторяться - неизбежно заметят.
  • 0

#8 Echoes

Echoes

    Продвинутый пользователь

  • Bits.media Team
  • PipPipPip
  • 773 сообщений

Отправлено 05 November 2013 - 12:31

А тут злоумышленник теряет проработавшие вхолостую мощности. Авторы исслкдования поняли что атаку 51% можно провести и с 30% сети, только шансы ниже, также наличие 51% и более не дает 100% гарантии успешной атаки.
  • 0

#9 XBOCT

XBOCT

    Новичок

  • Пользователи
  • Pip
  • 34 сообщений

Отправлено 05 November 2013 - 14:31

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

Ага. Так же интересна ситуация (обсуждалось на talks-ах, ссылку на сохранил), когда пул находит блок, а сеть нашла другой  чуть раньше. У пула (теоретически) два варианта: согласиться и начать дальше копать "от чужого блока" или копать от своего.

Если копать от  чужого,  блока: минусы понятны: свой  блок в orphan, а найдем что-то дальше или нет - как повезет. А вот если копать от своего: если пул находит новый блок раньше чем сеть в своей цепочке, то появляется возможность "перебить" чужой блок цепочкой из 2-х своих (то есть в плюсе сразу на 2 блока). А если сеть нашла еще один блок раньше чем, пул - начинаем копать уже от общей цепочки. То есть потери ровно те же, что и если бы сразу переключились на общую цепочку. То есть, в первом приближении, для пула минусов для случая переключения на общую цепочку не сразу, а с задержкой на 1 блок (если предыдущий блок пытаются отправить в orphan) и не видно независимо от соотношения мощности пула к мощности сети... В более тщательном рассмотрении нужно уще учитывать задержки растпространения блоков по сети...


Сообщение отредактировал XBOCT: 05 November 2013 - 14:32

  • 0

#10 phantom

phantom

    Пользователь

  • Пользователи
  • PipPip
  • 417 сообщений

Отправлено 05 November 2013 - 14:46

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


  • 0

#11 bronevik

bronevik

    Продвинутый пользователь

  • Bits.media Team
  • PipPipPip
  • 1497 сообщений
  • ГородМосква

Отправлено 05 November 2013 - 15:16

Авторы незнакомы с матчастью. При разрешении конфликта форка цепи протокол принимает не у кого блоков больше, а чья совокупная сложность больше. То есть в "нечестную" цепь чтобы она принялась сетью, надо вбухать больше хешей чем в "честную", Получаем 51% дабл-спенд. Если злодеи продолжат упорстововать, их просто выбросит в лимб, их блоки и транзакции не будут признаны кворумом и не примутся.


  • 2

1BTCSECFkk7pornT7FhmUkBzuY4PrzT6cM
 

- Сотня кварков это сотня кварков.

- Но не когда цена две сотни кварков и не когда у тебя на кошельке бюджет Либерии. Дай-ка пощупать как хрустят твои койны


#12 phantom

phantom

    Пользователь

  • Пользователи
  • PipPip
  • 417 сообщений

Отправлено 05 November 2013 - 17:46

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


  • 0

#13 bronevik

bronevik

    Продвинутый пользователь

  • Bits.media Team
  • PipPipPip
  • 1497 сообщений
  • ГородМосква

Отправлено 05 November 2013 - 20:15

Если на пальцах.

 

У меня ровно четверть сети, я поймал короткий раунд на 0 минут и сразу начал копать следующий блок поверх найденного и неопубликованного. Найду я его через 40 минут (наивероятное значение), в то время сеть сгенерирует 3 блока. В итоге у меня 2 блока, у всех остальных 3, и любой клиент мою ветку заорфанит.


  • 0

1BTCSECFkk7pornT7FhmUkBzuY4PrzT6cM
 

- Сотня кварков это сотня кварков.

- Но не когда цена две сотни кварков и не когда у тебя на кошельке бюджет Либерии. Дай-ка пощупать как хрустят твои койны


#14 phantom

phantom

    Пользователь

  • Пользователи
  • PipPip
  • 417 сообщений

Отправлено 05 November 2013 - 23:42

Если на пальцах.

 

У меня ровно четверть сети, я поймал короткий раунд на 0 минут и сразу начал копать следующий блок поверх найденного и неопубликованного. Найду я его через 40 минут (наивероятное значение), в то время сеть сгенерирует 3 блока. В итоге у меня 2 блока, у всех остальных 3, и любой клиент мою ветку заорфанит.

 

Это само собой разумеется, так как у открытой ветки накопленная сложность будет выше за счёт сложности +1 блока. Если в этом интервале не было пересчёта сложности, то для простоты можно считать преимущество форков в блоках, а не в накопленной сложности. Кстати, 51% ещё не означает double spend, он лишь частный случай.


  • 0

#15 polym0rph

polym0rph

    Администратор

  • Администраторы
  • 6208 сообщений

Отправлено 06 November 2013 - 01:46

Tomcat_MkII все правильно сказал и привел ссылку на статью про double spending

Группа исследователей из Корнелльского университета заставила меня вспомнить вот эту картинку:

breaking_news.jpg

Ребята наконец прочитали спецификации и до них дошло.

 

Тут единственное, на что стоит обратить внимание, и что несколько сумбурно преподнесли - это то, что группа майнеров, обладающая значительными вычислительными мощностями может продолжать искать блок, даже если он уже найден другими, в надежде, что удастся обогнать в дальнейшем всю сеть и сделать чужие блоки инвалидами. Что такая атака может быть успешной и при менее 50% мощностей написано и в статье про double spending, тут ничего нового нет. Только цель не дважды одни выходы потратить, а подгадить всей сети.

 

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

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


  • 0

Правила форума.  Тема для вопросов новичков, если не нашли подходящую ветку форума.

Участвуйте в жизни сообщества, участвуйте в краудньюсинге!
Bitcoin адрес для пожертвований на развитие Bits.media: 1BQ9qza7fn9snSCyJQB3ZcN46biBtkt4ee


#16 Pingui

Pingui

    Неизлечимый перфекционист

  • Пользователи
  • PipPipPip
  • 950 сообщений

Отправлено 06 November 2013 - 02:28

Вообще, как описано в спецификации от Сатоши, даже если у вас есть 51% всей мощности сети, вам выгоднее "играть по правилам". Транзакции, совершённые до получения этой мощности, отменить не получится - можно только отменять последующие, дискредитируя систему и "понижая курс валюты на биржах". И это гениально, imho.


  • 0

#17 Provok

Provok

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1365 сообщений
  • ГородМосква

Отправлено 06 November 2013 - 08:28

А вообще, смысл "исследования" в том, что "Надо больше негативных новостей!" Паник! Паник! Система разваливается! Биток сливаем!


  • 1

#18 Tomcat_MkII

Tomcat_MkII

    Суперзаменятор

  • Супермодераторы
  • 4727 сообщений
  • ГородСанкт-Петербург

Отправлено 06 November 2013 - 11:31

Кстати, этим "открытием" все новостные сайты завалены, пора бы курсу просесть.

А потом кто-нибудь из разработчиков выедет на белом коне с опровержением <_<


  • 0

#19 Format.C^

Format.C^

    Primus inter pares

  • Супермодераторы
  • 3176 сообщений
  • ГородХарьков

Отправлено 17 November 2013 - 22:22

[Bitcoin-development] Bitcoin Network Simulator

 

Over the last days I spent some time working on a simple Bitcoin network simulator. It is a stochastic event-based continuous-time simulation of Bitcoin miners exchanging messages and building block chains. It simulates latency, bandwidth and also verification speed but it currently does not simulate propagation/inclusion of transactions and instead uses random block sizes. The simulator includes two examples, one for a 51% attack and the other is an implementation of selfish mining (pretty much 1:1 as described in the paper). With the random parameters I picked it seems like it pays off to mine selfish with >=30% of the hashing power - but take this with a huge grain of salt as this is with a very small network and randomly chosen parameters. And of course it is not a perfect replica of the real world network. Since this is based on my understanding of the Bitcoin network and protocol it would be great if others would take a look and help improve it.

  Regards,

  Rafael Brune


  • 1

Не зная покоя и отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, чтоб после спустить их на ветер!

 






Темы с аналогичным тегами bitcoin, биткоин, майнинг, пул, атака

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных