Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7e92d0ff8b7d3005 • Your IP: Click to reveal 138.199.34.5 • Performance & security by Cloudflare
Что такое PoW и PoS?
Механизмы консенсуса составляют основу всех криптовалютных блокчейнов и обеспечивают их безопасность.
В любой блокчейн-сети передаются два основных типа сообщений — транзакции и блоки. Транзакции формируются участниками системы и для их отправки достаточно знать приватный ключ от кошелька. А вот блоки необходимо защищать дополнительно.
В децентрализованных сетях любой её участник может вносить изменения в базу данных, но без дополнительных механизмов защиты это чревато различного рода манипуляциями, поэтому ещё при создании криптовалют были продуманы способы обезопасить блокчейн от подмены данных или проблемы повторной траты средств (double spending). Чтобы блокчейн отражал решение большинства, участникам сети необходимо прийти к соглашению, используя «механизмы консенсуса».
Например, для того, чтобы нельзя было исправить данные в предыдущих блоках информации, используется хэш-функция с захватом подписи предыдущего блока. То есть, чтобы изменить какие-то данные в старых блоках, злоумышленнику придётся пересчитать и все блоки после него, что обычно крайне трудозатратно и экономически нецелесообразно.
Хэш — это произвольный набор букв и цифр,который создаётся при обработке данных через хэш-функцию.Если хэшировать одни и те же данные, то результат будет прежним, однако при изменении хотя бы одной цифры в исходных данных хэш станет абсолютно другим. Также это однонаправленная функция, то есть, видя конечный результат нельзя сказать, какая информация была пропущена через эту функцию.
Блоки создаются особой категорией узлов сети блокчейна — так называемыми узлами консенсуса.
В случае биткойна эти узлы называют майнерами, поскольку они вознаграждаются за майнинг генерацией новых порций криптовалюты. Именно майнеры биткоина формируют его блокчейн, постоянно группируя входящие транзакции в блоки и распространяя их по сети.
Консенсус — это процесс, в ходе которого группа узлов сети определяет, какие транзакции в блокчейне действительны, а какие нет.
PoW стал прародителем всех остальных алгоритмов консенсуса. Впервые он был реализован в Биткоине, но сама концепция появилась задолго до этого. Доказательство работы было описано ещё в начале 90-х и применялось тогда для защиты от спама. Но использование PoW для нахождения консенсуса распределённой сети — и стало определённой инновацией.
Название «доказательство работы» отражает тот факт, что для нахождения блока надо совершить вычислительную работу, ожидаемое количество которой измеримо.
Суть технологии заключается в том, что майнеры должны перетасовывать данные, которые они хотят включить в блок, таким образом чтобы его хэш содержал в начале определённое количество нулей: например, 00000000022f88d2da21bd2802268966050f5a0b031058ce4562939c13727303.
Каждый последовательно идущий ноль в начале хэша усложняет задачу майнерам, поэтому им приходится тратить всё больше вычислительной мощности (совершать работу).
Сложность майнинга заключается в степени трудоёмкости нахождения походящего хэша, который используется для подписи блока. Сложность в сети автоматически корректируется в зависимости от вычислительной мощности, чтобы скорость нахождения новых блоков оставалась примерно на одном уровне.
Актуальный журнал транзакций при механизме PoW представляет из себя цепочку блоков с наибольшей суммарной сложностью. То есть майнеры должны искать новые блоки поверх уже существующих, иначе они будут отброшены остальными участниками сети как недействительные. Хотя, теоретически, никто не запрещает создавать новые блоки на основе какого-то старого блока, но суммарная сложность такой цепочки будет ниже и поэтому такая цепочка будет отброшена.
Иногда случаются технические расщепления блокчейна, если два майнера находят новый блок практически одновременно. В таком случае механизм PoW помогает защитить блокчейн от повторных трат, просто отбрасывая более короткую ветку, оставляя только одну из них актуальной. Именно из-за таких потенциальных расщеплений в сообществе существует негласное правило – ждать не одно, а несколько подтверждений (то есть количества блоков после).
Для биткоина достаточно подождать 3 подтверждения. Считается, что вероятность отбрасывания цепочки из трёх блоков стремится к нулю, поэтому ей уже можно полностью доверять.
Но вычисления, которые выполняются в рамках PoW, не служат никакой общественно-полезной цели, это лишь архитектурная особенность блокчейнов. Иными словами, на майнинг тратится неоправданно много ресурсов, которые можно было бы использовать не на защиту блокчейна, а для решения более насущных проблем человечества.
PoW используют Bitcoin (BTC), Ethereum Classic (ETC), Dogecoin (DOGE), Litecoin (LTC), Monero (XMR), Zcash (ZEC), Dash (DASH) и др.
На фоне критики PoW сообщество предлагает множество альтернативных алгоритмов консенсуса, которые не требуют «работы». Самая популярная категория таких алгоритмов основана на доказательствах доли (Proof of Stake). Доказательство доли похоже на доказательство работы, только вместо совершения определённой работы автор нового блока показывает, что у него есть необходимая доля токенов сети. Для «майнинга» на PoS достаточно иметь некий запас криптовалюты и просто получать с неё «проценты».
Узлы консенсуса в таких сетях называют валидаторы (вместо майнеров), а сам процесс нахождения консенсуса – стейкингом (вместо майнинга).
Система PoS не требует участия майнеров, использования специального оборудования или массового потребления электроэнергии — хватит обычного персонального компьютера. Поэтому он считается более экологичным.
PoS используют Ethereum (ETH), Cardano (ADA), Algorand (ALGO), Tezos (XTZ) и др.
Но оба рассмотренных механизма имеют как свои плюсы и минусы, поэтому постоянно появляются и другие версии. Например, существует модификация механизма консенсуса PoS, в которой происходит делегирование доли (Delegated Proof of Stake). Такая система опирается на голосование на основе репутации для достижения консенсуса. Пользователи сети «голосуют» за выбор валидаторов из некоего определённого перечня надёжных узлов.
DPoS используют Lisk (LSK), EOS (EOS), Steem (STEEM), Ark (ARK) и др.
Кроме доказательства работы и доли, блокчейн-энтузиасты постоянно экспериментируют и с другими алгоритмами.
Криптобиржа Blocktopia раздает 30 $ новым пользователям до 09.02.23
«Доказательство репутации» работает путём выбора валидаторов сети на основе репутации. В PoA валидаторы не блокируют свои монеты в стейкинге, а должны поставить на кон свою репутацию за право подтверждать блоки. Это сильно отличается от большинства протоколов блокчейна, которые обычно не требуют раскрытия личности для участия.
Чтобы выступать в качестве валидатора в таких сетях необходимо поделиться своим местом на жёстком диске. Это помогает за вознаграждение делиться неиспользованными ресурсами ПО.
Доказательство истёкшего времени используется в блокчейн-сетях с допуском (тех, которые требуют от участников идентифицировать себя). PoET использует доверенные вычисления для обеспечения случайного времени ожидания при создании блока.
PoH позволяет встраивать «временные метки» в сам блокчейн, «засекая» прошедшее между транзакциями время без какой-либо необходимости полагаться на другие узлы.
Направленный ациклический граф (DAG) не использует стандартную структуру блокчейна, а обрабатывает транзакции в основном асинхронно.
Узлы распределяют свои транзакции связывая их с другими узлами наугад, поэтому в итоге все транзакции переплетаются друг с другом.
Это теоретически даёт бесконечное количество транзакций в секунду, но и у консенсуса в DAG есть как сильные, так и слабые стороны.
DAG используют Iota, Hashgraph, Raiblocks/Nano и др.
До сих пор не существует универсального метода нахождения консенсуса. Каждый механизм консенсуса имеет свой набор преимуществ и недостатков, поэтому нет единого устоявшегося принципа.
Сообществу только предстоит найти механизм, который удовлетворит всем критериям доверия в распределённых сетях, и при этом будет эффективно использовать вычислительные ресурсы его пользователей.
Что такое алгоритм PoW (Proof-of-Work)?

Что такое алгоритм PoW? Это доминирующий метод обработки транзакций на криптовалютном рынке. Например, сейчас он используется в сети Биткоин, Эфириум, Лайткоин, Доги, Монеро и др.
Как обрабатываются транзакции?
Пользователь предоставляет оборудование для решения криптографической задачи. Новые блоки в блокчейне появляются следующим образом: вычислительное оборудование (видеокарты) «разгадывает» задачу, вследствие чего у него имеется возможность создать новый блок.
Разгадывание происходит простейшим методом. «Железо» перебирает миллионы комбинаций и создает доказательство работы. Это уникальное значение, которое называется хэш.
После нахождения ключ отправляется другим участникам сети на подтверждение. Они не могут использовать его для создания блока, а только верифицировать.
Особенность хэша заключается в его асимметрии. Он одновременно сложен для нахождения и прост для подтверждения. Кроме того, каждый ключ несет в себе данные о предыдущих блоках. Это дает возможность быть уверенным, что действия происходят в рамках одного Blockchain.
Обработка транзакции на алгоритме PoW – визуализация
Например, пользователь – участник лотереи. Он знает, что выиграет число 346. Отличным вариантом было бы подойти к продавцу и приобрести именно этот билет. Но вот незадача, выдаются они случайным образом. Пользователю потребуется заплатить и надеяться, что попадется нужное значение. Если нет, билет потребуется купить заново. Однако попытки не ограничены, но за каждый раз придется платить.
В лотерее каждый надеется первым получить заветный билет. Так и майнеры первыми хотят найти правильный ответ. Кто найдет хэш, тот в результате и получит вознаграждение в виде цифровых монет.
Основные минусы алгоритма Proof-of-Work
Главная отрицательная черта – вред экологии. На добычу новых блоков уходит чудовищное количество электроэнергии. Кроме того, майнинг быстро изнашивает комплектующие. Из-за этого образуются целые свалки различных компонентов, которые наносят вред окружающей среде.
Второй недостаток – степень защиты. В случае с Bitcoin сеть достаточно защищена из-за того, что в процессе участвует множество майнеров. Они конкурируют друг с другом в равных условиях. Если же говорить о менее крупных сетях, то есть вероятность того, что злоумышленники смогут заполучить большинство вычислительных мощностей. Это даст возможность реорганизовать блоки по своему усмотрению. Это иногда называют «атака 51%».
Proof-of-Work для чайников
Вы наверняка слышали, что блокчейн обеспечивает безопасное хранение данных. Но за счёт чего ему это удаётся?
В статье «Что же такое блокчейн на самом деле?» мы разобрались, что делает блокчейн децентрализованным, и затронули понятие Proof-of-Work — PoW, доказательство работы. Однако мы не обсудили в деталях, как работает механизм, какие проблемы решает и с какими трудностями сталкивается.
Децентрализация — ключевое свойство блокчейна, но она делает его потенциально уязвимым. Когда один участник сети хочет загрузить свою копию блокчейна, как другому пользователю узнать, что загружается «правильный» блокчейн? Если в сети тысячи компьютеров, что мешает сотням из них начать бомбардировать нового пользователя данными, которые они вместе подделали?
В информатике это называется задачей византийских генералов . Это очень сложный вопрос, но мы всё равно постараемся в нём разобраться.
Если вы знакомы с игрой в испорченный телефон, то понимаете, как легко исказить информацию при передаче по цепочке ради шутки или желая подставить другого. Дело в том, что в этой игре правда и ложь стоят одинаково. Но что если бы за подложные данные пришлось доплачивать?
Алгоритм Proof-of-Work (PoW) позволяет участникам блокчейн-сети знать, была ли предлагаемая им информация создана бесплатно или её авторам пришлось серьёзно вложиться в её создание.
Почему PoW столь важен
PoW используется в биткоине для решения нескольких проблем, стоящих перед децентрализованной сетью, у которой нет «начальства». Рассмотрим самые важные из них.
Какая версия истории правильная?
В сети, где вам нужно знать, кто располагает деньгами, кто тратил деньги и кто их получал, история — это всё. Раньше считалось, что участникам децентрализованной сети, которой никто не руководит, невозможно достичь полного консенсуса и согласиться друг с другом.
Время в сети имеет решающее значение, так как биткоин создаёт новые монеты каждые десять минут. В традиционной системе вы просто скажете: «Посмотри на часы», но в децентрализованной глобальной системе встаёт вопрос, на чьи часы смотреть.
Представим, что новый компьютер присоединяется к сети сегодня. «Старожил» может сказать: «Эй, вот деньги, которые я отчеканил шесть месяцев назад, и деньги, которые я отчеканил ещё через десять минут». Как новый участник сети сможет подтвердить действия, которые были совершены в прошлом?
Чтобы понять, как Proof-of-Work справляется с этими двумя вопросами, вы сначала должны понять, что это за механизм и как он работает.
Анализ Proof-of-Work: Без кода совсем никуда
Когда Стивен Хокинг писал свой шедевр «Краткая история времени», коллега сказал ему, что каждая научная формула, которую он включит в книгу, уменьшит количество читателей на 50%. Так что в итоге Хокинг оставил только знаменитую Эйнштейновскую E= mc 2 . Книгу Хокинга в итоге прочли миллионы людей, многие из которых весьма далеки от физики.
Поскольку эта статья нацелена на широкую аудиторию, постараемся использовать в ней как можно меньше кода.
Напомним, что хеш-функция предоставляет собой уникальный цифровой отпечаток части данных. Например, уникальный хеш для имени Мэтт — это длинный фрагмент текста:
Если кто-то видит этот хеш, он не знает, что за ним стоит, но мы можем сказать: «Если вы напечатаете текст matt с помощью компьютерной программы, то сможете доказать, что мы знаем, что представляет собой этот хеш. Дело в том, что ваша программа будет генерировать один и тот же хеш, следовательно, мы знаем, к чему относится этот хеш».
Когда майнер создаёт новый блок для блокчейна, он должен предоставить сети два хеша: один из них — хеш всех транзакций в блоке, а другой — хеш, который доказывает, что майнер потратил огромное количество энергии на создание блока. Эти затраты делают нерентабельным искажение данных. Но для этого, как упоминалось в предыдущей статье , майнерам необходимо работать в системе, действующей по типу лотереи, где может быть только один победитель. Обе эти задачи решаются с помощью Proof-of-Work.
Скажем, если вместо matt хешировать matt0 , мы получим такой хеш:
Если сравнить его с хешем matt , легко заметить, что хеши совершенно разные:
Hash(matt) =
4f31fa50e5bd5ff45684e560fc24aeee527a43739ab611c49c51098a33e2b469
Hash(matt+0) =
c5163e81b6dff231b46b584384718ffb734da51d51009399b4b5c73aaa55a811
Криптографические хеш-функции всегда возвращают одинаковое значение для заданной части данных.
Теперь хешируем, например, matt14 и получим:
Hash(matt + 14) =
0ec48972291a05f8b137468c709bf798dbd8b84bc113b5352e81d2bb20d43120
Но зачем это делать? Представьте, что компьютер поставил перед нами задачу: «Дайте мне первое число, добавленное в конце имени Мэтт, в результате чего хеш будет начинаться с нуля».
С помощью своего компьютера мы начинаем генерировать хеши до первого совпадения:
Hash(matt + 0) =
c5163e81b6dff231b46b584384718ffb734da51d51009399b4b5c73aaa55a811
Hash(matt + 1) =4755a40d3769d7614fb31229fedea4d5e247b3ab8cdc223c4b4f5e3cf9910b4c
Hash(matt + 2) =3f8aad849c3ac625d61ae58929ac1bbf5626592a28dc5368b19b2ef40f514f59
В конце концов, дойдя до matt14 , мы получили бы хеш, который начинается с нуля:
Наш компьютер отвечает текстом matt14 и включает хеш; принимающий компьютер смотрит, соответствует ли полученный хеш тому, который был запрошен.
Это доказывает, что наш компьютер провёл расчёты, добавляя цифры от 0 до 14, чтобы найти этот хеш. Это эффективно, поскольку наш компьютер выполнил 15 действий, а принимающий компьютер смог проверить это с помощью одного действия.
Фактически мы предоставили доказательства своей работы, то есть выполнили доказательство работы.
Компьютер способен создавать миллионы хешей в секунду, 15 операций приведены только для примера: на деле такое доказательство работы не имеет особого смысла. Но представьте, что группа других компьютеров сообщает нашему следующее задание: «Предоставьте нам действительный блок транзакций, его хеш, а также число, которое приведёт к хешу, начинающемуся с 15 нулей».
Изначальная команда поступит в обработку мгновенно:
BlockHash = Hash(‘All of the transactions in the current block’)
После чего наш компьютер приступит к вычислениям:
Hash(BlockHash + 0)
Hash(BlockHash + 1)
Hash(BlockHash + 2)
Чтобы найти хеш с 15 нулями в начале, потребуются многие триллионы попыток. Медленный компьютер потратил бы на это сотни лет, а несколько мощных компьютеров справились бы за считанные минуты.
Эти компьютеры, очевидно, будут съедать много электричества. Из-за затрат на электроэнергию майнеру невыгодно находить допустимый хеш для недопустимого блока транзакций. То есть майнеру глупо подтверждать «неправильный» блок, утверждая, что все транзакции действительны, и просто переходить к хешированию. Остальные компьютеры в сети отклонят недействительный блок, и майнер не получит своё вознаграждение.
Одна из вещей, которая помогает поддерживать децентрализацию майнинга, заключается в том, что двое майнеров не могут хешировать одинаковые блоки. При хешировании «a + b» получается не тот же результат, что при хешировании «b + a». Майнеры получают транзакции по сети в разном порядке; из-за этого, а также из-за индивидуальных предпочтений в вопросах комиссии каждый майнер обрабатывает блок немного иначе.
Хотя все блоки, возможно, были подтверждены правильным образом, только один блок может войти в блокчейн. Все майнеры должны будут продолжать хешировать, пока не найдут число, которое при добавлении к их блоку даёт результат, начинающийся с такого числа нулей, которое сеть согласилась принять как действительный показатель.
Чтобы поддерживать финансовую политику биткоина, сеть должна гарантировать создание нового блока раз в десять минут. Сеть делает это путём корректировки сложности добычи каждые две недели. Поэтому, если блоки обнаруживаются слишком быстро из-за количества новых майнеров, сеть для снижения инфляции увеличивает требуемую сложность, и майнерам приходится искать хеши с большим количеством нулей в начале.
Невозможно заранее узнать, каким будет этот хеш, поэтому майнеры должны работать быстро, используя множество быстрых компьютеров. Поскольку в этой «игре» присутствует элемент случайности, майнер с самым мощным компьютером не всегда выигрывает. Представьте это как лотерею, где пользователь с самым большим количеством билетов имеет больше шансов на победу, но не побеждает каждый раз.
Краткое повторение пройденного: майнер создаёт блок действительных транзакций, а затем запускает Proof-of-Work на этом блоке, надеясь найти хеш, установленный правилами сети, раньше других майнеров. В случае успеха его блок войдет в блокчейн, и он получит своё вознаграждение плюс свежевыпущенный биткоин.
В следующий раз, когда вы услышите в СМИ о том, что майнеры зарабатывают биткоины, решая сложные математические задачи, вы будете знать, о чём идет речь.
Проблемы Proof-of-Work
Майнинг с алгоритмом Proof-of-Work — не единственный известный метод достижения консенсуса в децентрализованной сети. Тем не менее это самый безопасный и меньше всего подверженный централизации на сегодняшний день вариант.
Существуют и другие системы, такие как Proof-of-Stake: она направлена на решение некоторых проблем, связанных с Proof-of-Work, но в целом ведёт к полудецентрализованной (или полуцентрализованной) сети.
Итак, с Proof-of-Work связаны две проблемы.
Высокое энергопотребление
Хеширование от matt до matt+14 занимает меньше одной микросекунды. Однако сеть биткоина состоит из миллионов специально разработанных микрочипов, хеширующих каждые десять минут. Это требует много энергии!
Текущий хешрейт биткоин-сети составляет 20 экзашей в секунду, или, проще говоря, сеть создаёт 20 млрд. хешей в секунду. Обычный компьютер не может выдать даже 1 млрд. хешей в секунду; но если бы это было возможно, понадобилось бы 20 млрд. компьютеров, чтобы иметь такой же хешрейт, как у сети биткиона.
Биткоин-майнеры используют специальные чипы, разработанные для хеширования. Это защищает сеть от атак ботнетов, при которых хакеры захватывают множество компьётеров и используют их для майнинга. Хакеры могут сделать это, но мощности всех доступных им компьютеров не хватит для того, чтобы обмануть сеть биткоина. Созданные хакерами блоки просто будут отклонены.
Блокчейн хранит историю всех когда-либо созданных блоков, включая Proof-of-Work для каждого блока. Когда новый компьютер присоединяется к сети, он загружает весь блокчейн и проверяет каждый фрагмент работы, чтобы гарантировать, что всё верно. Хакеры могут отправить пользователю неправильный блокчейн, но программное обеспечение пользователя подключится ко многим компьютерам и рассмотрит самую длинную цепочку с самым длинным кумулятивным доказательством работы — и это будет «истинный» блокчейн.
Это то, что мы называем термодинамически безопасным , или защищённым законами физики . Если хакеры хотят запутать сеть, им необходимо сжигать больше энергии на более быстрых компьютерах, чем самой сети. Это обойдётся в сотни миллиардов долларов; если бы хакеры могли обладать такими ресурсами, они нашли бы более экономичный вариант играть по правилам и зарабатывать биткоины.
Из-за модели безопасности биткоина, где сеть защищена потребляемой ей энергией, главная криптовалюта рассматривается как нечто очень энергоёмкое. В то время как население планеты стремится уменьшить глобальный углеродный след, это обеспечивает СМИ новостями, способными переполошить и напугать общественность.
Из-за того, что электричество представляет собой самую серьёзную статью расходов, с которой сталкиваются майнеры, добыча биткоинов связана не только с гонкой за правильным хешем, но и с поиском самого дешёвого электричества. Лучшим решением для получения дешёвой энергии было использование гидроэнергетики и других возобновляемых источников. Победителем в гонке станет тот, кто найдёт самое дешёвое электричество. Таким образом, биткоин поддерживает развитие современных видов энергетики и способствует защите окружающей среды.
Централизация майнинга
Границы рентабельности добычи биткоинов очень тонкие. Чтобы получить прибыль, вам нужно иметь доступ к дешёвому электричеству, и его поставки должны быть надёжными. Пока большая часть добычи биткоина приходится на западные провинции Китая, где в избытке производится дешёвая электроэнергия. Напротив, модель Proof-of-Stake не имеет географической привязки.
Ситуация может накалиться в том случае, если монопольный производитель оборудования для майнинга биткоинов решит диктовать свои правила, не учитывая интересы клиентов. Это приведёт к централизации сети. Однако, если производитель оборудования захочет слишком многого, пользователи сети могут договориться об изменении метода Proof-of-Stake. В таком случае выпускаемое монополистом оборудование в один момент станет ненужным мусором.
Теоретически, на прибыльном рынке должно быть достаточно конкуренции, но в этой области потребители предпочитают покупать только то оборудование, которое обещает наибольшую прибыль. Некоторые полагаются на закон Мура и верят, что в итоге ни один майнер не будет иметь преимущества над другим; другие считают, что лидеры на рынке будут постоянно сменять друг друга.
Одно можно сказать наверняка: на сегодняшний день Proof-of-Work обеспечивает самый высокий уровень безопасности для децентрализованных блокчейн-сетей.