Срыв стека
Шрифт:
– Ну в общем-то да, по крайней мере, до сих пор у меня было именно такое представление. Но вы, насколько я понимаю, хотите его разрушить? – улыбнулся собеседник.
– Да, Николай, смею небезосновательно утверждать, что ваши представления ошибочны. Вы глубоко заблуждаетесь, впрочем, как и многие другие свидетели этого беспрецедентного шоу; извините, по-другому всё происходящее назвать не могу. Потому что на самом деле, биткоины – это всего лишь договорная запись, обычная текстовая, на простом человеческом языке – не более того, выполненная с согласия двух или более сторон, неким, отличным от принятого в традиционных базах данных способом, совершенно не требующая
– Но как же так? – удивлённо произнёс Николай. – А что же тогда делают майнинговые фермы? И на что тратится вся эта энергия? Будьте так добры, поясните.
– Для чего тратится такое количество энергии – это и есть самая большая загадка, – рассмеялся Александр и добавил. – Но, кстати, не единственная. Например, совершенно непонятно, почему до сих пор так тщательно скрываются сами создатели этого проекта, прикрываясь вымышленным именем какого-то несуществующего японца.
– Да, но ведь шифрование при этом всё-таки используется? Этого-то, надеюсь, вы не будете отрицать? – возразил собеседник.
– Конечно, используется. Я вам даже больше скажу; сегодня передача любой мало-мальски секретной информации, от самой серьёзной биржевой до обычной WhatsApp переписки, не обходится без шифрования. Однако, заметьте, ни одна из них не требует таких колоссальных затрат энергии, хотя криптографические алгоритмы везде применяются одни и те же. Например, основанная на наличии публичного и приватного ключей система асимметричного шифрования, которая используется для доступа к электронным кошелькам владельцев биткоинов – стара как мир. Она, конечно, совершенствуется, но, уверяю вас, не с целью увеличения затрат энергии и времени на кодировку, а лишь с целью её устойчивости ко взлому, – улыбнулся Саша.
Отложив пока вопрос, на что же всё-таки тратится энергия, Николай решил для себя кое-что из услышанного уточнить и спросил:
– Александр, я немножко недопонял, что означают ваши слова «биткоин – это просто текстовая запись»? Не могли бы вы объяснить мне подробнее, так сказать, на пальцах, как они всё-таки выглядят, биткоины?
– Ну, тут всё просто. Записи могут быть как минимум двух видов: приход денег и расход денег. Одни свидетельствуют о получении биткоинов, другие – об их отправке. И те и другие отражают события, происходящие в вашем электронном кошельке, причём достаточно подробно. Все записи ведёт система. Это такой своеобразный дневник, устроенный так, что в нём невозможно ни удалить листы, ни вклеить, ни поменять местами, ни изменить их содержимое, так как контрольная сумма предыдущей записи участвует в формировании контрольной суммы записи, следующей за ней. Это один из ключевых принципов технологии «цепочки блоков», по-английски – «блокчейн».
Например, самая первая запись вполне может иметь такое содержание: Сегодня такое-то число, столько-то времени. При майнинге в составе такого-то пула, с таким-то количеством участников, такой-то фермы, от Сатоси Накамото получено вознаграждение за произведённые вычисления, давшие самый красивый хеш с восемнадцатью нулями, в размере одна тысячная биткоина. Итого на данный момент вы имеете столько-то биткоинов.
Затем к этой записи добавляется специальное небольшое поле, которое можно изменять, и путём последовательного перебора разных вариантов его содержимого, и для этой записи тоже вычисляется свой «красивый» хеш с восемнадцатью нулями, – улыбнулся Саша. – И так до бесконечности – в общем, полный бред.
– Александр, а что такое хеш? – спросил Николай, хотя вопрос,
– Хеш, с английского переводится как «мешанина». Его часто ещё называют контрольной суммой или свёрткой. Это целое число, обычно представленное в шестнадцатиричной форме, может иметь разную, но фиксированную длину, поэтому незначащие нули в нём тоже присутствуют, которое вычисляется специально разработанными для этих целей хеш-функциями или, как их ещё называют, функциями свёртки. Любую последовательность данных, любой, но обязательно конечной длины, будь то: текст, файл или часть потока информации, они превращают в хеш.
При этом у таких функций есть одно важное свойство. И хотя это строго и не доказано, но считается, что обратных функций, позволяющих преобразовать хеш снова в исходную информацию, не существует. Да это в общем-то и очевидно – ведь из слова, состоящего всего лишь из шестидесяти четырёх букв, а именно такой длины хеш используется в биткоинах, текст романа «Война и мир» не восстановить.
– Ага, теперь понятно, то есть если в записи события электронного кошелька изменить хотя бы один символ, то обязательно изменится и контрольная сумма. А майнинг заключается в поиске ТАКОГО дополнительного поля к записи события, которое даст самый «красивый» хеш, – улыбаясь подытожил Николай. – Скажите, Александр, а почему вы «красивый» хэш назвали бредом?
– Да потому что именно на его поиск якобы и уходят миллиарды киловатт-часов электроэнергии. Уходят впустую, потому что для технологии блокчейн количество нулей в контрольной сумме вообще не имеет никакого значения! Важна только целостность информации, а хеш – это всего лишь контроль этой целостности, и стремление к большому количеству нулей – это просто бред. Хотя,.. – Саша хитро улыбнулся. – Есть у меня, конечно, некоторые соображения на этот счёт; ведь люди, придумавшие биткоины, не могут быть такими глупыми. А значит, на всё должна быть своя причина.
– И вы её знаете? – с интересом молвил Николай.
– Да, конечно, – Саша рассмеялся. – Желаете услышать? – он улыбаясь посмотрел на собеседника.
– С удовольствием, – ответил тот, уже устраиваясь в кресле поудобнее.
– Хорошо. Значит, что такое биткоины, мы разобрались… Теперь попробуем предположить причину их возникновения. Для этого давайте представим себе такую ситуацию. Вот мы с вами тут сидим, и вы мне говорите:
« – Саша, у меня есть одна идея, но мне для её реализации нужен миллион компьютеров. И это огромная проблема, потому что во-первых, у меня нет таких средств, чтобы их купить; во-вторых, у меня нет площадей, чтобы их где-то разместить; в-третьих, нет столько электроэнергии, чтобы их питать, а мощность потребления будет большая, так как мой проект подразумевает использование и процессоров видеокарт. В-четвёртых, мне не потянуть такого количества обслуживающего персонала. Что делать? Мы можем с тобой что-нибудь придумать?»
На что я отвечаю:
« – Николай, я не только знаю, как решить твою проблему, но, думаю, что мы ещё и неплохо заработаем. Я предлагаю воспользоваться уже существующими компьютерами, которые удовлетворяют всем твоим требованиям – уже купленными, размещёнными, запитанными и обслуживаемыми! На сегодняшний день таких в интернете уже больше миллиарда, и миллион – это не так уж и много, всего лишь одна тысячная часть от общего числа. Да, они не наши, но есть неплохая идея, как их заполучить, и для этого, прежде, мы создадим свои собственные электронные деньги – «криптовалюту», которую назовём биткоинами!