Десять лет без Сатоши: создатель биткоина ушел из сети 13 декабря 2010 года

Сегодня, 13 декабря, ровно десять лет с тех пор, как анонимный создатель биткоина Сатоши Накамото вышел из сети и исчез навсегда

Sponsored Sponsored

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

Сатоши Накамото — кто бы он ни скрывался под этим псевдонимом — написал последний пост на форуме BitcoinTalk 12 декабря 2010 года. Пост бы о том, как предотвратить атаки типа «отказ в обслуживании» (DoS) на сеть биткоина.

Sponsored

Sponsored

На следующий день он ушел в офлайн, и больше никогда не возвращался.

Пит Риццо, редактор криптовалютной биржи Kraken, написал у себя в твиттере: «Сегодня 10 лет с тех пор, как Сатоши написал последний пост на BitcoinTalk».

10 years ago today, Satoshi made his final post to the Bitcoin Talk forum.

The next day, he logged off, never to return. pic.twitter.com/jnfgI1fXI6
— Pete Rizzo (@pete_rizzo_) December 12, 2020

Аннотация

При одноранговом устройстве денежной системы можно совершать электронные транзакции между участниками напрямую, минуя любые финансовые институты. Такая задача частично решается использованием цифровой подписи, но необходимость доверенного лица для контроля за двойной тратой лишает подход всех преимуществ. Мы предлагаем децентрализованное решение данного вопроса. Пиринговая сеть ставит метки времени на транзакции, хэшируя их друг за другом в цепочку с доказательством проделанной работы. Сформированные таким образом записи невозможно изменить, не выполнив заново всего объема вычислений. Самая длинная версия цепочки служит не только подтверждением очередности событий, но и доказывает, что над ней произвел работу крупнейший вычислительный сегмент сети. Пока наибольшая часть мощностей удерживается узлами, не объединенными целью атаковать сеть, они будут генерировать самую длинную цепочку, опережая злоумышленников. Устройство самой сети очень простое: сообщения рассылаются на основе принципа «наименьших затрат», а узлы могут покидать сеть и снова подключаться в любой момент, принимая самую длинную версию цепочки для восстановления пропущенной истории транзакций.

Почему Сатоши остается анонимным?

Кошельки Сатоши Накамото известны и мы уже писали об этом ранее здесь. В общей сложности Сатоши владеет 1,125,000 BTC. Прибавьте к этому состоянию все возможные форки Биткоина. Сложно представить, какой эффект вызвало бы даже небольшое движение средств на этих кошельках.

Если его личность раскроется, он станет объектом для преследования со стороны журналистов, спецслужб, да и простых бандитов, которые будут искать легкой наживы. Кроме того, смог бы Биткоин получить такую популярность, не будучи созданным анонимным разработчиком? Это большой вопрос.

Именно поэтому, Сатоши Накамото и хранит свою анонимность.

Введение

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

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

Лингвистическое расследование Пенеберга

Нужно заметить, что ещё в 2011 году профессор журналистики и профессиональный лингвист Адам Пененберг из Нью-Йоркского университета провёл лингвистический анализ текстов Сатоси. По его мнению, разработчик Bitcoin умышленно использовал британскую маскировку, чтобы затруднить лингвистический анализ своих текстов, то есть он обладает незаурядным интеллектом и знает, как можно замести следы. Так что АНБ вполне могло попасть впросак.
В ходе своего расследования Адам Пененберг в течение нескольких месяцев изучал тексты Сатоси Накамото и проверял его специфические фразы. В конце концов журналиста ждала удача — он обнаружил, что специфическое сочетание слов встречается в интернете всего 26 раз, в основном — это копии из того самого документа. Но есть ещё один документ с тем же самым сочетанием слов. Это заявка на патент США № 20100042841 Updating And Distributing Encryption Keys, опубликованная в открытом доступе 18 февраля 2010 года. В данной заявке описывается криптографическая система, во многом основанная на тех же принципах, что и технология Bitcoin. Внимание исследователя привлёк один факт. Заявка на патент подана 15 августа 2008 года, а домен bitcoin.org зарегистрирован 18 августа 2008 года — ещё одно совпадение.

Авторами патентной заявки указаны три человека — Нил Кинг (Neal King), Чарльз Брай (Charles Bry) и Владимир Оксман (Vladimir Oksman). Дальнейшее расследование позволило предположительно определить личности этих людей. Все они являются авторами ещё нескольких патентов, близких к технологии Bitcoin.

Нил Кинг и Чарльз Брай — жители Мюнхена (Германия), а Владимир Оксман, возможно, это программист российского происхождения Владимир [Вова] Оксман, который живёт в Нью-Джерси и работает в компании Samsung (на данный момент Владимир перешёл на работу в Goldman Sachs, профиль LinkedIn).

За два месяца до запуска Bitcoin.org эти трое зарегистрировали ещё одну патентную заявку, которая тоже говорит сама за себя: Key Management For Communication Networks.

Лучше всех под лингво-психологический портрет Сатоси Накамото подходит Нил Кинг, считает автор расследования. Судя по его профилю на Facebook, это очень образованный и фантастически начитанный человек, он оставил отзывы к 46 книгам на Amazon, в том числе по астрономии, биологии, криптографии, лингвистике, литературе, математике, философии и физике. Причём эти отзывы написаны в отличном литературном стиле, очень чисто, без единого лишнего слова и опечаток, точно как Сатоси Накамото. Впрочем, как и остальные потенциальные соавторы, Нил Кинг отрицает свою причастность к Bitcoin. Шесть лет назад на прямой вопрос он дал весьма пространный ответ и высказался в том смысле, что вообще никогда не слышал о Bitcoin и ему пришлось изучить статью в Википедии.

Криптолог, который не слышал о Bitcoin — примерно то же самое, что и журналист, не знающий про твиттер, считает Адам Пененберг. Он также напомнил несколько примеров, как многие известные писатели и изобретатели издавали свои произведения анонимно и поначалу отрицали факт авторства. Впрочем, немногим удавалось навсегда сохранить анонимность.

Транзакции

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

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

Адресат должен знать, что никто из предыдущих владельцев не подписал транзакцию, предшествующую по времени той, что находится в цепочке отправленной ему монеты. Для наших целей лишь первая транзакция из нескольких является истинной, поэтому мы не должны беспокоиться о поздних попытках двойной траты. В централизованной модели эмитент знал обо всех транзакциях и решал, в каком порядке они идут. Чтобы избавить схему от посредника, участникам необходимо открыто публиковать транзакции [1], а также уметь приходить к согласию относительно единого порядка их следования. Получателю нужно доказательство того, что для каждой транзакции из цепочки большинство пользователей согласны считать ее первой.

Нобелевская премия не является главной целью Сатоши

Далее в электронном письме объясняется, что Нобелевская премия не входит в число целей Сатоши.

Но зачем так стараться доказать это, приводя свои истинные цели? Ведь для получения Нобелевской премии не нужно ничего делать. Все, что от него требуется, — дать согласие на номинацию Нобелевскому комитету и присутствовать на церемонии награждения. Или еще лучше — просто ответить Чоудри и позволить ему принять награду от своего имени.

В тексте также обнаружены ошибки, которые нельзя назвать простыми опечатками. Урожденный носитель английского языка не сделал бы такие ошибки, а значит автор этого письма таковым не является. Здесь возникает проблема, потому что текст, написанный Сатоши Накамото во время разработки Биткойна, был на безупречном английском языке.

Сервер меток времени

Начнем описание нашего решения с сервера меток времени. Его работа заключается в хэшировании блока данных, на который нужно поставить метку, и открытой публикации этого хэша, как в газете или Usenet-постах [2-5]. Штамп времени показывает, что в данный момент конкретные данные существовали и потому попали в хэш блока. Каждый хэш включает в себя предыдущую метку: так выстраивается цепь, где очередное звено укрепляет все предыдущие.

Спецслужбы ищут Satoshi Nakamoto

Некто Alexander Muse сделал заявление (разумеется, не подкрепленное фактами), в котором рассказал, что Агенство Национальной Безопасности (NSA) активно ищет Сатоши Накамото. Они используют метод, который называется стилометрия. Стилометрия — это исследование и идентификация уникального стиля письма, который свойственен только одному человеку.

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

Как пишет автор доклада, NSA нашли этого человека и они знают, кто такой Satoshi Nakamoto. Но вся информация находится в строжайшем секрете.

Доказательство работы

Чтобы реализовать распределенный одноранговый сервер меток времени, мы используем схему «доказательства работы», подобную системе Hashcash Адама Бека [6]. Суть заключается в поиске такого значения, чей хэш (например, SHA-256) начинался бы с некоторого числа нулевых битов. Требуется выполнить объем работы, экспоненциально зависящий от числа нулей, но для проверки найденного значения достаточно вычислить лишь один хэш.

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

Доказательство работы через хэширование также решает вопрос об определении версии, поддерживаемой большинством. Если голосом считается один IP-адрес, то такую схему можно скомпроментировать, если контролировать большой диапазон адресов. Наша схема основана на принципе «один процессор — один голос». Самая длинная из хэш-цепочек выражает мнение большинства, которое вложило в нее наибольшее количество ресурсов. Если более половины вычислительной мощи принадлежит честным узлам, то цепочка честных транзакций будет расти быстрее и опередит любую конкурирующую цепь. Чтобы внести изменения в любой из прошлых блоков, атакующему придется выполнить заново работу над этим блоком и всеми последующими, а затем догнать и перегнать честных участников по новым блокам. Ниже мы покажем, что вероятность такого успеха у злоумышленника, обладающего меньшими ресурсами, экспоненциально убывает в зависимости от числа блоков.

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

Сеть

Система работает по следующим правилам:

  1. Новые транзакции рассылаются всем узлам.
  2. Каждый узел объединяет пришедшие транзакции в блок.
  3. Каждый узел пытается подобрать хэш блока, удовлетворяющий текущей сложности.
  4. Как только такой хэш найден, этот блок отправляется в сеть.
  5. Узлы принимают этот блок, только если все транзакции в нем корректны и не используют уже потраченные средства.
  6. Свое согласие с новыми данными узлы выражают, начиная работу над следующим блоком и используя хэш предыдущего в качестве новых исходных данных.

Участники всегда считают истинной самую длинную версию цепочки и работают над ее удлинением. Если два узла одновременно опубликуют разные версии очередного блока, то кто-то из остальных пиров получит раньше одну версию, а кто-то — другую. В таком случае каждый начнет работать над своей версией цепочки, сохранив другую на случай, если она окажется продолжена раньше. Двойственность исчезнет, как только будет получен новый блок, который продолжит любую из ветвей, и те узлы, что работали над конкурирующей версией, переключатся на нее.

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

Цели и стремления

Известно, что создатель биткоина придерживается либертарианских взглядов. Не то, чтобы он имел жесткие антиправительственные настроения, но он пытался передать контроль над личными финансами людям, не связанным с глобальной банковской системой, а также избавить людей от обязательного налогообложения. В блоке биткоина Genesis, который часто упоминается как блок 0 или блок 1, Сатоши встроил сообщение в параметр coinbase:

«The Times 03 / Jan / 2009 Канцлер на грани второго этапа спасения банков через bail-out».

Термин «bail-out» означает спасение банков за счет средств государства.

Конечно, это необязательно является политическим заявлением и могло служить просто отметкой времени, чтобы доказать, что блок Genesis был создан 3 января 2009 года или позже. Однако это сообщение многие считают признанием способности центральных банков печатать бесконечное количество валюты по своему усмотрению, медленно дестабилизируя ее и уменьшая ее стоимость, не предоставляя общественности никакой отчетности своих действий. Создав цифровую валюту, максимальное количество которой определено на уровне математических расчетов, сводит к нулю шансы на инфляцию биткоина.

Несмотря на добычу около 980 000 BTC, адрес кошелька Сатоши Накамото использовался только для одной транзакции, которая должна было наглядно продемонстрировать работоспособность криптовалюты. Почему же с тех пор он ни разу не притронулся к своему капиталу? Ниже представлены предполагаемые причины, по которым создатель Bitcoin никогда не перемещал свои монеты:

  • будучи создателем биткоина, он знал, что на самом деле эта цифровая валюта является не совсем анонимной, поэтому, перемещая монеты, он мог бы случайно раскрыть больше информации о своей личности, чем намеревался;
  • он добывал монеты, используя адреса, не связанные с его основным кошельком, что позволило ему собрать столь внушительное состояние, не перемещая добытые монеты;
  • он считает, что перемещение столь огромного количества BTC (примерно 1/17 от общего количества созданных биткоинов) может оказать негативное психологическое воздействие на цену и стабильность криптовалюты;
  • его больше нет среди живых;
  • он связан каким-то контрактом, клятвой или соглашением, предусматривающим, что он никогда не тронет свои монеты;
  • он потерял доступ к приватным ключам.

Стимулирование

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

Другим способом стимулирования может быть комиссия за транзакции. Если входная сумма платежа больше выходной, то разница является комиссией за перевод и прибавляется к базовому значению награды за найденный блок в первой транзакции. Как только суммарный объем денежной массы достигнет заранее установленного максимума, единственным источником поощрения работы над блоками останутся комиссии, при этом избавленные от инфляции.

Такая форма стимулирования может также способствовать уменьшению случаев мошенничества. Если жадный злоумышленник способен выделить больше вычислительных мощностей, чем все честные участники, он может обманывать продавцов, аннулируя свои транзакции и возвращая средства, или же направить свои ресурсы на генерацию новых блоков и монет. Более выгодным для него является вариант «игры по правилам», который обеспечивает получение более половины всех новых денег, чем вариант «саботажа системы» и поддержания своего капитала на постоянном уровне.

Что означает имя Сатоши Накамото

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

В дословном переводе с японского «satoshi» означает «мудрый». Это довольно необычное мужское имя в Стране восходящего солнца, которое имеет множество определений, намекающих на изменение: «возродившийся из пепла, как феникс», «ясная мысль» или «остроумный». Все это достаточно тесно связано с биткоином и его оригинальной структурой, обладающей высокой степенью защиты.

Слово «nakamoto» переводится, как «тот, кто живет посередине». Это имя наиболее распространено на островах Рюкю, островной цепи к юго-западу от Японии, в которую входят острова Анами, Окинава и Сакишима. Этот регион, ранее известный как Королевство Рюкю, был независим от Японии в период XV-XIX веков и играл важную роль в развитии морских торговых путей региона.

В течение сотен лет Королевство Рюкю платило дань Китаю, пользуясь в обмен определенными торговыми правами и получая дипломатическую и техническую поддержку. В некотором роде это напоминает текущую криптовалютную экосистему.

В целом же, имя Сатоши Накамото можно перевести как «мудрый, который живет посередине».

Экономия дискового пространства

Как только последняя транзакция в монете-цепочке окажется внутри достаточно старого блока, все предшествующие ей транзакции в цепочке могут быть удалены в целях очистки дискового пространства. Чтобы хэш блока остался неизменным, все транзакции в блоке хранятся в виде хэш-дерева Меркла [7][2][5] и лишь его корень включается в хэш блока. Размер старых блоков может быть уменьшен за счет удаления ненужных ветвей этого дерева, хранить промежуточные хэши необязательно.


Заголовок пустого блока будет составлять около 80 байт. Из расчета скорости генерации блока раз в десять минут получаем 80*6*24*365=4.2 Мб в год. Для среднестатистического (на 2008 год) компьютера с 2 Гб оперативной памяти с учетом закона Мура, предсказывающего рост в 1.2 Гб в год, хранение данных не будет проблемой, даже если все заголовки блоков будут находиться в памяти.

Выдумка

Написанное далее выглядит как выдумка человека, изнуренного текущей ситуацией. Или у фальсификатора просто не было вдохновения.

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

«С меня хватит»!

Пожалуй, это звучит как угроза. Что он мог бы сделать нам? Прекратить работу всех узлов Биткойн-сети?

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

Однако имейте в виду, что гении — вообще странные люди, а в некоторых случаях даже очень. Поэтому еще рано делать окончательные выводы на счет этого письма.

Упрощенная проверка платежей

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


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

Тщательное исследование электронного письма

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

Итак, приступим. Первая же строка вызывает подозрения.

Если разработка Биткойна, большинства его концепций и сама реализация технологии — это заслуга одного человека, этот человек — поистине гений. Но автор письма в первой же строке утверждает, что он не скрывается. Но ведь на самом деле он скрывается, вне всякого сомнения. Опрометчивая ошибка, как для гения.

Или может быть он скрывается, находясь под пристальным вниманием? Ведь он криптограф. Умно.

Объединение и разделение сумм

Несмотря на то, что можно оперировать отдельными монетами, создавать специальную транзакцию для каждого цента было бы слишком неудобно. Для поддержки разделямых и объединяемых сумм транзакции содержат несколько входов и выходов. Обычная транзакция будет выглядеть так: либо один вход от предыдущего крупного платежа, либо несколько входов, аккумулирующих небольшие суммы, и не более двух выходов: один является собственно платежом, а другой, если необходимо, возвращает «сдачу» обратно отправителю.

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

Цели Биткойна представлены в ложном свете

Далее в письме речь идет о другой цели — «освободить Биткойн от жадных представителей так называемой верхушки, чтобы дать возможность добывать биткойны обычным майнерам».

Это заставило меня задуматься. Если письмо — обман, следует отметить, что мошенник довольно умен: не многим пришло бы на ум то, что биткойны не добывают обычные люди, как это изначально задумывалось. С другой стороны, нельзя сказать, что добыча биткойнов во власти верхушки. Конечно, майнинг приносит много денег крупным учреждениям, но эти организации — это те, кто возложили надежды на Биткойн много лет назад, обычные люди, которые поверили в него и смогли собрать необходимые средства для создания майнинговых площадок или платформ пулов для мелких майнеров. Сатоши должен был предвидеть вложение крупных инвестиций, ведь это неизбежно, когда имеешь дело с технологией, которая приносит большие деньги. Крупные инвесторы всегда рано или поздно появляются.

Приватность

Традиционная банковская модель поддерживает необходимый уровень приватности, предоставляя доступ к информации лишь сторонам-участницам и доверенному третьему лицу. Необходимость открытой публикации транзакций исключает такой подход, однако приватность по-прежнему можно сохранить, если публичные ключи будут анонимными. Открытой будет информация о том, что кто-то отправил кому-то некоторую сумму, но без привязки к конкретным личностям. Столько же данных раскрывается и на фондовых биржах, которые публикуют время и объем частных сделок, не указывая, между кем именно они были совершены.

Дополнительной защитой будет являться генерация новой пары «открытый/закрытый ключ» для каждой транзакции: это предотвратит связывание различных платежей с их общим отправителем или адресатом. Некоторого публичного связывания все же не избежать: транзакции с несколькими входами доказывают, что эти суммы принадлежат одному лицу. Риск состоит в том, что раскрытие личности владельца ключа может привести к раскрытию и всех принадлежащих ему транзакций.

Несмотря на отрицания, все еще кандидат

Виталик, «творец искусства» и сын программиста Дмитрия Бутерина, начал карьеру в программировании довольно рано с написания кода для небольших игр.

«Когда мне было 10, я начал писать игры на языке C++, используя Allegro. Сначала это были игры типа Bounce Ball, но постепенно я переходил к более сложным играм в стиле Tower Defense и Space Invaders. По сути, я создавал игры, в которые я затем сам играл, пытаясь победить себя. Как только я побеждал в одной игре, я переходил к созданию другой».

В мир Биткойна Виталик вошел семь лет спустя:

«Впервые я услышал о нем во время ужина от своего папы, когда мне было 17. Сначала я не воспринял эту технологию всерьез, так как казалось, что она не несет какую-либо фактическую ценность и никто ее не примет. Однако через несколько недель я наткнулся на обсуждение Биткойна в Интернете и пришел к мысли, что в этой технологии, возможно, действительно что-то есть».

Расчеты

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

Гонку между честными участниками и нападающим можно представить как биномиальное случайное блуждание. Успешное событие, когда «хорошая» цепь удлиняется на один блок, приводит к увеличению отрыва на единицу, а неуспешное, когда очередной блок создает злоумышленник, — к его сокращению.

Вероятность атакующего наверстать разницу в несколько блоков такая же, как и в задаче о «разорении игрока». Представим, что игрок имеет неограниченный кредит, начинает с некоторым дефицитом и у него есть бесконечно много попыток, чтобы отыграться. Вероятность того, что он преуспеет, как и вероятность злоумышленника догнать честых участников, вычисляется следующим образом [8]:

В случае p > q вероятность уменьшается экспоненциально с ростом числа блоков, на которое отстает злоумышленник. Поскольку все ставки против него, без удачного рывка в начале его шансы на успех становятся ничтожно малы.

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

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

Получатель ждет, пока транзакция не будет добавлена в блок и пока тот не будет продолжен еще z блоками. Ему неизвестен прогресс злоумышленника, но если средняя скорость генерации честных блоков — известная величина, то число блоков нападающего подчиняется распределению Пуассона с математическим ожиданием

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

Перегруппировав слагаемые и избавясь от бесконечного ряда, получаем:

Код программы на языке Си выглядит так:

#include double AttackerSuccessProbability(double q, int z) { double p = 1.0 — q; double lambda = z * (q / p); double sum = 1.0; int i, k; for (k = 0; k <= z; k++) { double poisson = exp(-lambda); for (i = 1; i <= k; i++) poisson *= lambda / i; sum -= poisson * (1 — pow(q / p, z — k)); } return sum; }

Запустив программу, мы видим, что вероятность экспоненциально падает с ростом z:

q=0.1 z=0 P=1.0000000 z=1 P=0.2045873 z=2 P=0.0509779 z=3 P=0.0131722 z=4 P=0.0034552 z=5 P=0.0009137 z=6 P=0.0002428 z=7 P=0.0000647 z=8 P=0.0000173 z=9 P=0.0000046 z=10 P=0.0000012 q=0.3 z=0 P=1.0000000 z=5 P=0.1773523 z=10 P=0.0416605 z=15 P=0.0101008 z=20 P=0.0024804 z=25 P=0.0006132 z=30 P=0.0001522 z=35 P=0.0000379 z=40 P=0.0000095 z=45 P=0.0000024 z=50 P=0.0000006

Решая уравнение относительно P < 0.1%, получаем:

P < 0.001 q=0.10 z=5 q=0.15 z=8 q=0.20 z=11 q=0.25 z=15 q=0.30 z=24 q=0.35 z=41 q=0.40 z=89 q=0.45 z=340

Один интересный вариант

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

Это соображение возвращает нас к Виталику Бутерину, который является основателем проекта Ethereum, а значит он — хороший претендент на подлинную личность Сатоши Накамото, если верить этому письму.

У Виталика русские корни. Он родился в России в 1994 году и переехал в Канаду в 2008 году.

Когда он переехал в англоязычную страну, ему было 6 лет. Теперь ему 21 год. Однако Виталик в совершенстве владеет английским, что видно из его недавнего интервью. Но есть еще одна загвоздка: если Виталик — Сатоши, на момент завершения разработки ПО для Биткойна ему должно было быть примерно 15 лет. Это не так уж и неправдоподобно. Некоторые дети настолько смышленые, что у взрослых аж дух захватывает, когда они понимают, что сами никогда не смогли бы до такого додуматься.

В электронном письме Сатоши также упоминает о благотворительном фонде. Мог ли 15-летний подросток настолько сочувствовать сиротам, чтобы уделить столько времени разработке технологии с целью помощи подобной организации? Это возможно, но маловероятно. Я не помню, что именно меня заботило в этом возрасте, но по большей части — это были девушки и видеоигры.

На странице About.me Виталика можно найти еще один интересный факт: он утверждает, что поступил в университет в 2012 году, «однако в скором времени бросил учебу, чтобы совершить шестимесячное кругосветное путешествие, при этом постоянно участвуя в проектах, связанных с криптовалютой. Результатом путешествия стала идея создания Ethereum». Биткойн был также запущен в 2012 году. Это было у всех на слуху, поэтому он как создатель не нуждался в еще большем внимании.

В 2013 году он сделал одно примечательное заявление: «Биткойн — это промежуточная технология».

Сеть

Система работает по следующим правилам:

  1. Новые транзакции рассылаются всем узлам.
  2. Каждый узел объединяет пришедшие транзакции в блок.
  3. Каждый узел пытается подобрать хэш блока, удовлетворяющий текущей сложности.
  4. Как только такой хэш найден, этот блок отправляется в сеть.
  5. Узлы принимают блок, только если все транзакции в нем корректны и не используют уже потраченные средства.
  6. Свое согласие с новыми данными узлы выражают, начиная работу над следующим блоком и используя хэш предыдущего в качестве новых исходных данных.

Участники всегда считают истинной самую длинную версию цепочки и работают над

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

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]