Книга Блокчейн, страница 25. Автор книги Александр Цихилов

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Блокчейн»

Cтраница 25

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

В качестве начального условия Накамото установил, что в момент запуска системы вознаграждение за создание блока будет составлять 50 биткоинов. А затем каждые четыре года оно будет сокращаться вдвое до тех пор, пока общее число биткоинов в системе не достигнет величины в 21 млн монет. Согласно расчетам, последний биткоин в системе будет создан около 2140 года, при этом уже к 2036 году будет получено более 99 % всех монет. А после того как все монеты будут выпущены и вознаграждение за создание блока упадет до нуля, майнерам придется довольствоваться лишь транзакционной комиссией, которую они будут отчислять в свою пользу при создании новых блоков. Предполагается, что к тому моменту стоимость одного биткоина будет настолько велика, что даже отсутствие майнингового вознаграждения никак не скажется на мотивации майнеров, поскольку собираемая ими транзакционная комиссия с лихвой окупит все их издержки на майнинговые процедуры.

К середине 2018 года майнинговое вознаграждение уже дважды сокращалось от первоначально установленного Накамото значения – сначала в 2012 году до 25 биткоинов, а затем в 2016 до 12,5 монет. Следующее снижение вознаграждения ожидается в мае 2020 года, и его величина составит 6,25 биткоинов. При этом совокупная транзакционная комиссия может доходить до одного биткоина и даже более. Однако это происходит только во время повышенной нагрузки на сеть, когда транзакций становится слишком много и комиссия за их включение в блок растет. В обычное же время при отсутствии серьезной нагрузки совокупная комиссия всех транзакций в блоках составляет значительно меньшие суммы.

Ограничивая максимально возможный объем конечной эмиссии биткоинов величиной в 21 млн монет, Накамото преследовал в первую очередь цель защиты от инфляции. Создатель проекта надеялся, что стоимость биткоина в перспективе будет только расти и может в конечном итоге достичь весьма серьезных величин. Поэтому было определено, что каждый биткоин может дробиться на 100 млн частей, или, другими словами, иметь восемь знаков после запятой. Мельчайшую частичку в 0,00000001 биткоина впоследствии стали называть «сатоши» в честь создателя системы Биткоин. Очевидно, что если предел эмиссии жестко ограничен, то вместо инфляции система будет иметь дело с ее полной противоположностью – дефляцией, когда все товары и услуги, номинированные в биткоинах, будут со временем уменьшаться в абсолютных значениях своей стоимости. Но даже если когда-нибудь стоимость одного сатоши станет равна одному американскому центу, общая ценность всех монет биткоин составит около $21 трлн, что вполне позволит этой криптовалюте стать массовым платежным средством в мировом масштабе.

По сравнению с традиционными формами денег биткоин серьезно защищен от несанкционированного воспроизведения – на страже этого процесса стоят криптостойкие математические алгоритмы. Однако даже у системы Биткоин есть одна уязвимость, которую, впрочем, чрезвычайно сложно реализовать даже в теории. Эта уязвимость называется «атакой 51 %», и ее суть состоит в том, что в сети может появиться узел (или группа узлов) с исключительной вычислительной мощностью, составляющей более 50 % всего совокупного хешрейта сети. Другими словами, эти узлы начинают майнить новые блоки быстрее, чем вся остальная сеть. В сети Биткоин есть правило, что в случае, если в системе образуются разветвления в цепочке блоков, сеть принимает более длинное ответвление за истинное. Таким образом, более короткое ответвление со всеми блоками, включенными в него, просто не принимается сетью и отбрасывается. Автоматически исключаются также все транзакции, которые были помещены в блоки не принятого сетью ответвления.

Подобный сценарий развития событий предполагает, что только лишь самого факта включения транзакции в один из блоков явно недостаточно. Согласно правилам, требуется определенное время, чтобы убедиться, что транзакция не попала в ветвление блоков, которое, возможно, будет отброшено в пользу какой-то более длинной альтернативной цепочки. Обычно считается, что любое из параллельных ответвлений не может быть длиннее шести блоков, то есть вероятность возникновения такой ситуации исключительно мала. Поэтому предполагается, что шести подтверждений для любой транзакции в сети Биткоина достаточно, чтобы она считалась окончательно состоявшейся. То есть если после блока, куда была помещена транзакция, в цепочку было включено еще пять блоков подряд, то это и есть те самые шесть подтверждений, необходимых для признания транзакции совершенной (один блок означает одно подтверждение). Другими словами, для полного подтверждения транзакции необходимо время, примерно равное шести десятиминутным отрезкам или одному часу. Возвращаясь к проблеме «атаки 51 %», представим, что какой-то узел стал вычислительно превалировать в сети и именно его блоки стали складываться в ту цепочку, которую остальная сеть вынуждена признать истинной. Чем же это плохо для сети в целом?

Во-первых, доминирование одного узла или их группы, объединенных общей целью, может привести к тому, что этот консорциум злоумышленников может взять под контроль весь майнинг блоков и, как следствие, все новые транзакции сети. Помимо того, что они фактически монополизируют доход от вознаграждения за майнинг, они смогут включать в блоки только угодные им транзакции. И в первую очередь будут включаться транзакции, которые допускают повторное использование одних и тех же монет, то есть осуществляют «двойную трату». Единственное, что они не могут сделать – это вмешиваться в данные ранее созданных блоков, для этого даже 51 % вычислительной мощности будет явно недостаточно. Дело в том, что в этом случае возникнет необходимость пересчитать все хеши блоков, начиная от изменяемого и заканчивая последним в цепочке с учетом внесенных модификаций. В результате нужно будет найти новые нонсы для всех пересобранных блоков и предложить сети новую цепочку довольно приличной глубины. В то же время вся остальная сеть продолжит обсчитывать и формировать блоки, начиная с последнего, принятого ранее всей сетью (то есть гораздо более позднего блока, нежели тот, который обсчитывают злоумышленники). Что же касается вопроса двойной траты, то это действительно может стать серьезной проблемой. Кстати, именно она в свое время не позволила создать децентрализованные цифровые деньги в «доблокчейновый» период. Для того чтобы понять, почему «атака 51 %» позволит осуществлять двойную трату, рассмотрим следующий пример.

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

Вход
Поиск по сайту
Ищем:
Календарь
Навигация