Перевод статьи аналитической компании Coin Metrics.
20 ноября 2017 года на Bitcointalk был опубликован такой пост:
Долго думал, стоит ли писать сюда. И сейчас пишу и сомневаюсь, правильно ли я поступаю.
Есть интересная задача. Полностью детали раскрывать здесь и сейчас я не хочу по двум причинам: одни не поймут, другие сами теоретически могут воспользоваться.
Я по-чапаевски, на картошках.
Представьте себе что есть казино с джекпотом на 500 тыс долларов. (Еще раз повторю - казино тут не при чем, это пример для понимания ситуации)
Чтобы сорвать этот джекпот надо сделать ставку. Цена ставки - около $15k и вероятность что ставка выиграет около 60%. Да-да. Я не ошибаюсь, вероятность выигрыша больше половины, а с учетом того, что выигрыш не вдвое, и даже не вдесятеро больше ставки — то игра очень привлекательная! Ставка, конечно, может и не сыграть, но тогда можно повторить, хотя на это понадобится еще 15к (update: джекпот тоже только один, то есть если кто-то его забирает, то повторить фокус не выйдет)
Проблема в том, что цифры нельзя масштабировать. То есть я не могу поставить 1.5к и сорвать джекпот в 50k. А 15 штук баксов у меня сейчас прям нет.
Что бы вы делали в подобной ситуации?
Я пока наблюдаю. Проблема в том, что про этот джекпот еще несколько человек в мире точно знают. Они пока тоже наблюдают, но не факт, что в любой момент не воспользуются.
PS/ Писал в ветку "бизнес", потом решил что бизнеса тут нет, даже на "идею" не особо тянет
PPS/ Только не думайте, что все так просто: пришел, купил фишек, поставил и ждешь шарика. Я эту идею уже месяц со всех сторон разглядываю и тыркаюсь. Но кроме первоначальных затрат все остальные технические проблемы фактически решил.
Несколькими неделями ранее произошли два важных события: 1 августа происошел хардфорк Bitcoin Cash. Затем, 24 августа, в сети биткоина было активировано самое важное обновление за последние годы: SegWit.
Важно отметить, что сети биткоина и Bitcoin поддерживают специальные типы адресов — P2SH — которые начинаются с «3». Эти адреса позволяют использовать сложные скрипты (к примеру, схемы мультиподписи). Скрипт, связанный с P2SH-адресом, известен только тогда, когда адрес «расходуется»: если кто-то отправляет BTC или BCH на неизрасходованный P2SH-адрес, он не может знать, какой скрипт используется.
SegWit, среди многих других изменений, добавил специальный тип P2SH-адреса: nested SegWit. Эти адреса выглядят как обычные P2SH-адреса, но их скрипт расходования использует SegWit. Он предлагает простой и обратно совместимый способ расходования для пользователей SegWit.
Со временем многие пользователи по ошибке отправляли BCH на такие SegWit-адреса. Поскольку Bitcoin Cash не поддерживает SegWit, скрипты этих адресов выглядят как адреса, с которых можно тратить (для этого не требуется подпись; все, что нужно, - это знание скрипта). Эти BСH и являются тем «джекпотом».
Но есть один нюанс! Только майнеры могут получить доступ к нему. Транзакции должны подчиняться общим правилам консенсуса (без двойной траты и т.д.) и следовать определенным стандартам, чтобы их передавали ноды. Биткоин имеет небольшое количество стандартных скриптов, которые передаются от ноды к ноде. Нестандартные скрипты принимаются как часть добытых блоков, но не передаются нодами.
Транзакции, тратящиеся с nested SegWit на Bitcoin Cash, нарушают один из этих стандартов (если быть точным, "правило чистоты") и поэтому не будут передаваться; они могут быть добыты только если включены непосредственно майнером. Таким образом, только майнеры (или пользователь, напрямую контактирующий с майнером) могут тратить с nested SegWit на Bitcoin Cash.
Теперь, обладая этими знаниями, мы можем «расшифровать» пост пользователя Bitcointalk:
- Джекпот в $500 000: на момент публикации на nested SegWit-адреса в Bitcoin Cash было отправлено чуть более 400 BCH (на тот момент около $500 000), на которые могли претендовать только майнеры.
- Ставка в $15 000: это стоимость аренды 1/144 хешрейта BCH на один день.
- Вероятность выплаты 60%: у 1/444 майнера есть шанс в ~63% добыть блок за один день.
«По сути дела, мне не нужно даже эти $15к в руки получать — мне нужно смайнить блок. Но все пулы в Китае и друзей среди админов у меня нет», — написал пользователь в комментариях.
Со временем на вложенные адреса SegWit было отправлено более 19 000 BCH. Теперь давайте проанализируем судьбу этих ошибочно потерянных BCH.
10 сентября 2017 года пользователь Reddit под ником btctroubadour заметил тревожную картину: многие пользователи Trezor отправляли BCH на вложенные адреса SegWit. Он порекомендовал майнерам создать сервис восстановления, который бы собирал эти потерянные BCH и возвращал их пользователям (за вычетом платы за поиск этой проблемы пулами). Как это часто случается в интернете, дискуссия быстро переросла в бесконечные дебаты и нападки, и из этого ничего не вышло.
Тем не менее, несколько человек (в том числе наш наш пользователь Bitcointalk) обратили на это внимание, а с течением времени размер вознаграждения, созданный этой проблемой, продолжал расти.
14 ноября 2017 года Антуан Ле Кальвес из Coin Metrics написал в Твиттере об этой проблеме, предоставив первую публичную оценку вознаграждения, которое было доступного на то время: 478 BCH.
Два дня спустя произошло первое восстановление: BTC.com восстановил 100,7 BCH, ошибочно отправленных на nested SegWit-адреса.
Уже 21 ноября 2017 года надежды и мечты нашего пользователя Bitcointalk были разрушены: пользователь Reddit под ником bchsegwitrecover восстановил 493,5 BCH ($600 000 в то время) и предложил вернуть его пострадавшим пользователям (за вычетом 30% платы за поиск). Пользователи должны были предъявить претензии до 6 декабря 2017 года.
Отслеживая платежи, инициированные по адресу, который получил возвращенные средства, аналитики обнаружили, что bchsegwitrecover отослал потерянные BCH 7 пользователям на общую сумму 75,59 BCH (включая плату за поиск). Интересно, что одному пользователю, по-видимому, удалось договориться о вознаграждении в 15%.
Через два дня после объявления bchsegwitrecover пул BTC.com запустил сервис восстановления (с платой в 10%).
15 ноября 2018 года транзакции восстановления SegWit были полностью признаны недействительными из-за нового изменения правил консенсуса в Bitcoin Cash. 15 мая 2019 года (следующий хардфорк) это новое правило консенсуса было частично отменено.
Таким образом, многие публичные майнеры в этой ситуации проявили себя с лучшей стороны, вернув большую часть BCH, которую они восстановили, своим владельцам. Однако судьба половины потерянных монет до сих пор неизвестна. Они были «восстановлены» в блоках, которые не связаны с известными пулами. Эта «неизвестная» майнинговая организация старательно восстанавливает большую часть потерянных BCH с середины 2018 года.