Все транзакции (истории ваших переводов денег) последовательно поддерживают одна другую, а начинались они с первых «кошельков» Сатоси, где проведено N-ное количество транзакций позволившее ему намайнить немножечко биткоинов на безбедную старость. Ну, так принято считать. При этом, замечу, первичные кошельки судя по данным СМИ хранятся у некоего Крейга Райта и «доверенных лиц», который подтвердил владение ими, но наотрез отказался совершать в качестве подтверждения транзакции из них.
Почему?
Давайте подумаем над этим.
Разберём вместе мину замедленного действия и принцип её работы который заложен в корне этой лианы.
Как у нас происходят транзакции? Вы при оплате покупки (вводе биткоина на биржу) отсылаете ВСЁ содержимое своего кошелька по двум адресам: получателя и своему в необходимых пропорциях. Система в которой на данный момент работает сотни майнинговых пулов и тысячи майнеров подбирает ключ с определённым хешем соответствующим заданной сложности и подписывает транзакцию, после чего она считается завершённой и становится очередным звеном блокчейна.
Но!
Есть условия в системе на которые стоит обратить внимание.
Первое.
Звено блокчейна подтверждается, если оно присутствует на 51% машин в системе. Т.е. если во Владивостоке и Калининграде одновременно нашли неплохой хеш и окружающие машины получили новое звено, то при их соединении в районе Байкала победит то звено, которое существует на большинстве машин к тому времени. Транзакции подписанные вторым звеном, с меньшей распространённостью, будут переведены в ожидание очередного правильного хеша и отодвинуты. Именно поэтому перевод биткоинов не является мгновенным и может затягиваться до трёх суток.
И второе.
Что же будет если из-за сбоя в связи в разных концах сети успеет выработаться и подписаться не одно, а несколько звеньев? Всё просто — победит ветка имеющая наибольшее число звеньев. Сейчас, когда в течении дня совершаются множество транзакций подобные исчезновения сформированных веток не очень заметны пользователям и не сильно влияют на загруженность системы.
Запомним эти два условия — Выигрывает длинная ветка находящаяся на большинстве машин.
Отметим, что при майнинге и выработке хеша учитывается сложность которая пропорциональна количеству машин в системе (кошельков с биткоинами). Это сделано для того, чтобы по мере роста сети не было взрывного роста количества биткоинов и он не обесценивался. Сложность майнинга плавает и автоматически подбирается так, что бы новый хеш для подписи транзакций появлялся каждые две минуты независимо от количества майнеров в данный момент времени. Будь то две машины 2009 года или миллион ферм 2017.
А теперь представим, что у кого-то (например у мистера Райта) есть ключи от первых транзакций биткоина, открытый исходный код с некоторыми недокументированными функциями (например такими, как подтверждение транзакции получателем) и парочка ферм с виртуалками выделенных в отдельную закрытую сеть году в 2010. Представим также, что мистер Райт взял и запустил в виртуальном кластере этих ферм старинный кошелёк, который знает только о первых десятках транзакций. Потом подключил ещё десяток сдублированных «виртуалок» с кошельками в закрытой сети, немного подкрутил скорость системного времени (что бы новый хеш генерировался раз в 0,001 секунды например) и намайнил за полгодика количество блоков превосходящее то, которое уже существуют в основной ветке лианы блокчейна. А потом, восстановив системное время до нормального, бросил всю мощность ферм на поднятие десятка тысяч виртуальных машин с новыми кошельками и включил их в свою сеть, получив таким образом…
Ветку с количеством звеньев превосходящую ту, которую знаем мы и развёрнутую на достаточном для признания валидности количестве кошельков.
А потом выпустил эту сеть в интернет.
Система в лучшем случае будет в состоянии DDOS'a перепроверяя гигабайты транзакций на всех машинах сети в целях проверки хешей и количества блоков, что вызовет задержку транзакций, сбои и падение бирж.
В худшем — воспримет более «правильную» ветку как единственно верную и срубит основную ветвь лианы пустив из «горшочка» господина Сатоси новый росток.
Вы скажите — ничего страшного, транзакции заново проведутся и всё восстановится. А вот и нет. Что будет с Джеком сидящим на этот момент на вершине бобового стебля? Что будет с теми биткоинами, которые за эти годы были намайнены, десятки раз переведены между кошельками и введены на биржи? Что будет с биржами?
Сейчас мы наблюдаем на биржах бешенный рост биткоина который вызван ажиотажным спросом к нему. Люди вводят фиат, приобретают биткоин, сливая реальные деньги кому-то… кому? Тому, у кого есть изрядный запас битка что бы продать и вывести средства с бирж в банки. Что будет когда стебель срубят? Маленький финансовый кризис в 300 миллиардов долларов? Это 17 триллионов рублей или бюджет России за 1 год.
17 триллионов рублей у хитрого человека (или сотни-тысячи подготовленных «ольгинских троллей») и миллионы людей с электронными фантиками вместо своих денег. Если акциями МММ можно было хотя бы оклеить стены сортира, то тут у вас будет просто несколько сотен гигабайт бесполезной информации на жёстком диске.
Зато у господина «Сатоси» и его команды будет в руках бюджет равный бюджету России, как раз к грядущим выборам.
Неплохая многоходовочка, что бы укрепить рубль.
Ничего подобного не случится, биткоин будет расти и дальше, а товарищу МакКафи не придётся есть свой корнишон — скажете вы. Да, возможно он ещё немного вырастет (не корнишон, а биток). Исключительно с целью довести капитализацию до максимума. До весны ещё есть время. Но отпускать его в бесконечный рост создателю (или группе «доверенных лиц») не выгодно. Ведь тогда фиат в его руках будет обесцениваться с инфляцией и прочими неприятностями. А вот вложить фиат в другую крипту (или скупить акции IT-компаний связанных с биржами сразу после окончательного падения битка) и вызвать падение коллоса — хороший и правильный ход.
И, замечу, совершенно не требующий печати новых купюр на нашем Монетном Дворе.
Удачи Вам, господин Пу. ;)
Комментарии (17)
rSedoy
07.12.2017 12:28открытый исходный код с некоторыми недокументированными функциями
немного подкрутил скорость системного времени (что бы новый хеш генерировался раз в 0,001 секунды например)
и т.п.
шапочка из фольги сильно давит? ;)
Ugrum
07.12.2017 13:10Ммать его, что я только что прочитал?
Биткойн, котики, ольгинские, котики, Пу, котики, выборы, котики, блокчейн, многоходовочка, укрепить рубль, котики. Ну и «коллос» отдельно доставляет.
vesper-bot
07.12.2017 13:13То есть идея атаки на биткойн заключается примерно в следующем:
Некто (мистер Райт) начинает майнить биткойн на закрытой сети, но для основания использует не последний блок, а один из первых, как следствие, все сгенерированные в его приватном форке (а это полновесный форк) криптомонеты окажутся у него под контролем. Всё это будет крутиться в сети с ускоренным локальным временем (а что мешает поднять свой NTP-сервер с нулевой стратой и ускоренными часами?), т.е. генерация отдельной цепочки блоков будет идти быстрее, чем генерация блоков в основной биткойн-сети. Потом он показывает свою длинную цепочку биткойн-сети и говорит «майньте меня».
Помнится, у сети биткойн есть-таки защита от такого вот, в виде нод, которые хранят только несколько дней (месяцев) последних блоков, которые откажут сгенерированной таким образом последовательности блоков в валидации. Кроме того, чтобы сгенерировать блок, потребуется указать сложность сети, она должна в этом случае в блоке засветиться, и все остальные (активные) клиенты биткойн-сети, увидев мизерную сложность, отбросят всю цепочку.
Кроме того, для последнего этапа нужна атака 51%, что делает эту атаку сложнее, чем атака 51% с текущей позиции в блокчейне.
Azoh
07.12.2017 15:01Нужно больше треша и угара. Предлагаю быстренько переписать статью в сценарий для фильма категории Б.
Берем историю про, например, молодого создателя (далее ГГ, главный герой) очередной биткоин-фермы. Сам он из маленького городка в Айове.
В один прекрасный день к нему пришли поговорить вежливые люди в дорогих костюмах, после определенного убеждения он понимает, что работая совместно с ними он может достичь намного большего. Недолго думая, он соглашается. Получив от них секретные коды, его ферма начинает работать супер-эффективно, принося огромные прибыли.
ГГ переезжает в Калифорнию, покупает огромный дом неподалеку от океана, начинает встречаться с молодой красоткой, на которой вскоре женится. Жизнь, можно сказать, удалась.
Но его терзают сомнения в выборе, он подозревает, что не всё так просто. В своих поисках, он выходит на бывшего сотрудника ЦРУ. Они общаются через посредника — дочь этого агента (далее ПГ, подруга героя). ГГ выясняет, что на самом деле за биткоином стоят русские, а вежливые люди — агенты Москвы. После очередного разговора, когда ГГ собирается уходить, ПГ говорит ему, чтобы он был осторожен.
Дальше его похищают, жена оказывается агентом, приставленным с целью слежки. Но с помощью ПГ он спасается. Затем ГГ тренируется, готовится к борьбе, в итоге получает +10 к брутальности. После несколько перестрелок, погонь и прочих эффектных моментов, ГГ с ПГ убивают всех врагов, а так же уничтожают ферму со всеми биткоинами. В один из напряженных моментов ГГ и ПГ должны понять, что любят друг друга.
Фильм заканчивается тем, как ГГ с ПГ уезжают в закат.
gearbox
07.12.2017 15:05Если отстраниться от треша и угара, в принципе пациент поднимает интересный вопрос. Какая сложность должна быть у блоков для того что бы заменить ВСЮ цепочку от genesis блока? То есть вообще КАК учитывается сложность при выборе более длинной цепочки? Я вот сходу уверенно не смог ответить, в правилах консенсуса это тоже явно не оговаривается (про 51% не надо, это текущий форк, не более, это другое), в BIP -ах не нашел, пришлось лезть в исходники что бы найти ответ (ну точнее подтвердить гипотезу, так то предположение понятно на чем строить)
maslyaev
07.12.2017 19:31Котики красивые, но описанный сценарий… в общем, волшебной сказке не хватает литературного лоска.
В долгосрочной (и даже, наверно, среднесрочной) перспективе Биткоин, конечно, не жилец, но грохнется он, конечно, не по описанному сценарию. Просто народ потеряет интерес, и взрывной рост плавно перейдёт во взрывное же падение.
Сейчас, на волне хайпа, фразочка «народ потеряет интерес» звучит немножко странно, но хайп существует только пока всё сильнее и сильнее нагнетается, а вечно нагнетаться он не может.
В принципе, Биткоин мог бы выйти на насыщение, стабилизироваться и жить долго и счастливо. Но это только в том случае, если не появятся более сильные конкуренты. Технологии совершенствуются, и в любой момент может оказаться, что весьма слабенький по ТТХ биток-старичок перед лицом молодых и зубастых не имеет шансов. И тогда почти мгновенное схлопывание. Кто успел вывестись — молодец, кто не успел — скорбим по вам.
booroff
07.12.2017 19:32В блокчейне есть понятие чекпойнта. Так вот, если мне не изменяет память, крупный чекпойнт стоит в 2014 году. Тогда сложность была на уровне и майнить надо начинать оттуда, а не с 2010 года. Кстати, в коде все написано.
a0fs
08.12.2017 06:41+1То что биткоин — хрень в себе, и в складках его туманной туши прячется чуть менее чем дофига скелетов, мысль ИМХО верная. А вот текст, раскрывающий тему вызывает лютую зависть. Мне так хорошо как автору сего повествования никогда не было…
З.Ы. правильный ответ на вопрос: что будет с коином, если его перетянет кто-нибудь, будет «ничего». Либо текущие администраторы (либо коллективный разум их замещающий) сможет отыграть всё назад, либо коина не станет. Более того деньги, по своей сути ценности не имеют. Ценность определяется их покупательной способностью, зависящей от желания их принимать к оплате. При бадабуме в системе, они обесценятся, и finita la commedia.
barker
08.12.2017 11:52отсылаете ВСЁ содержимое своего кошелька по двум адресам: получателя и своему в необходимых пропорциях
всё не так
ну и про длину ветки сказали уже — смысл как раз в том, что защита идёт кол-вом потраченной работы (proof-of-work), потому качество цепочки по определению определяется общей сложностью
rog
Такого непонимания того как работает bitcoin core еще надо поискать, я сначала подумал что это в хабе юмор опубликовано, ан нет