Математика взлома Ethereum
Я был ленивым учеником. Колледж и аспирантура предлагали соблазнительные альтернативы «учебе», и я в полной мере ими воспользовался.
Я начал со специализации физика, но вскоре обнаружил, что количество математических знаний, необходимых для получения степени по физике, само по себе достаточно для получения степени только по математике. Поэтому я переключился на математику.
Математика давалась мне легко. Несмотря на то, что я никогда не учился и редко появлялся на занятиях, я с отличием окончил колледж Роанок и получил степень бакалавра наук по математике. Тот же колледж много лет спустя присвоил мне звание почетного доктора наук.
Моих оценок было достаточно, чтобы получить диплом ассистента преподавателя в Северо-восточном государственном университете Луизианы. Находясь там, я выбрал подобласть точечно-множественной топологии в качестве основного направления. В то время в этой области не было абсолютно никакого практического применения, но лежащая в ее основе математика была настолько тривиальной, что десятилетний ребенок мог освоить ее за несколько недель. Моя лень опять взяла надо мной верх.
Меня выгнали из штата Северо-Восточная Луизиана еще до окончания первого года обучения за то, что я спал со своими учениками — почти со всеми, если я правильно помню. По крайней мере, студентки.
В следующем квартале я перевелся в политехнический институт Вирджинии и начал заново. К этому времени, однако, мои способности к математике выросли до такой степени, что мое нетерпение не могло более выносить застойного, сформулированного состояния моих профессоров.
Я вскакивал в классе, нетерпеливо выхватывал мел из рук моего профессора и заканчивал теорему, как мне казалось, более элегантно и красиво, чем подход, который использовал мой профессор, например.
Меня выгнали до конца второй четверти.
То, что я узнал о математике, с этого момента я узнал самостоятельно.
То, чему я научился в выбранной мной области — изучение сбора вещей в наборы и отношений между наборами во вселенной возможных наборов — изменило мою жизнь.
Вся реальность может быть определена в терминах топологии множества точек. Известные элементы составляют множество. Мир молекул создает различные наборы, которые пересекаются в другом измерении с набором элементов. Если наборы молекул становятся достаточно большими, тогда создается мир физической материи, который мы можем видеть, касаться и с которым можно взаимодействовать, и в этом мире появляется все больше возможностей для создания наборов.
И в основе всех этих множеств лежит мир квантовых частиц, создающий эфемерные множества, которые появляются неизвестно откуда и так же быстро исчезают неизвестно куда и когда.
Это поле наполнено изысканными тайнами, которые можно разгадать с мучительно красивой точностью.
Что подводит нас к взлому Ethereum. (Дополнительную информацию см. в этой статье.)
Слабость, которую использовали хакеры DAO, не была слабостью математики блокчейна или математики какой-либо части структуры DAO. Математика звучит. Тем не менее, математика, использованная хакерами, была столь же надежной. Математика мало заботится о понятиях «потери», «обида» или любых других принципах человеческого восприятия.
Не утомляя читателя излишними подробностями, техника, использованная хакерами, была эквивалентна тривиальной, но мощной технике, используемой программистами на протяжении десятков лет, под названием «рекурсивная подпрограмма». С точки зрения непрофессионала, это процедура, которая называет себя своей собственной подпрограммой. Тривиально построить, но иногда трудно осмыслить.
Хакеры DAO использовали эквивалентную технику, называемую «рекурсивной схемой создания дочерних DAO». Достаточно сказать, что это сработало.
Лидеры сообщества Ethereum сейчас обсуждают решение этой проблемы с использованием двух концепций: софтфорков и хардфорков.
Это хард-форк, который приводит в ужас всех, кто полностью понимает математику блокчейна и процессы транзакций. В основном это включает в себя изменение прошлого правила таким образом, чтобы все люди, которые потеряли активы, могли восстановить эти активы.
Это звучит хорошо. Но для этого требуется, по сути, на мгновение обратить время вспять.
Математике удобно пользоваться концепцией обращения времени. Достаточно просто добавить к формуле знак минус.
Однако это навсегда изменяет реальность того, к чему применяется формула.
Блокчейн и его процессы транзакций не включали этот знак минус по какой-то причине. Это создаст хаос в реальном мире, к которому применяется блокчейн. Как люди, мы никогда не сталкивались с состоянием, когда время бежит вспять, и мы неспособны иметь дело с реальностью, в которой это разрешено.
Если лидеры сообщества Ethereum примут решение о проведении хард-форка, то конечным результатом в какой-то момент станет хаос в системе, разработанной с нуля для наведения порядка.