Jump to content

Recommended Posts

Posted

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

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

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

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

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

 

post-3105-0-13251900-1383636459_thumb.jpg

 

Источники: http://mashable.com/2013/11/04/bitcoin-cornell-researchers/

                  http://www.scribd.com/doc/181412760/Bitcoin-Mining-Vulnerability-Paper

_______________________________________

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

Posted

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

Posted

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

Posted

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

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

http://btcsec.com/double-spending

 

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

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

 

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

Posted

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

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

 

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

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

 

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

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

Posted (edited)

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

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

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

 

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

Edited by Provok
Posted

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

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

 

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

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

 

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

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

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

Posted (edited)

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

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

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

Edited by XBOCT
Posted

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

Posted

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

Posted

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

Posted

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

 

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

Posted

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

 

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

 

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

Posted

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

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

breaking_news.jpg

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

 

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

 

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

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

Posted

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

Posted

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

Posted

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

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

  • 2 weeks later...
Posted

[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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Биткоин-резервы хакеров Lazarus обогнали запасы биткоинов компании Илона Маска

      Эксперты аналитической компании Arkham Intelligence заявили, что северокорейская хакерская группа Lazarus обошла по объему накопления биткоинов крупного публичного держателя биткоинов, компанию Илона Маска Tesla. Согласно Arkham Intelligence, Lazarus Group накопила 13 441 BTC стоимостью около $1,14 млрд. У Tesla сейчас 11 509 BTC. Работающая на государство хакерская группа помогла КНДР войти в число крупнейших держателей биткоинов.     Эксперты Arkham связали рост биткоин-акти

      in Новости криптовалют

    • Майкл Сэйлор: «Через 20 лет биткоин будет стоить $13 млн»

      Генеральный директор Strategy Майкл Сэйлор (Michael Saylor) сравнил биткоин с традиционными активами и сделал уверенный прогноз относительно курса биткоина на ближайшие 20 лет. Выступая на саммите Digital Asset Summit, Сэйлор отметил, что биткоин — это дефицитный цифровой товар без реальных конкурентов. Благодаря ограниченному предложению в 21 млн монет, первая криптовалюта превосходит золото и нефть как средство сбережения, уверен Сэйлор. Эти традиционные активы при росте спроса могут прои

      in Новости криптовалют

    • Член правления Банка Чехии: Биткоин опасно включать в госрезерв

      Член правления Национального банка Чехии усомнился в необходимости включать биткоин в государственный резерв активов из-за неопределенности с регулированием криптовалют и сильной волатильности крипторынка. Ян Кубичек (Jan Kubicek) заявил, что центробанк будет оценивать различные классы активов для включения в стратегический резерв, и биткоин — один из них. Помимо биткоина, ЦБ изучает возможность инвестировать в международные корпоративные облигации, фондовые индексы, ориентированные на те

      in Новости криптовалют

    • Аналитик BlackRock Анна Нерис: Биткоин идеально подходит для платежей

      Продуктовый аналитик инвестиционной компании BlackRock Анна Нерис (Anna Nerys) назвала биткоин уникальным инструментом, который может успешно использоваться для международных платежей. В серии вопросов и ответов iShares’ The Ask Анна Нерис назвала цифровые активы тем, что имеет денежную ценность. Аналитик выделила три типа цифровых активов: данные, интеллектуальная собственность и криптовалюты. Учитывая, что биткоин — крупнейшая по рыночной капитализации криптовалюта, — Нерис назвала биткои

      in Новости криптовалют

    • Биткоин или недвижимость?

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

      in Экономика

×
×
  • Create New...