В многочисленных популярных роликах и текстах, объясняющих принципы работы криптовалют, это объяснение обычно дается на примере Bitcoin - первой из криптовалют. Биткоин - на самом деле чистая и понятная реализация принципов, необходимых для криптовалюты: открытость истории транзакций, возможность проверки источника денег по цепочке, понятные правила появления денег, понятные правила создания новых транзакций. Новые монеты появляются только в результате майнинга новых блоков, и награда за майнинг постепенно снижается по логарифмическому закону, в результате чего общая сумма выпущеных биткоинов никогда не превысит лимита (21 миллион). Любая трата денег (вход транзакции) должна соответствовать выходу другой транзакции, деньги не могут появиться ниоткуда. Для траты нужно подписать транзакцию приватным ключом. Простой скриптовый язык позволяет делать multisig и всякие другие полезные вещи, в том числе и создавать новые валюты (токены) на базе биткоинового блокчейна (omni layer, так живёт USDT). Центрального узла нет, новый блок определяется консенсусом всех узлов - при наличии нескольких вариантов они принимают ту ветку, в которой сделано максимальное количество вычислений, это формальный критерий, не допускающий разночтений. Собственный узел может запустить любой пользователь, исходный код открыт.
К сожалению, концепция криптовалют, несмотря на своё изящество, не нашла понимания у основной массы пользователей. "Среднему пользователю" неважно, лежат ли его деньги в распределённом блокчейне или на каком-то конкретном сайте. Для него это всё равно "где-то в сети". Когда деньги на сайте - даже спокойнее, потому что понятно, кто за него отвечает, в случае чего можно поругаться или написать в соцсети о том, какие они негодяи, или даже подать в суд, а если деньги "потерялись" в блокчейне, то и пожаловаться некому. Пользователи, покупающие биткоины, не хранят приватные ключи у себя, а в основном делегируют это посторонним сайтам, потому для них разницы действительно нет. А даже если хранят у себя - сначала ведь этот ключ они где-то генерируют, и потом скачивают. Понятно, что это уже не полностью их ключ. В результате распространяются слухи о "взломе биткоина", когда деньги уходят хакерам, и подобные байки. С другой стороны, умные и авторитетные люди объясняют, что блокчейн и построенные на нём криптовалюты - это надёжно и правильно, и не верить им нет оснований.
Это закономерно привело к появлению муляжей криптовалют, которые якобы используют те же технологии, но при этом дают преференции их создателям, т.е. не такие уж децентрализованные. Для пользователей всё равно, а создателям профит. Самый распространённый из таких муляжей - Ethereum.
В нулевом блоке эфира роздано 72_009_995 Ether на 8903 адреса, это больше, чем всего получено наград за майнинг блоков (сначала было 5 Ether за блок, потом сделали 3 Ether, сейчас 2 Ether) за всё время. Ещё раз: более половины всего эфира, который сейчас есть в наличии, был роздан в нулевом блоке при старте этой криптовалюты, а меньшая часть появилась в результате майнинга блоков. Попробуйте нагуглить этот факт в описании этой криптовалюты - скорее всего ничего не выйдет, он не афишируется, и даже скрывается.
Эфирная нода geth эти стартовые транзакции не показывает, как будто их нет. Говорит, что нулевой блок пустой.
Эксплореры либо показывают их существование, но не дают смотреть подробности (etherscan.io, blockchair.com), либо вообще их не показывают, в результате чего история транзакций по адресу выглядит странно: только траты, без прихода, но положительный или нулевой итоговый баланс. Особую пикантность эта информация приобретает в сочетании с декларируемыми планами перехода с proof-of-work к proof-of-stake, т.е. изменение алгоритма консенсуса с "прав тот, кто проделал больше вычислений" на "прав тот, у кого больше денег".
Наличие такого мухлежа в стартовом блоке привело к тому, что эта криптовалюта в принципе не могла быть столь же открытой и прозрачной, как биткоин, иначе эта история была бы сразу всем видна. И если в биткоине для определения баланса адреса достаточно посчитать сумму utxo (неизрасходованных выходов транзакций), то в эфире это намного сложнее: нужно просматривать все транзакции по адресу (траты и поступления), но и этого недостаточно: баланс может измениться в результате работы смартконтракта ("internal transactions"), а это бинарный код в теле транзакции. В результате, даже запустив собственную ноду, я не могу посмотреть историю операций по какому-то адресу (даже моему собственному), мне для этого нужно обращаться к сторонним сайтам, работающим на собственном софте, т.е. доверять им: "There's not currently any way to do this using the web3 API. […] Blockchain explorers like etherscan obtain internal transactions by running a modified node with an instrumented EVM" (1); "The trouble I see with this is that this centralizes that data. If I create that data, how you know I didn't fake it? I've been trying to figure out a way to both index it and decentralize the 'indexing calculation.' I know how to decentralize the storage (IPFS), but not how to decentralize the indexing calculation. (2) Историю изменений баланса адреса негде запросить, потому что она просто нигде не хранится: нода хранит только состояние (баланс каждого адреса), а в блокчейне сохраняется контрольная сумма (хеш) от этого состояния, ну и сами транзакции, в виде бинарного кода.
Эфирные сматрконтракты - отдельная песня. По сути это ничем не отличается от выполнения какого-то бинарного файла на вашем компьютере, его код не открыт, а логика работы неизвестна. То, что он находится в блокчейне, а не на чьём-то сайте, ни на что принципиально не влияет, кроме психологии пользователей, доверяющих слову "блокчейн". Что, собственно, и требуется. Стандарт ERC20 определяет "узнаваемые" сигнатуры функций, вроде "передать столько-то токенов от такого-то адреса такому-то", но ERC20 не регламентирует, какие ещё функции могут быть у этого смартконтракта (например, "забрать все токены у всех пользователей"). Код смартконтракта, как и код обычной программы, автор может открыть, но это вопрос доброй воли.
Смартконтрактам с открытым кодом, конечно, есть больше оснований доверять - в той же степени, что и обычным программам с открытым кодом. Но многим ли пользователям важно, что у Chromium и у Firefox открытый код, а у Chrome и Safari закрытый?
Поскольку чистота и изящество технической реализации не являлись целью при создании эфира, эти качества по сравнению с биткоином в эфире сильно пострадали. Приведу несколько примеров.
У транзации bitcoin может быть несколько входов и несколько выходов. В результате я могу, например, давать каждому своему контрагенту отдельный адрес для перечисления мне денег, смотреть, когда кто-то из них заплатил, а когда мне самому нужно заплатить - я могу платить с нескольких этих адресов одновременно. А для сдачи сгенерировать какой-то новый адрес. В результате получается определённая степень анонимности: тот, кому я заплатил, не знает, сколько у меня всего денег на других адресах, сколько клиентов, которым я плачу и т.п. Прослеживание истории каждого из входов транзакции, в которой он получил от меня деньги, не даст ему никакой интересной информации.
В эфире у транзакции один вход и один выход. Чтобы заплатить кому-то, если я не хочу платить несколькими частями (на то она и транзакция), мне нужно сначала собрать достаточно денег на одном своём адресе, а потом с него выплатить, причём сдача останется там же. История транзакций по адресу, с которого человек получил от меня платёж, даст много информации обо мне.
И дело не только в приватности. Проводя платёж, я помещаю в блокчейн публичный ключ для этого адреса. Получение приватного ключа по публичному в данный момент малореально, но с появлением квантовых компьютеров всё может быть. У биткоина, как я говорил, сдача идёт на новый адрес (именно так рекомендуют делать), и на тех адресах, с которых произошёл платёж, т.е. публичные ключи которых опубликованы в блокчейне, уже ничего нет, взламывать нечего.
Правила появления новых монет в биткоине заложены со старта - заранее определено, начиная с каких блоков будет производиться "халвинг" (уменьшение награды за блок вдвое), таким образом в коде заложено, сколько всего будет выпущено биткоинов. В эфире ситуация иная: размер премии прописан константой в коде, а код нужно регулярно обновлять, и некоторые обновления изменяют размер награды. Изменение алгоритма ноды с потерей совместимости в биткоине приводит к форку, по сути создаёт другую криптовалюту. Потому что покупая биткоин, я выражаю доверие алгоритму и стартовому блоку (цепочке). В эфире это стандартный процесс "апгрейда", который должны регулярно применять все узлы, иначе они попросту выпадут из сети, потеряв совместимость. Покупая эфир сейчас, я не знаю, по какому протоколу эта валюта будет работать завтра, т.е. я выражаю доверие не открытому протоколу, алгоритму и стартовому блоку, а конкретным людям, которые будут выпускать обновления, никакой децентрализации в этом опять нет.
Комиссия за транзакции (gas) - отдельный адок. Она строится из двух составляющих: цены на "газ", и сколько газа потрачено. Цену на газ устанавливает создатель транзакции исходя из того, насколько быстро он хочет, чтобы его транзакция стала подтверждённой, и текущей "рыночной цены" - это примерно как у биткоина. А вот сколько газа потребуется потратить на транзакцию, заранее неизвестно, отправитель не знает. Даже одна и та же функция одного и того же смартконтракта может потребовать разное количество газа, и не только из-за возможных ветвлений, но и просто в зависимости от amount на адресах в момент её включения в блокчейн. Поэтому отправитель устанавливает максимальное количество газа, которое он готов потратить, а сколько потрачено на самом деле, станет понятно только когда транзакция станет подтверждённой. Соответственно, трудно потратить все деньги, имеющиеся на адресе: комиссия снимается с него же, и если установить большой max_gas, то останется сдача, а если маленький, то его может не хватить.
По той же причине в Ethereum невозможен и "spend unconfirmed", который так удобен и привычен в биткоине. То есть, если есть транзакция получения денег, то я могу создать следующую транзакцию по отправке этих денег куда-то ещё, не дожидаясь, когда первая транзакция станет подтверждённой. Если она отменится - автоматически отменится и вторая. Либо они обе подтвердятся. В эфире так нельзя, потому что пока транзакция не подтверждена, неизвестно, как в её результате изменятся балансы на адресах. Например, если у меня есть адрес с токенами, но без эфира, я не могу потратить эти токены, потому что нужно заплатить комиссию, причём именно с того адреса, с которого отправляются токены. Соответственно, я должен сначала отправить на этот адрес эфир, а потом уже оттуда отправлять токены. И я не могу эти две транзакции отправить подряд - нет, я должен дождаться подтверждения первой транзакции, и только потом отправлять вторую.
Откуда вообще взята идея этого непредсказуемого газа? В биткоине комиссия ставится пропорционально размеру транзакции в байтах. Это логично: размер блока ограничен, и туда можно включить либо одну большую транзакцию, либо на её место десять мелких. В эфире gas определяется количеством и сложностью операций в смартконтракте, и это нелогично: майнящая нода, хоть и должна выполнить этот смартконтракт для включения транзакции в блокчейн, но объём этих вычислений совершенно несравним с вычислениями собственно хеша блока, необходимыми для proof-of-work. Это разные единицы измерения, как метры и килограммы. И майнеру выгоднее включать в блок "дорогие" смартконтрактные транзакции, чем дешёвые простые пересылки, потому что он в таком случае получит больше награду. Вот вам и идея майнера, приносящего большую прибыль. А чтобы простые транзакции всё-таки тоже подтверждались, на них нужно устанавливать больше gas_price - и в итоге придём к тому, что считаем рыночную комиссию за транзакцию (учитывая её размер), потом делим на предполагаемый расходуемый gas, и результат пишем в поле gas_price. Бред ведь?
Но ситуация ещё комичнее. Зачем вообще регистрировать смартконтракт, почему нельзя писать данные в обычную транзакцию? Именно так работает omni layer поверх блокчейна bitcoin, и на нём были запущены USDT. Ведь это лишь вопрос трактовки, и ничто не мешает нам договориться и трактовать определённые данные в eth-транзакциях как пересылку каких-то токенов, оплачивая за это минимальный gas. Есть только одна причина, почему может быть необходима регистрация смартконтракта: если он отправляет кому-то ether, т.е. те самые "internal transactions", от которых столько проблем, и которые разрушают стройность блокчейна. Обычный смартконтракт ERC-20 (которых большинство, это простая реализация другой валюты или токенов) никакой отправки ether средствами смартконтракта не предполагает (хотя и не запрещает), т.е. для них регистрация не нужна, и платить дополнительный gas тоже не нужно. Иными словами, оплатой gas за смартконтрактные транзакции мы оплачиваем не распределённое выполнение этого смартконтракта майнерами и не хранение данных в блокчейне, а лишь используемый алгоритм. Запустим свой, чуть модифицированный алгоритм на том же самом блокчейне эфира - и вуаля, получим токены без дополнительного газа, подобно omni layer в биткоине. Причём нам совершенно не нужно, чтобы этот софт запустили все ноды или даже заметная часть - достаточно чтобы его запустили владельцы токенов, т.е. это может быть просто кошелёк.
Этот список можно продолжать долго, но это уже не так важно. Важно, что Ethereum - это муляж криптовалюты, который паразитирует на идеях децентрализации, распределённости и открытости, реализованных в Bitcoin, но извративший эти идеи ради бизнес-интересов создателей этой валюты.
Ripple, Tron
У них суть похожая. Декларируется децентрализация, распределённость, все дела. Можно ли поднять свою ноду - да, без проблем, вот исходники, любой желающий может поднять.
Но при ближайшем рассмотрении оказывается, что эта нода не участвует в консенсусе, а только получает информацию о транзакциях от других узлов и отправляет другим узлам свои транзакции. Если покопаться глубже, можно найти информацию о том, что поднять майнящую ноду можно, для этого нужно взять другой софт, заплатить кому-то сколько-то денег и подать заявку на рассмотрение. То есть, эти валюты не являются децентрализованными ни административно, ни технически (новый майнящий узел подключается к сети вручную). Вопрос о том, как происходит распределение денег, в такой ситуации уже неважен: понятно, что в любом случае полный контроль за появлением монет, как и за механизмами консенсуса, находится в частных руках.
Такой отказ от децентрализации принципиально упрощает вопросы консенсуса - новый блок можно принимать хоть простым большинством узлов без дорогостоящих вычислений подписи в proof-of-work, а вопрос генерации новых монет и вовсе отпадает - они все изначально принадлежат владельцу валюты и эмитируются только им (или доверенными узлами, что по сути то же самое).
В угоду бизнесу произошёл сдвиг терминологии. Изначально криптовалютами назывались только "настоящие" децентрализованные валюты с полностью открытым и равномерным появлением новых монет, как в Bitcoin, Litecoin и подобных. Потом криптовалютой стали называть Ethereum, который, впрочем, скрывал "особенности" стартовой эмиссии. Дальше - криптовалютой стали смартконтрактные токены, живующие в эфирном блокчейне, даже с закрытым кодом (т.е. с неизвестными правилами). Потом гордое название "криптовалюта" стали носить любые валюты, использующие блокчейн, децентрализация перестала быть обязательной. И, наконец, блокчейн тоже перестал быть необходим: в Ripple его и нет, а просто по сути любые электронные деньги стали называться криптовалютой.
Отдельно стоит упомянуть stablecoins вроде USDT. Они тоже существуют в распределённом блокчейне, как будто настоящие криптовалюты, а отличие их в том, что существует владелец, который может создавать новые монеты в произвольном количестве. Этот владелец декларирует, что выпускает новые монеты ровно в таком количестве, сколько ему заплатили настоящих денег, эти настоящие деньги хранит в сейфе, и таким образом гарантирует, что эти монеты всегда можно будет продать по курсу 1:1 к USD. Пользователям предсказуемость курса удобнее, чем высокая волатильность биткоина, а магические слова "криптовалюта" и "блокчейн" вызывают больше доверия, чем просто чьи-то электронные деньги вроде perfectmoney. Тут достаточно очевидно, что блокчейн в данном случае - не более чем открытый реестр, а владелец имеет полный контроль над валютой. Курс удерживается стабильным постольку, поскольку ему можно не давать расти дополнительной эмиссией, но если он начнёт падать, компенсировать его слишком большими вливаниями владелец вряд ли будет, у него просто закончатся деньги. Ведь вряд ли кто-то на самом деле верит в то, что все полученные деньги они действительно хранят в сейфе и не тратят. Хотя такая декларация, наверное, может быть выгодна в плане уплаты налогов, это ведь получается нулевая прибыль.
IgorPie
А проблема 51% у битка? Майнинг пулы уже на столько огромные, что приходится искусственно резать на части, чтобы не попасть в проблему51. Это к слову о «децентрализации», которой нет.
Биржи, подозреваю, что многие просто песочницы а-ля форекс, где крипта переходит от аккаунта к аккаунту без движения в блокчейне. Поэтому комиссия биржи $5 + %%, а не $15.
gul_kiev Автор
Можно разделять технологии и реальный мир. Например, email как технология децентрализован, а de facto основная масса пользователей собрана на одном крупном узле.
Централизация биткоина не была заложена его создателем — наоборот, приложено много усилий для децентрализации. А у Ethereum ситуация противоположна.
Большие майнинг-пулы — проблема, но они сами следят за тем, чтобы не было перекосов, это в их же интересах. Им нет профита от того, что они наберут 40% мощности вместо 10%, наоборот. А в эфире эти 51% заложены by design.
Биржам, конечно, нет смысла гонять битки между своими пользователями через блокчейн.
DMGarikk
… блокчейн говорили они, надежность, неоткатываемость.
'нам не выгодно, мы тупо скопипастили обычную банковско-биржевую систему....'удобно'… хош токатывай, хош закрывайся, хош сам нолики подрисовывай (с)
прелестно
powerman
Не совсем так. Отправив свои битки на биржу Вы, условно, "подарили" их бирже. Поэтому когда один такой пользователь биржи условно "передаёт" "свои" битки другому такому же пользователю биржи — эти битки как принадлежали бирже так и продолжают ей принадлежать ? тут действительно нет никакого смысла оформлять данную транзакцию на блокчейне, это абсолютно ничего не изменит.
Теоретически, если бы приватный ключ к вашему счёту в битках на бирже был и у вас и у биржи — тогда да, имело бы смысл оформлять данные транзакции на блокчейне. Но, скорее всего, это заметно замедлило и удорожило бы все операции с битком на бирже для пользователей, а единственное преимущество данного подхода для пользователей было бы в том, что им бы не требовалось разрешение биржи для вывода собственных средств.
Flux
Как будто это не единственное что должно железно требоваться от биржи чтобы иметь хоть какую-то возможность доверять ей.
Но обычно происходит классическая ситуация вида "Ой, вы хотите вывести свои бетховены? Извините, у нас технические работы, сейчас это невозможно. Кстати, мы закрываемся завтра, всем спасибо за участие".
konst90
Если приватный ключ пользователя есть у биржи — то она может без объявления войны вывести все средства всех пользователей, и на этом финиш.
bars_arseniy
Так все средства и так у биржи и она может вывести все средства. А я так сделать не могу. В случае, если закрытый ключ и у меня и биржи, я тоже могу внезапно вывести средства.
sumanai
Только вот вы можете вывести свои средства, а биржа присвоить ваши.
bars_arseniy
Так мои средства уже у биржи.
Прочтите коммент, с которого началось обсуждение: habr.com/en/post/544700/#comment_22749536
sumanai
Какая порядочная биржа, предупреждает заранее. Обычно внезапно «Нас взломали, мы всё просрали, всем спасибо, все свободны».
DGN
Это было бы еще большей дырой. Биржа всегда может сказать что вы сами вывели свои средства или упустили ключ. Бирже будет сложнее обеспечить блокировку средств при сделке.
В общем и целом, при соблюдении ряда правил, таких как «биржа это не кошелек», «заводим единовременно столько сколько допускаем потерять», «считаем что любая биржа подконтрольна одновременно АНБ, ФСБ и Моссад», биржами вполне можно пользоваться.
powerman
И всё-таки, что мешает сговориться нескольким крупным пулам и провести атаку 51%, если профит от неё значительно превысит их ожидаемый заработок в ближайшие 20 лет?
ShadowTheAge
Возможный профит от атаки 51% заключается в возможности потратить одни и те же битки дважды
Для этого необходимо две вещи:
В общем, атака 51% это возможная атака на систему от кого-то, желающего ее уничтожить, но она невыгодна самим участникам системы.
charypopper
вроде нельзя заметить что ты майнишь не то из-за особенностей Stratum протокола
den_sus
Если 51% будет майнить сайд чейн, то хэшрейт сети упадет в двое. Следовательно среднее время майнинга блока сразу станет 20 минут вместо 10, т.к сложность пересчитывается по последним 2048 блоков, что будет сразу заметно
saloid
Конечно, никто не станет резко переключать половину хешрейта налево. В самом параноидальном виде, уже сейчас половина майнеров работает на «вторую» цепочку в самом популярном пуле. И если майнеры не имеют возможности проверить в какую же сторону они майнят (если то что написано выше — правда) — то уже сейчас этот пул может иметь альтернативную цепочку сопоставимой длины с основной (ну или смотря сколько процентов своих мощностей он туда пустил). И эту вторую цепочку он может выпустить в сеть в любой удобный для него момент. (Это не факт, а вариант развития событий). Как майнинг пулу на этом заработать — вопрос риторический, ведь с этого момента битками пользоваться перестанут.
SinsI
А нельзя их вначале зашортить, а потом как раз и провести эту атаку, именно с целью обрушить курс?
Maxim_Q
Я думаю если захотят обрушить биткоин, то имеено так и сделают, благо на бирже CME есть котракт на биткоин который можно шортить.
ShadowTheAge
Но зашортить на сумму чтобы окупило оборудование и электричество нужной мощности вряд ли кто-то даст. Таких денег в моменте на всех биткойн биржах не факт что наберется.
Я не уверен что даже китаю это сделать под силу незаметно. Впрочем, если цель просто "угробить" то незаметности особо не требуется.
SinsI
Не очень понимаю, зачем покупать оборудование и почему все считают, что на это нужна куча денег.
Что мешает атакующему организовать несколько «независимых» пулов, каждый из которых платит всем вступившим в него чуть-чуть больше, чем все остальные? Тогда все затраты — это вот эта самая премия, а денег на неё как раз и можно наскрести за счёт шорта битков. Главное — успеть провести всё до маржин кола.
vics001
Атака 51% не даст потратить дважды — все ноды валидаторы просто закрешатся и не примут новые блоки.
Атака 51% нужна, чтобы забрать ВСЮ премию майнинга на себя, т.е. имея 60% мощностей, ты можешь делать не 60% блоков, а все 100%.
sumanai
Так будет форк, а так как у атакующего мощностей больше, то его форк в итоге должны будут принять остальные. Но это действительно малореально по описанным выше причинам.
vics001
не будет форка, в Bitcoin сети более 10000 нодов (https://bitnodes.io/) и 90% ничего не майнят вообще. Любой невалидный блок не будет принят сетью т.е. атака должна пологаться на валидных цепочках блоков. Грубо говоря надо создать сначала 1 «валидную» цепочку, а затем успеть ее перемайнить на другую. Правда и тут думаю, что ноды не переключаться автоматически на другую цепочку, если расстояние больше 1-3 блоков.
LexL
Ноды, которые не майнят, не являются частью сети. Это как иностранцы, которые не имеют права голоса, да, недовольны, да, против, да, могут закрывать глаза на то, что им не нравится, но ничего сделать все равно не могут, все равно, даже суммарной их мощности не хватит, чтобы сделать форк.
vics001
Вообще неправда. Если хоть все мощности будут генерировать неправильные блоки, основная сеть может жить спокойно и делать 1 блок в день и все будет нормально.
LexL
Вопрос, кому принадлежат все онлайн ресурсы по доступу к блокчейну? Блок-эксплореры и т.д. Кому принадлежат все масс медиа?
А теперь наводящий, что в этом случае будет основной сетью? Миллион RaspberryPi, которые не осилят даже дохлые 4 TPS, или петахэши майнеров, соединённых оптоволокном?
sumanai
А с чего он будет невалидный то? Как вы и описали, будут валидные блоки и автопереключение. У кого длиннее цепочка, тот и прав, это основа PoW алгоритма.
vics001
Выше шло обсуждение про double-spend, так вот double-spend в любой цепочке — это невалидная цепочка.
tyomitch
Double-spend не в одной цепочке, а в двух разных, очевидно же.
vics001
Там явно не атака 51% — по-моему, ноды не переключатся с одной цепочки на другую, если между ними разница будет больше 6 блоков.
Это атака минимум 67%, 33% делать одну ветку, 33% другую
tyomitch
O_o назовите хоть одну причину для ноды не переключаться на более длинную цепочку. (Если нода была неделю выключена, я её вообще не смогу запустить снова?)
vics001
Надо смотреть код. Если цепочка была
[A1, A2, A3, A4] -> [A1, A2, A3, A4, A5,… A10] — нет конфликтов
Если цепочка
[A1, A2, A3, A4] -> [A1, A5, A6… A10] — 3 конфликта.
Когда был конфликт в 2016, майнеры переключались вручную.
0serg
Биткоин не ищет «конфликты», ему плевать на это. Вторая цепочка в Вашем примере на 3 блока короче и потому первая победит, но и только. Если же вторая цепочка за то же время дойдет до A14 потому что ее майнят быстрее — то победит она.
Конфликт 2016 — это что вообще? Было несколько форков биткоина в которых чейн менялся из-за обновления софта. Там появлялось две версии софта и одна версия могла работать только с первым чейном а другая — со вторым. Тогда да, майнеры вручную решают какую из версий софта они будут использовать. Наиболее известен прецедент 2013 года, когда софтина версии 0.8 оказалась несовместима по формату чейна с 0.7 и возник форк где большинство перешедшее на 0.8 стало майнить один чейн, а меньшинство еще не перешедшее этот чейн просто не смогло прочесть и стало майнить «0.7-совместимый» чейн.
Xaliuss
Вообще атака 51% очень негативна для криптовалюты, поэтому для биткоина она невыгодна никому — ресурсы для её проведения имеют цену только при условии ценности биткоина. Но для мелких криптовалют такие атаки проводили с фатальными последствиями, так как там проводящий атаку ничего не терял из-за краха валюты. Сейчас блокчейн биткоина поддерживается оборудованием наверно на миллиарды долларов, что и делает его чрезвычайно устойчивым.
ftdgoodluck
Есть мнение, что пулам нет смысла проводить атаку 51% потому что они имеют доход в BTC, и падение курса в результате атаки это минус деньги (и возможно минус бизнес)
powerman
Есть. К сожалению, это мнение подразумевает, что все имеющие доступ к такой возможности действуют адекватно исходя из максимизации доходов компании (пула, в данном случае) в long term — очевидно, что это не всегда так. (Грубый пример — у кого-то имеющего доступ к такой возможности взяли детей в заложники и требуют большую кучу денег вот прям завтра.)
insecto
Такая атака сразу обесценит биткоин, все деньги пулов превратятся в фантики, все асики превратятся в цветмет. Такая атака больше похожа на подрыв террориста-смертника чем на ограбление банка.
ainu
Парадокс, но человек, владевший пулом, который на минуточку перевалил за 50% (а потом откатился), как раз предлагал сам способы решения этой проблемы.
И этот откат (когда люди испугались 51 процента) привёл к понижению популярности его пула. Как мне кажется, владельцу пула опасно даже намекать, что он близок к 50%.
Ktator
Как это нет профита? Пул же берёт комиссию. Если его мощность 40% вместо 10%, то комиссия в четыре раза выше.
pin2t
Если публичный очень крупный пул сделает атаку 51%, то будет сразу ясно кто. Публичным крупным пулам выгодно играть по правилам и получать свою комиссию.
Другое дело если атаку 51% сделает какой-то не публичный майнер, у которого свои мощности. Он может. Но тут опятьже играют роль нюансы атаки 51% именно в сети биткоин. При атаке 51% не создаются новые монеты, монет остается столько же, атака 51% всегда направлена на обман другой стороны, например биржи или обменника или продавца, который принимает биткоины. чтобы это было выгодно этому не публичному майнеру надо сделать атаку на очень очень крупную сумму, другая сторона сделки скорее всего для таких сумм будет просить дополнительную идентификацию.
Благодаря очень большой мощности, сеть биткоина довольно неплохо защищена от атаки 51%, это скорее теоретическая возможность, ну и истории из прошлого, когда небыло таких мощностей ещё.
А в скамном эфире, например, можно просто издать новый эфир через атаку 51%. Как бы из воздуха, вторая сторона не участвует. И потом честно продать этот изданный эфир кому-то через совершенно легальную транзакцию.
thatsme
Для атаки 51%, новым участником, сейчас потребуется ~127.3ТВт, т.к. суммарно майнинг биткоин на текущий момент потребляет 122.3ТВт.
Не все страны себе подобное смогут позволить. Аргентина точно не сможет :) Хотя она не на последнем месте по выработке эл. энергии.
Mad__Max
Какой-то бред откуда-то скопипастили, где видимо потребление энергии считается исходя из майнинга на видеокартах. Либо вообще с нулями(порядками) кто-то напутал
Реальное потребление сети биткоина на порядки ниже.
Текущий хэшрейт сети порядка 150 EH/s (эксахэшей в секунду, или 150*1018 H/s), онлайн график: www.blockchain.com/ru/charts/hash-rate.
Потребление энергии оборудованием (на базе специализированных ASIC-чипов полный переход на которые произошел уже много лет назад ) сейчас ниже 0.1 Вт на Гигахеш в секунду (109 H/s). У лучших из моделей оборудования присутствующих на рынке энергетическая эффективность уже порядка 0.03 Вт на GH/s (например Antminer S19 Pro — производительность 110 TH/s при потребляемой мощности 3350 Вт).
В среднем (с учетом еще работающего более старого оборудования) пусть будет раза в 2 выше 0.06 Вт на 1 GH/s.
~150 текущих EH/s вычислительной мощности потребляют порядка 150E18/1E9*0.06 = 9 ГВт электрической мощности.
Настоящей проблемой в такой теоретической ситуации (кто-то в одиночку захочет провести атаку 51% без сговора уже имеющихся участников, а с подключением новых мощностей) будет не энергия, а где взять столько специализированного оборудования без которого энергия в хэши не превращается. А для такого количества оборудования(которое перекроет по вычислительной мощности весь уже имеющийся в эксплуатации парк распределенный по миру) все его производители должны будут работать пару-тройку лет эксклюзивно на одного покупателя прекратив продажу своей продукции всем прочим клиентам.
P.S.
Исходное левое значение потребления в 122 ТВт превышает не только возможности Аргентины, а вообще всей электроэнергетики планеты Земля суммарно по всем странам.
thatsme
Да, моя ошибка.
Скопипастил отсюда (BBC ссылаясь на коллективх кембриджких учёных заявляет о 121.36TWh, т.е. не мощность и не 122.3ТВт):
www.bbc.com/news/technology-56012952
Средняя по миру цена за КВтч $0.140, или $140 за 1МВтч, или $140000 за 1 ГВтч, или $140000000 за 1ТВч, что даёт нам стоимость $16 990 400 000.00 в час.
Если новый игрок захочет получить 51% сети, ему нужно будет тратить $17 683 885 714.28 в час, в соответствии с вышеуказанной статьёй…
Тут или ошибка, или полная фигня т.к. я что-то не то считаю, или незря маркет-кап битка у порога триллиона стоит ($915,507,931,413 на момент написания, скопипастил с coinmarketcap.com)
Mad__Max
А, так у них действительно не мощность, а потребленная энергия указана — ТВт*ч. Причем это за год указано: 121.36 terawatt-hours (TWh) a year.
В пересчете на среднюю мощность это будет 121360/365/24 = 13.85 ГВт.
С такой оценкой вполне можно согласится, ИМХО несколько завышенная у них получилась, но это где-то близко к правде. А совсем точно это все-равно рассчитать невозможно — т.к. нет информации о точном составе парка используемого оборудования. А из-за того что оно разбросано по всему миру в руках очень большого количества независимых друг от друга владельцев, то и собрать такую информацию практически нереально.
По расчетам стоимости — конечно фигня получилось, из-за того что это же годовые данные в статье были приведены, а не за час (если бы за час то как раз мощность и потребленная энергия если ее в ватт*часах записывать совпадали бы). 17 млрд. долларов в год на электроэнергию должно было получиться или порядка 2 миллионов долларов в час.
Но с учетом того, что майнеры совсем не равномерно по миру распространены и пользуются далеко не среде статистическими по миру тарифами, а как раз концентрируются в основном в тех регионах где цены на энергию как можно ниже, то в деньгах их реальные расходы на энергию где-то раза в 2 с хвостиком раза ниже — не более 8 млрд.$ в год на данный момент.
thatsme
Тогда всего ~$2 018 142.86 в час нужно, что-бы 51% сети под себя подмять.
Это для кого-то вполне подъёмная сумма, но тот кто такой суммой обладает, может как Маск просто в новости нафлудить и цена будет такой как нужно, и получить на этом 100% прибыли, не потратив вообще ни копейки.
Hardcoin
Вы крайне невнимательно читаете и путаете мощность и количество электричества. $17 млрд нужно не в час, а в год. Если кто-то хочет провести атаку не за год, а за пару дней, то суммы пропорционально меньше. Проблема только в том, что железа ещё на миллиарды нужно.
Firz
del.
//Забыл про возможность вырастить свою более длинную цепочку блоков, имея >50% мощности сети.
srgstm
Опасность проблемы 51% сильно преувеличина. Концентрация 51% мощностей майнинга в руках одного игрока позволит с небольшой вероятностью (а для большой надо сильно больше 51%) лишь потратить этому игроку СВОИ деньги два раза. Разумеется, это будет сразу видно с соответсвующей потерей репутации и клиентов (для майнинг-пулов) и 100% вероятностью присесть в тюрьму (остаться анонимным при таких мощностях проблематично).
StjarnornasFred
Зависит от законодательства страны. Если биткоин вообще отсутствует в правовом поле либо прирaвнен к вещному имуществу, то такая процедура совершенно законна. Мне ж никто не запрещает купить некую вещь, изготовить её точную копию, а потом обе продать.
Ndochp
Угу, с любым произведением искусства это проделайте и привет копы за мошенничество.
Amor-roma
Биток приравнен к произведениям искусства?
Сломать биток можно разными способами. Но вопрос, зачем?
Как говориться в поговорке, не можешь прекратить бардак-возглавь его и получи выгоду)
Примерно так было с религиями))
Как продать то чего не существует, — просто верь и не задавай лишних вопросов.
Даже свой блокчейн был по ЗАГСу в особо продвинутых нодах/храмах))
В основном конечно просто собирали кэш (10%) за вступление в клуб "успешных" граждан))
(не ставил целью оскорбления или унижения чувств верующих)
Ndochp
Ну цифровое имущество не имеет аналогов в реальном мире. Поэтому биток больше похож на картину, чем на шкаф. И то, только похож.
Еще больше он похож на право собственности. То есть продать запись в реестре владельцев недвижимости (скажем виллы на тропическом острове) двум людям разом это еще более похоже на реализацию атаки 51%. В любом случае, это большинством законодательств будет рассмотрено как мошенничество, а не как торговлю точными копиями.
Nick_Shl
Большинством законодательств это будет рассмотрено не более чем пришедший немного ненормальный человек заявивший "Мы тут свою религию придумали, правила установили, а вот тот человек пришёл и молится не по правилам!".
Биток — это религия. Его стоимость держится на вере.
konst90
Как и стоимость любого произведения искусства.
Цену в миллионы долларов на крашеный кусок холста обеспечивает только вера в то, что он кому-то нужен по этой цене.
aPiks
Как только вы скажите, что любая существующая валюта не имеет никакой ценности и вы хотите продавать свой товар за палки, то палки тут-же станут новой валютой, если люди захотят купить ваш товар, конечно же.
Это я к тому, что любая ценность в этом мире является ценностью только потому, что вы готовы оценить её.
Для пигмея в глубине джунглей ваш доллар всё равно, что биткоин для бабушки у подъезда. То есть он существует, но никакой реальной ценности не имеет. И только ваша готовность обменять на него другую вещь придаёт ему какую-то ценность.
Например, Тесла. Если Тесла завтра создаст новую криптовалюту, а потом скажет, что готова продавать автомобили за неё, то эта криптовалюта сразу-же взлетит в цене, потому что возможность обменять её на реальную ценность, делает и саму криптовалюту ценностью.
И хотя, законодательно, во многих странах биткоин вообще никак не регулируется, это не значит, что судья высшей инстанции, которому приведут правильные доводы, не сможет создать какой-либо прецедент, от которого потом могут отталкиваться другие судьи и как-то регулировать мошенничество с биткоином.
StjarnornasFred
На произведения искусства распространяется авторское право, и все правовые последствия этого истекают из него. Если я попытаюсь продать свою картину (копию оригинала) под именем автора, то это будет являться нарушением его авторского права. Если я попытаюсь продать чужую картину как свою — тоже. Если же я куплю картину неизвестного (анонимного) автора, то сделать копию и продать её как произведение неизвестного автора я смогу совершенно законно. И уж тем более я имею полное право
намайнитьнаписать одну картину, продать её как свою, а потом написать ещё одну такую же и тоже продать.Аналогии — зло. Потому что биткоин — не картина. Так что давайте предметно, а не абстрактно. (Карму мне, кстати, местные криптоадепты уже слили — нельзя высказывать мнение, отличающееся от охраняемого негласным законом, да).
Ещё раз: атака 51% в том виде, в котором она есть для биткоина (т.е. техническая возможность неоднократно расплатиться своими монетами, и ничто более) — юридически законна, если статус криптовалюты не прописан в законодательстве и подобные действия не запрещены явно. Если биткоин — вещь, то я имею право изготовить эту вещь любым не запрещённым способом (и продать, возможно, заплатив налог). Поэтому изначальное утверждение о том, что за это, случись такое, кого-то посадят, ошибочно.
markmariner
Прикольно вы провели аналогию между аналогиями и злом, говоря, что аналогии — зло :)
LexL
Обе продать не получится. Т.к. 51% откатывает первую и замещает ее другой.
Т.е. первый чел, кому продана вещь, сразу обратится в полицию, покажет все документы, что вот вы купили, а деньги не пришли.
Вопрос, о каких суммах идет речь. Если о сильно крупных, продавец может подождать пару тройку блоков. А о мелочи речь не идет, т.к. злостный майнер сразу будет раскрыт.
В целом проблема 51% атаки сильно преувеличена. И тех, у кого есть такие мощности, яйки в тиски можно очень легко зажать правоохранительными органами.
Сейчас на повестке дня всех биткоинов (и копий, и бледных копий, и копий для слива на Lightning Network, и оригинального) стоит другая, более важная проблема для прогресса всей индустрии — откат/заморозка украденных/потерянных вложений.
Инстуциональные инвесторы (который в принципе могут инвестировать миллиарды) вложаться только тогда, когда будет внедрен легальный механизм отката умыкнутых денег. Чтобы не было больше обвалов, как с Mt.Gox или DAO.
Как Сатоши и планировал, украденное на блокчейне золото превращается в олово, а когда это олово возвращают, оно снова превращается в золото. Т.е. мотивация красть, хакать, требовать выкуп в биткоинах полностью отпадает.
И некоторые версии биткоина поимеют с этими откатами/замораживанием средств очень большие проблемы. Особенно версия BTC, которая уже сейчас превратилась в схему миграции на Lightning Network (к биткоину никаким боком не относится). Если на BTC откатить что-то, все открытые LN каналы на откатанных адресах попадают в нирвану, ну или еще куда-то, никто пока не знает.
Но это будет весело, это будет интересно, будем посмотреть :)
vikarti
Эээ, как бы одна из основ блокчейна — то что откаты нельзя.
Либо можно но хардфорком сети (История с TheDAO).
Где это Сатоши такое планировал — можно цитату и сылку на документ?
Ivan22
судя по тому что выше написали про мощности, если будет такая атака — то это как раз и будет атака предпринятая правительством какой-то страны. Какая уж тут тюрьма-то
edo1h
гхм, частные компании уровня амазона имеют ресурсы, которые не снились ни одному правительству.
vagran
Ага, так и вижу, как амазон останавливает все проекты на aws, и начинает майнить битки. И даже в таком случае не уверен, что все мощности амазона смогут конкурировать с крупнейшими ASIC фермами. Думаю, при большом желании можно посчитать, какой теретический хеш рейт могут выдать все дц амазона, и сравнить с крупнейшими пулами.
0serg
Неверно. 51% позволяет отменять произвольным образом чужие транзакции (на этом и основан double-spend но это не единственное возможное применение) и забрать себе 100% прибыли от майнинга. И нет, речь не идет о «небольшой вероятности», речь идет только о том насколько медленно это будет происходить. Владелец 51% не будет пытаться каждый блок который «выиграл» конкурент начинать атаку заново, он будет растить «свою» цепочку столько времени сколько понадобится для того чтобы она обогнала альтернативу а потом отменит скопом сразу N блоков. Вот величина N зависит от того 51% у него мощности или 60%. Для 60% величина N будет меньше, для 80% еще меньше, но даже 51% достаточно чтобы со 100% вероятностью провести свои транзакции.
EviGL
Я правильно понимаю, что для накопления этой длинной цепочки надо либо "вытащить" эти 51-60% из мощностей майнинга обычных цепочек (от чего мощность всей сети внезапно просядет в 2 раза), либо в тайне от всех накопить 51+% майнингового железа, которое в майнинге до этого не участвовало?
В первом случае все очень сильно насторожатся на старте операции, с виновного пула выведут мощности, курс битка обвалится.
Второй случай это вообще какая-то фантастика, невозможно взять и удвоить количество железа в мире.
Если я нигде не ошибаюсь, то, мне кажется, о таком сценарии можно не волноваться.
Ksoo
Насколько я понимаю, 51% нужен для 100% вероятности запустив схему здесь и сейчас, через день мы имеет более длинную цепочку, и с каждым днем превышающую по длине основную.
А вот имея 10%, уже не 100% вероятность, но пробуя каждый день, мы будем иметь шанс получить более длинную чепочку, которая может продержаться пару часов. Может сейчас, какой то милиардер и сидит, пытается получить лавры Геростата.
0serg
Уровень сложности в битке пересчитывается раз 2 тысячи блоков. Можно спокойно провести 2-3 атаки в неделю не повлияв заметно на измеряемую мощность. Скрыть атаку впрочем в любом случае не удастся, но непонятно кому и зачем выходить из этого выгодного предприятия. Отказаться от использования биткоина обрушив его цену? Но тогда проиграют все. Большинству держателей битков будет выгоднее просто признать новую реальность где вся власть находится у держателей пула 51%.
Mad__Max
Измеряемая (разными мониторингами) мощность считается же не только из текущей сложности(которая да, меняется только примерно раз в 2 недели), но из сложности + текущих средних интервалов между несколькими последними добытыми блоками.
Интервалы (а с ними и оценка мощности сети) меняются практически сразу же с подключением дополнительных мощностей. Единственная погрешность ограничивающая точность и оперативность таких замеров — естественный случайный разброс (т.к. нахождение хэша нужного для добычи блока процесс вероятностный, а не детерминировнный). Но при усреднении интервалов за 10-20 последних блоков скользящей средней (что в случае биткоина равно 1-3 часам реального времени) получается достаточно адекватная и оперативная оценка реально работающих в данный момент мощностей в сети с погрешностью всего в несколько %.
pin2t
Все верно написано в предыдущем комментарии. Целью атакующего 51% мощностей не является отмена чужих транзакций, потому что атакующий не получит от этого никакого профита. Чтобы перевести монеты на свой кошелек, ему все равно нужен будет секретный ключ отправителя монет. Ну а если ключ от чужого кошелька есть то ненадо никаких атак, монеты переводятся обычной регулярной транзакцией.
Целью атакующего 51% мощностей является отмена своей транзакции, чтобы и монеты остались у него, и вторая часть сделки (например он продавал монеты на бирже), например доллары, тоже.
0serg
Простейший пример злоупотребления возможностью отмены транзакций за пределами double-spend: владея 51% объявляем что будем подписывать только транзакции с комиссией 1%. Всё. Хотите использовать биткоин (даже просто вывести с него деньги) — платите 1% владельцу 51%. Не платите — он просто отменяет вашу транзакцию.
Mad__Max
Такой «открытый» (явный, наглый и рассчитанный на длительное использование, а не неожиданная атака без предупреждения с целью сорвать разовый куш) шантаж не пройдет т.к. будет нейтрализован хардфорком — голосовать будут уже не выч. мощности майнеров, а основная масса реальных экономических агентов сети — сменой используемого софта полных нод в которых блоки «шантажиста» будут признаваться невалидными.
Как делается при расколе сети когда 2 части после форка существуют параллельно не мешая друг другу независимо от того какие в них мощности майнеров (как например Bitcoin и Bitcoin Cash).
0serg
Вы ничем не сможете помешать собравшему 51% мощности сети после форка провести атаку еще раз. Каждый раз форк будете делать и вручную решать какие блоки принимаем а какие нет?
Mad__Max
Сможем.
Конкретная стратегия противодействия зависит от того, можно ли атакующего как-то идентифицировать по какому-то формальному (доступному для автоматизированной проверки при помощи ПО) признаку. Он же один такой уникальный и действуют по условиям задачи открыто/явно. Если можно — то блоки соответствующие этому признаку просто считаются невалидными независимо от их «кумулятивной сложности» и в общую цепочку не встраиваются. Пусть сидит в своей песочнице и играет сам с собой.
Этот момент сильно зависит от характера конкретного атакующего. Например атакующий в вашем примере не включает в свои блоки транзакции с комиссией меньше 1%? Значит объявляем (и прописываем в новом ПО) все блоки в которых НЕТ какого-то доли (как минимум) транзакций с низкими комиссиями — невалидны. В результате либо атакующий не может внедрить свои блоки в сеть и остается изолированным — либо вынужден отказаться от своих требований, а вместо этого сам подчиниться новым выставленным сообществом основных экономических агентов — прописанным в новом ПО.
У явно действующего «вредоносного» агента должны быть какие-нибудь такие характерные признаки отличающие его от добросовестных майнеров. Иначе если он вообще ничем от них не отличается по поведению, то какая же это атака, а не просто слишком крупный майнер-переросток?
Если это в принципе по какой-то причине невозможно(с ходу не придумал — что такого может требовать атакующий при этом так чтобы его блоки было никак не возможно отличить от блоков добросовестных майнеров) — значит понадобится «тяжелое оружие»:
— либо форк со сменой алгоритма хэширования с SHA-256 на что-то другое, что моментально превратит в тыкву все гигатские горы оборудования (+ момещений и энергетической инфраструктуры) которое атакующий до этого накапливал для проведения атаки и потратил на это огромные средства. Тут со значительным «сопутствующим ущербом» в лице пострадавших честных майнеров.
— либо форк с переходом на одну из гибридных (PoW+PoS) систем майнинга. Которые уже обкатаны и хорошо себя показали на многих альткоинах «2го эшелона»с относительно невысокой капитализацией, для которых «атака 51%» это не сугубо гипотетическая проблема как для биткоина, а реальная ежедневная опасность — т.к. сущностей (людей/компаний или их объединений) единолично контролирующих или могущих быстро получить такой контроль (через сервисы аренды майнинговых мощностей к примеру) мощности достаточные для проведения атаки 51% достаточно много и более того, часть таковых сущностей регулярно такие попытки предпринимают уже длительное время «охотясь» на уязвимые криптовалюты.
Гибридный майниг показал хорошую устойчивость в условиях попыток реальных атак на подобные сети, где на кону реальные деньги, а не академический интерес.
0serg
В общем случае — нельзя
Атакующий хихикает и включает в блок свои собственные фиктивные транзакции с низкими комиссиями. В кошки-мышки играть можно долго, да. На каком по счету форке народу надоесть обновлять клиент :)?
Отдельный забавный момент состоит в том что все то время пока идет атака атакующий получает все финансовые вознаграждения доступные в сети. Те кто с атакующим борется — не получают ничего. Максимум чего Вы можете добиться в идеальном случае — это уменьшить размер этого вознаграждения, но остальные все равно не получат ничего. А майнинг, напоминаю, денег стоит. Как долго удастся сопротивляться в таких условиях?
Это будет создание новой криптовалюты. Причем практика показывает что новых валют по факту появится несколько штук. По сути это будет гибель битка и это не выглядит как более выгодное для большинства решение по сравнению с вариантом «оставить все как есть и просто платить комиссию 1%».
Мне кажется что тут речь идет о неуловимом Джо :).
leotsarev
Любое решение, подразумевающее форк, выкидывает все разговоры о децентрализации в корзину
tyomitch
Почему это? Решение о форке принимается не централизованно, а каждой нодой для себя.
pin2t
Во-первых, используйте корректную терминологию. Майнеры не подписывают транзакции, они формируют блоки транзакций, основной элемент блокчейна. Транзакции подписываются отправителями монет с помощью их секретных ключей.
Во-вторых, такая схема не будет работать. Потому что у атакующего 51% мощностей не хватит ресурсов майнить достаточно длинную цепочку блоков. Одно дело майнить цепочку длиной два-три блока, чтобы отменить свою транзакцию. Другое дело манить цепочку длиной 60-70 блоков, это примерно полдня работы сети bitcoin. Разница по ресурсам в 30 раз!
Отправители монет, кто не согласен платить 1% комиссию, просто скажут "Ну ок, мы подождем полдня". Так или иначе за эти полдня атакующий вынужден будет пропустить в самую длинную цепочку блоки намайненые другими майнерами, в которые и будут включены транзакции, которые атакующий пытается задержать и шантажировать отправителей.
0serg
Да, в терминологии правильнее сказать формируют, но это не влияет на суть.
Вы какую-то страннную схему описываете. Атакующий просто постоянно майнит «свою» цепочку. Все абсолютно как при обычном майнинге, там тоже можно выбирать какие транзакции будут включены в блок а какие нет. Транзакции без комиссии в цепочку атакующего не включаются. При наличии у него 51% его цепочка ВСЕГДА будет через некоторое время опережать любую другую. Ваши «ждуны» просто никогда не получат подтверждения транзакции.
Firz
Так суть атаки в том, что атакующий майнит свою цепочку блоков, о которой никому не говорит до определенного момента(а заодно тратит свои биткоины в «правильной цепочке» и меняет их на что-то другое), потом свою более длинную цепочку «показывает» миру и, так как она длиннее, она заменяет собой правильную цепочку и у него снова есть его биткоины, которые он может потратить еще раз. То есть вся «правильная» цепочка перезаписывается его более длинной цепочкой.
p.s. Чертов кеш браузера, я же вроде обновлял страницу перед написанием комментария.
srgstm
По поводу вероятностей признаю свою неправоту. Все остальные аргументы остаются в силе.
0serg
Я буквально парой комментов выше показываю как использовать 51% без double-spend и разбираю почему бороться с этим будет невыгодно
Nick_Shl
С вероятностями у вас тоже беда — имея 51% можно сломать систему со 100% вероятностью — это только вопрос времени. Если у вас есть монетка на которой орёл выпадает в 51% случаев, а решка в 49%, то кинув её несколько раз результат не предсказуем, но на длинной дистанции… математическое ожидание стремится к соотношению 51 против 49.
usgleb
Хочу напомнить, что пул всего лишь площадка. Большинство майнинговых мощностей не принадлежат площадке. В случае намёка на злой умысел — пул потеряет доверие и мощности. С большой долей вероятности «овчинка» не будет стоить выделки.
IgorPie
Ну а что, продать 1000 битков дважды, 80 миллиардов баксов и плевать на участников пула. Купить небольшой остров и всe
usgleb
Прелесть Bitcoin в прозрачности. Такая махинация будет очень быстро идентифицирована и продать скорее всего такие битки не получится. Плюс представьте что будет с ценой в таком случае.
sbazanov
Во-первых, это не $80 млрд, а $80 млн.
Во-вторых, как только это обнаружится, цена биткоина резко пойдет вниз. И не факт, что после этого удастся продать и вывести из биржи.
Politura
Еслиб биржи двигали блокчейн, то были-бы дикие комиссии за каждое движение, плюс безумно медленная работа, так что да, песочницы. Но совсем не а-ля форекс. Форекс брокер сам рисует какую хочет цену и не показывает ордера клиентов, на форексе ты всегда покупаешь и продаешь валюту у брокера, а не у других участников. А на нормальных криптобиржах ты торгуешь с другими клиентами биржи. Ты имеешь доступ ко всем открытым на бирже позициям на покупку/продажу и можешь использовать эту инфу для принятия решения.
Ivan22
кстати на реальных биржах тоже за каждой сделкой движения ценных бумаг не происходит. Они происходят пачками во время клининга, а он может быть и даже раз в сутки.
Daemon_Hell
Более того — часто движение бумаг происходит не в тот день, когда была заключена сделка, а в Т+ (в случае московской биржи это в основном 2 дня). И да, это называется клиринг (подозреваю злую автозамену)
Daemon_Hell
Перегонять крипту при каждой транзакции — крайне накладно, проще писать в бд, а в блокчейн отправлять только при выводах. На прошлой неделе транзакции в uniswap стоили ~$200 за операцию в блокчейне +0.3% самому пулу.
alliumnsk
Вроде бы как есть легковесные криптовалюты, которые могут быть номинированы, опять же, в биткойнах
Vilgelm
Существуют децентрализованные биржи, которые двигают блокчейн. Правда они в основном на Ethereum с его смарт-контрактами основаны.
Zalechi
Что же это получается, — царь не настоящий!
cLiKeT
Все верно, внутри биржи все биткоины пользователей хранятся на нескольких кошельках, по типу: deposit wallet, withdrawal wallet, cold wallet. А все операции внутри биржи всего лишь цыферки для вида.