Pages:
Author

Topic: Атака 51%. Почему бы и да? (Read 4066 times)

member
Activity: 87
Merit: 10
November 08, 2016, 12:55:50 PM
#56

объясните мне, что такое атака 51%, а то читаю, читаю, ничего не могу понять  Cry
legendary
Activity: 1260
Merit: 1019
November 01, 2016, 04:36:34 PM
#55
А сейчас уже и в самом биткоине поправили?
Нет, потому что тут нечего править.
Сеть так устроена, что она примет новую цепочку блоков, если её сложность суммарная больше.
Ну хватит уже на эту тему.
Переписывать с 2014-го года никто не собирается, а для профита хватит переписать за пару часов.
legendary
Activity: 1442
Merit: 1016
November 01, 2016, 03:50:26 PM
#54
11) чуть не забыл еще один важный момент, не знаю как сейчас, но раньше было что не длинна цепочки вбоках имела значение а суммарная сложность вроде бы.  Что тоже очень очень очень влияет. Если тебе повезло за*упить один мощный блок со сложностью много выше текущей то вот именно тут твой софт может его и придержать. То есть ты как бы сидел и майнил не альтернативную а текущую цепочку и только найдя такого зверя надел на него ошейник, а дальше его паравозом пустишь, и уже только в этом случае сидишь и начинаешь оторвавшись т сети клепать к нему еще попроще блоков. В итоге это сильно повышает вероятность успеха сделать более сильную цепь допустим из 2-3 блоков.  При этом ты имеешь время в запасе много, потому что даже когда появится уже другой блок то скорее всего ты сможешь его отменить просто, ведь твой сильнее. А был бы слабенький первый риски бы увеличились, а шанс уменьшился. И ghash.io вроде именно так и делал.

Не прокатит.
Слишком старые блоки клиенты не примут как валидные, хоть какая там сложность у них будет.

Только что писали о целой кучи блоков, а тут речь всего о 1-3.
Если уж не покатит 1-3, то тогда и вобще как атаку делать?
Только отменой чужих блоков продолжая шпарить из последнего своего словно чужих не было, но выкладывая в сеть сразу?
Тогда уже и о двойных тратах не стоит говорить.
И слишком старые это насколько слишком?
Раньше то можно было и сильно старые, и в форках тоже, сколько у форков потом проблем было с этим, но везде поправили где проблема уже была, ну понятно дело коснулась она тех у кого и сложность меньше и время между блоками короче и другие сопутсвующие обстоятельства. А сейчас уже и в самом биткоине поправили?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
October 29, 2016, 04:41:10 PM
#53
11) чуть не забыл еще один важный момент, не знаю как сейчас, но раньше было что не длинна цепочки вбоках имела значение а суммарная сложность вроде бы.  Что тоже очень очень очень влияет. Если тебе повезло за*упить один мощный блок со сложностью много выше текущей то вот именно тут твой софт может его и придержать. То есть ты как бы сидел и майнил не альтернативную а текущую цепочку и только найдя такого зверя надел на него ошейник, а дальше его паравозом пустишь, и уже только в этом случае сидишь и начинаешь оторвавшись т сети клепать к нему еще попроще блоков. В итоге это сильно повышает вероятность успеха сделать более сильную цепь допустим из 2-3 блоков.  При этом ты имеешь время в запасе много, потому что даже когда появится уже другой блок то скорее всего ты сможешь его отменить просто, ведь твой сильнее. А был бы слабенький первый риски бы увеличились, а шанс уменьшился. И ghash.io вроде именно так и делал.

Не прокатит.
Слишком старые блоки клиенты не примут как валидные, хоть какая там сложность у них будет.
newbie
Activity: 14
Merit: 0
October 28, 2016, 10:01:45 PM
#52
как я вижу, идут разговоры про личные пенсионные накопления.
Можно раскидать их по криптовалютной корзине, состоящей из кучи форков.
legendary
Activity: 1442
Merit: 1016
October 28, 2016, 04:04:44 PM
#51
Амаклин всё четко описал технически.
Но тут много недочетов в конпцептуальном как бы понимании процесса описании.
Сознательно или нет людей вводятв заблуждение.
Не Амаклин в смысле, а всегда когда говорят, кто-то пускает такие во массовые заблуждения.

1)51% это условно! Это требуется чтобы теоретически быстрее искать блоки в целом на длительном промежутке, это гарантия успеха на длительном промежутке. теоретическая гарантия потому что практически везение не везение никто не отменял. А ведь может и три дня не везти!
Кроме того поясняю для новичков что хотя звучит как 51% на самом деле это как бы 101%
То есть ты скрыто не показывая мощности сети имеешь еще одну сеть такую же которая шпарит с большей скоростью. В данный то момент пока она шпарит отдельно она не участвует в боках уходящих в сеть, а делает альтернативную цепочку. Тогда почему же 51% называется? Ну так повелось просто, из рассуждаений что вот все увидели что у тебя больше половины мощности ты показал и значит ты можешь ее использовать на атаку. Именно в этом контексте это 51% когда она была показана уже как более половины мощности.
То сеть тут большие условности в описании, не смотря на это все так и ведутся никто не понимает сути.
Теоретически это может быть и не один пул , а например два, или две фермы производителей асиков. То есть мы их будем знать как отдельных а они в сговоре окажутся. А могут и три в сумме.
Так что поиск одного у которого больше половины такая огромная условность, что уже в квадрате, мало того что 51% это условность так еще и в одиночку чтобы тоже условность.
2) Так вот, имея и не 51% а меньше не то что 40% а даже 30% и даже 20% можно пытаться расчитвать на успех, и для случая 1-3 подтверждения тебе будет выпадать время от времени удача. Рассчеты насколько реальна удача лежат в статье не на этом форуме а на битс.медиа.
3)Прям таки двойная трата - это тоже условность, а можно например просто разораться атаковал сеть и сбить курс. Ну и да, нужно пояснить что транз то может быть много а не одна на крупную сумму, а куча на мелкую, как и было когда атаковал ghash.io казино (ниже еще об этом)
4) Менять можно и не на фиат а потом снова трата, а на другую крипту, так еще и лучше в плане что фиат возвратен если еще там кучу мероприятий не провести. Ну и главное что фиат это медленнее, не только сами заморочки снятия денег или такого перевода чтобы не вернули, но и само по себе вывод фиата замедлено обычно.
5) Якобы это мол блин никому не выгодно оставьте себе сказки что никто так делать не будет.ghash.io так делал , и майнерам в тот момент за несколько блоков не заплатил, а обманывал казино. Вся инфа была собрана и где-то в какой-то теме опубликована RoadTrain (вроде бы), со всеми ссылками наблоки, орфаны, транзакции, со всейих прибылью, всё расписано от и до, факт жульничества был раскрыт. И что прям такикурс упал ,общественность разволновалась, пул заигнорили, всех наказали? Да херена лысого! Пул какработал так и продолжил работать, а поользователи пула еще и отписывались что мол и молодец что воровал, и я бы так воровал если умел, гении они. И даже то что им за блоки не заплатили не мешало имтак думать! А остальным и вовсе всем похер было! Пул тупо проигнорил сообщение и сам факт, и общественность тоже.
6) Из той же серии байки бычка о том что якобы централизация не возможна и ля ля ля, всё у нас круто иля ля ля. Реально централизация уже есть сейчас и есть она как никогда она постоянно только усиливается. А как может быть не централизовано то что выпускает оборудование по сути одна страна а у нее режим комунистический? Вы что там курите? Конечно будет централизовано засчет асиков.
7) ну и да, сжевано ка-то описали как могут подкупать майнеров и как они перебегают, и как есть сервисы специально для этого где и вовсе арендуют мощности у юдей что не важно на что, так какие же они майнеры?
8 ) Лжи и лицемерия много.На самом деле валюта изначально делалась как децентрализованая и в этом вся суть майнинга. Централизованый он нахрен не нужен. А желание людей говорить а какая мол разница идет от тупости и не понимания процесса.
9) не забываем еще дного важного момента что на самом деле децентрализация подразмевалась по кучи людей и стран, но валюта такая одна. Нет уже никакого подтверждения по сути когда валют несколько. Ведь в любой момент можно снять с другой доплатив майнерам, и скрытно майнить эту. То есть большая часть PoW форков это просто обман, там в каждом можно атаки делать легко и дёшего.
10) И всетаки атаки сообщесво не любит, и если было выяснено кто, то будут ненавидеть это да. Но заявлять что мол никто не будет стрелять себе в ногу не верно. Людей можно дурить. Ведь сейчас же майнеры не думают что их подтверждение состоит не прсто в работе оборудования а в их честности и в неподкупности, и соответственнов  том чтобы они и свои деньги в этой монете держали самию А когда всё порается все покупается майнерыне держат валюту, не соло а пулы, так не пулы а продавцы асиков сами больше всех -- да какое тутт нахер подтверждение и работа майнеров в таких условиях? Нет децентрализации - нет настоящего майнинга только блеф один.
11) чуть не забыл еще один важный момент, не знаю как сейчас, но раньше было что не длинна цепочки вбоках имела значение а суммарная сложность вроде бы.  Что тоже очень очень очень влияет. Если тебе повезло за*упить один мощный блок со сложностью много выше текущей то вот именно тут твой софт может его и придержать. То есть ты как бы сидел и майнил не альтернативную а текущую цепочку и только найдя такого зверя надел на него ошейник, а дальше его паравозом пустишь, и уже только в этом случае сидишь и начинаешь оторвавшись т сети клепать к нему еще попроще блоков. В итоге это сильно повышает вероятность успеха сделать более сильную цепь допустим из 2-3 блоков.  При этом ты имеешь время в запасе много, потому что даже когда появится уже другой блок то скорее всего ты сможешь его отменить просто, ведь твой сильнее. А был бы слабенький первый риски бы увеличились, а шанс уменьшился. И ghash.io вроде именно так и делал.
legendary
Activity: 1260
Merit: 1019
October 28, 2016, 10:40:46 AM
#50
Это говорит всего лишь о степени доверия к отправителю того или иного ресурса. В основном считается от 2-3 и выше конферма.
Падающий шарик с комсой 20к, повторюсь, я не имел ввиду.
На падающем шарике я тоже нехило поживился.
После того как я их в очередной раз (то ли во второй, то ли в третий раз) обул на десяток битков
(последний раз куш был небольшой - я начинал с маленьких ставок, потому что битков было мало) они поняли
что надо ждать хотя бы 1 подтверждение.

Quote
зы: есть мини-бабл-казиношка. Вот этот вопрос там вообще оригинально организован. Отсылаешь денежки к ним и
играй сразу, без подтверждений, сколько сможешь. Вот только все что выиграл, можешь вывести лишь после 6 конфермов твоего депо )
Ну тут дело простое. Отсылаешь, играешь, например "всё на красное". Если выиграл - ждешь 6 подтверждений и выводишь баблосы.
Если проиграл - запускаешь в сеть дабл-спенд транзакцию, которая переводит баблосы тебе.
Чистишь куки, заводишь новый аккаунт и повторяешь пока хозяин казино не опомнится и в какой-то момент не покажет
тебе фигу вместо выплаты выигрыша.
legendary
Activity: 2016
Merit: 1118
October 28, 2016, 10:13:02 AM
#49
Смысла в этом засвете не вижу, все равно первая не подтвердится и в обмен ничего не получишь. Даблеры и т.п. не имею ввиду.
Да ладно.
Я знал как минимум два сервиса, которые засчитывали депозит увидев неподтвержденную транзакцию на свой адрес.
Кидаешь "первую транзакцию", она засчечивается в сети, сервис зачисляет на депозит бабло.
потом делаешь withdrawal - то есть перевод депозита обратно, потом делаешь какой-нибудь финт
чтобы первая транзакция не подтвердилась.
профит.

Это говорит всего лишь о степени доверия к отправителю того или иного ресурса. В основном считается от 2-3 и выше конферма. Падающий шарик с комсой 20к, повторюсь, я не имел ввиду.

зы: есть мини-бабл-казиношка. Вот этот вопрос там вообще оригинально организован. Отсылаешь денежки к ним и играй сразу, без подтверждений, сколько сможешь. Вот только все что выиграл, можешь вывести лишь после 6 конфермов твоего депо )
legendary
Activity: 1260
Merit: 1019
October 28, 2016, 10:05:32 AM
#48
Смысла в этом засвете не вижу, все равно первая не подтвердится и в обмен ничего не получишь. Даблеры и т.п. не имею ввиду.
Да ладно.
Я знал как минимум два сервиса, которые засчитывали депозит увидев неподтвержденную транзакцию на свой адрес.
Кидаешь "первую транзакцию", она засчечивается в сети, сервис зачисляет на депозит бабло.
потом делаешь withdrawal - то есть перевод депозита обратно, потом делаешь какой-нибудь финт
чтобы первая транзакция не подтвердилась.
профит.
legendary
Activity: 2016
Merit: 1118
October 28, 2016, 09:42:28 AM
#47
Это искусство - засветить одну транзакцию в сети, а потом сделать так, чтобы она не подтвердилась, а подтвердилась бы другая
Смысла в этом засвете не вижу, все равно первая не подтвердится и в обмен ничего не получишь. Даблеры и т.п. не имею ввиду.
legendary
Activity: 1260
Merit: 1019
October 28, 2016, 09:27:00 AM
#46
Вопрос в контексте двойной траты: мы совершили первую транзакцию и израсходовали все свободные входы.
Допустим.

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

Quote
До того как эта транзакция будет записана в блок, мы совершаем еще одну транзакцию
Мы не совершаем транзакцию, а формируем её, ок?

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

Quote
Нода ее получила и так же отправила майнеру.
Тут не совсем так.
Как правило, ноды не пересылают конфликтующие транзакции.
Но некоторые ноды могли не получить первую транзакцию или не сохранить её.
Есть еще ноды на базе клиента XT - они перешлют транзакцию если та платит больше комиссий.
В общем, в результате на части нод будет жить первая транзакция, а на части - вторая.
И у майнеров так же - одни будут майнить первую, другие вторую.

Quote
1. Это реально, если обойти ограничение оболочки (кошелька) на совершение повторной транзакции?
В сети могут ходить такие транзакции, помеченные как неподтвержденные?
Конечно реально.

Quote
2. Мы работаем с одной и той же нодой, или разные ноды могут получить информацию о наших транзакциях?
Имеет смысл посылать вторую транзакцию на как можно большее количество нод - так вероятнее, что она
"выбьет" первую. Но теоретически, если первую транзакцию мы посылаем с маленькой комиссией, а вторую
с большой - то вторая без труда выбьет первую.

Quote
3. Какая транзакция будет записана в блок? Если разные майнеры получат эти транзакции? Если один и тот же?
Одна из двух. Или никакая не будет записана.
Это искусство - засветить одну транзакцию в сети, а потом сделать так, чтобы она не подтвердилась, а подтвердилась бы другая

Но к теме атаки-51 это не имеет отношения.
newbie
Activity: 10
Merit: 0
October 28, 2016, 09:00:10 AM
#45
Вопрос в контексте двойной траты: мы совершили первую транзакцию и израсходовали все свободные входы. Транзакция ушла в сеть, нода ее получила, отправила майнеру. До того как эта транзакция будет записана в блок, мы совершаем еще одну транзакцию и опять расходуем все свободные входы (мы же это можем делать до того, как предыдущая транзакция окажется в цепочке). Нода ее получила и так же отправила майнеру.
1. Это реально, если обойти ограничение оболочки (кошелька) на совершение повторной транзакции? В сети могут ходить такие транзакции, помеченные как неподтвержденные?
2. Мы работаем с одной и той же нодой, или разные ноды могут получить информацию о наших транзакциях?
3. Какая транзакция будет записана в блок? Если разные майнеры получат эти транзакции? Если один и тот же?
legendary
Activity: 1260
Merit: 1019
October 14, 2016, 08:05:02 AM
#44
Главным будет тот блокчейн, что более известный. Кроме того, действия атакующего вполне можно
будет обосновать и показать на блокчейне, что вот эта ветка валидна, а другая нет. Или вообще
представить на суд общественности, чтобы каждый выбрал себе ветку сам, и кто что в итоге выбирет,
кто-то будет согласен с веткой, в которой у него пропали монеты? А так и будет.

Шобля?
То есть клиент крутящийся на VPS при обнаружении форка цепочки сам звонит по телефону
и отправляет email "хозяяяяиииин! скажи какой чейн на твой взгляд более известный, а я
покурю пока бамбук, пока ты не дал обоснование"

Есть алгоритм. Зашитый в коде. Его мы сейчас и обсуждаем.
Алгоритм выбирает цепочку с большей суммарной сложностью. Точка.

Форки "по виталиковому велению" тоже возможны, например в марте 2013-го
года был сплит сети из-за различия в коде клиентов 0.7.х и 0.8.x
На устранение ушло непомню сколько, день или полдня - ищите в архивах.
Это был непреднамерянный сплит сети и никто почти не смог извлечь профит

В случае же преднамерянной атаки злоумышленник с бабками успеет добежать до
канадской границы, пока сообщество будет колупаться в коде.
sr. member
Activity: 350
Merit: 252
October 14, 2016, 07:48:06 AM
#43
Построить альтернативную цепочку блоков можно только после последнего чекпойнта.
Но так как последний чекпойнт датирован 2014-ым годом, а (как я уже говорил) для успешной/профитной
атаки достаточно реорганизовать цепочку за несколько последних часов/дней - то чекпойнты а 2014 год
никак вас не спасут.

Главным будет тот блокчейн, что более известный. Кроме того, действия атакующего вполне можно будет обосновать и показать на блокчейне, что вот эта ветка валидна, а другая нет. Или вообще представить на суд общественности, чтобы каждый выбрал себе ветку сам, и кто что в итоге выбирет, кто-то будет согласен с веткой, в которой у него пропали монеты? А так и будет.
legendary
Activity: 1260
Merit: 1019
October 14, 2016, 02:50:26 AM
#42
Тогда чекпоинты все таки решают
https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L3453

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

Более подробный ответ от девелоперов с тем же выводом (что чекпойнты не привносят надёжности
и что от них следует отказаться) читайте тут:
http://bitcoin.stackexchange.com/questions/1797/what-are-checkpoints
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
October 14, 2016, 01:37:52 AM
#41
Тогда чекпоинты все таки решают

https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L3453
legendary
Activity: 1260
Merit: 1019
October 14, 2016, 01:18:51 AM
#40
Ну в примере с Исландией: как Исландцы автоматически перестроят свою цепочку,
если клиент не будет принимать блоки которые хоть и относятся к главной, но которые слишком старые?
А кто сказал что клиент не принимает слишком старые блоки?
Я такого не говорил. Наоборот, я сказал, что он их принимает.

Пример.
Допустим, есть блоки
h=111111   2016-05-10 15:10
h=111112   2016-05-10 15:20
h=111113   2016-05-10 15:30
h=111114   2016-05-10 15:40
h=111115   2016-05-10 15:50

сегодня уже не май, а октябрь, то есть прошло 5 месяцев и у нас уже в цепочке номера блоков 222222, 222223...
тут вдруг клиенту присылают еще один блок 111115+
клиент сравнивает таймстамп блока 111115+ не с текущим временем, а со средним временем блоков 111111..111114
и если это время больше - то аццептит этот блок у себя. Потом то же самое рекурсивно делаем для блока 111116+
и так далее. Какая цепочка блоков окажется длинее - ту клиент в любой момент времени и считает основной.

Почему такого не происходит? Почему по сети вечно не гуляют орфан-блоки?
Да потому что пир тебе пришлёт блок 111115+ только в том случае, если этот
пир сам убедился что цепочка блоков с плюсиком сложнее. Иначе зачем тратить трафик?

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
October 14, 2016, 01:09:36 AM
#39
Ну хорошо, а как насчет такой проверки?
https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L3534
Это не то, что ты думаешь.
Таймстамп блока не может быть меньше медианного значения нескольких предыдущих блоков.
(Но вообще говоря блок N + 1 может иметь таймстамп меньше чем блок N - не у всех нод часы
синхронизированы по атомному времени, да и процесс перебора nonce не мгновенный)

То есть сравнивается не с текущим временем, а с записанным в уже проверенных блоках.


Ну в примере с Исландией: как Исландцы автоматически перестроят свою цепочку, если клиент не будет принимать блоки которые хоть и относятся к главной, но которые слишком старые?
Xtc
legendary
Activity: 1973
Merit: 1028
;u
October 13, 2016, 06:34:06 PM
#38
Всё так для форков, но не для биткойна Wink
А в чем отличие-то?
Фаундэйшн не даст навредить биткойну. Даже алгоритм менять не придется.
Майнеры никуда не уйдут. Это то же самое что сказать об уходе нефтяников с месторождений нефти. Ну станут чуть меньше зарабатывать. Падение 600-10 это бредомечты тех, кто не успел купить.
legendary
Activity: 1260
Merit: 1019
October 13, 2016, 04:05:41 PM
#37
Всё так для форков, но не для биткойна Wink
А в чем отличие-то?
Pages:
Jump to: