Что такое PoW?PoW или Proof-of-Work – это один из способов защиты от кибер-атак, например таких как распределенная DoS-атака, главной целью которой является перегрузка компьютерной системы с помощью большого количества ложных запросов.
Идея PoW впервые упоминается в публикации 1993-го года, а сам термин появился в 1999-м году.
Концепция PoW предельно проста: одна сторона, которой надо доказать, что она провела работу, представляет результаты вычислений, которые тяжело производить, но легко проверять. Убедившись, что решение верное, другая сторона может быть уверена, что первая потратила определенное количество усилий, чтобы получить правильный ответ.
К примеру, еще в 1996 году на основании хеш-функции SHA256 был создан алгоритм для борьбы со спамом: чтобы отправить письмо компьютеру требовалось затратить некоторое время на подбор ключа, в то же время проверка этого ключа получателем происходила практически мгновенно. Из-за этого пользователь, которому нужно было отослать одно письмо, не испытывал никаких затруднений, в то же время спамер терял возможность отправлять десятки тысяч писем в секунду.
Главная особенность SHA256 состоит в том, что это «односторонняя» функция. Вы можете взять любой текст, любой набор символов и с помощью этой функции превратить их в «хеш» — 64-значное шестнадцатеричное число. В то же время, зная хеш, единственный способ определить, из какого именно текста он получен — перебирать всевозможные варианты, получать их хеш и сравнивать с искомым.
Вот несколько примеров:
SHA256(‘hello’) = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA256(‘Hello’) = 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
SHA256(‘Hello!’) = 334d016f755cd6dc58c53a86e183882f8ec14f52fb05345887c8a5edd42c87b7
Случайным образом меняя текст, вы будете получать хеш, начинающийся на «0», в среднем, один раз в 16 попыток. На «00» — один раз в 256 попыток. И так далее.
Таким образом, если отправитель должен добавить к письму случайную строчку таким образом, чтобы хеш всего письма был с двумя нулями в начале, ему придется тратить, в среднем, в 256 раз больше усилий на поиск ключа, чем получателю на его проверку.
С такой же, только намного более масштабной трудностью столкнется и хакер, который попытается «заспамить» сеть Биткоин поддельными блоками с транзакциями. Ведь на создание каждого из них ему придется тратить в триллионы и триллионы раз больше времени, чем у остальных участников сети на проверку их правильности.
Чтобы атака на криптовалюту, защищенную PoW, была успешна, недостаточно управлять большинством узлов сети, нужно, чтобы их вычислительная мощность была близка к или превышала 50% от совокупной вычислительной мощности сети.
Атака 51% или >50% выглядит так. Атакующий продает имеющуюся у него криптовалюту, и в это же время тайно майнит отдельную версию блокчейна, в которой он никогда не тратил свою криптовалюту. Если атакующему удастся создать блокчейн большей длины, чем оригинальный, он сможет убедить все остальные узлы сети, что по-прежнему владеет проданной криптовалютой.
Правда, для этого ему придется майнить быстрее, чем это делают все остальные майнеры вместе взятые. А для этого нужно контролировать более 50% вычислительной мощности сети (вероятность успеха атаки зависит от количества блоков после транзакции, которую надо переписать, и доли хешрейта. Если доля хешрейта выше 50%, вероятность успеха — 100%, но чем глубже спрятан блок, тем больше понадобится времени и электричества).
Недостатки PoW-майнингаНесмотря на высокую надежность, PoW-майнинг требует огромного количества электроэнергии, которая тратится на совершенно бессмысленные вычисления, не имеющие ни практической, ни научной ценности. Их единственная цель — усложнить задачу тем, кто захочет взломать работу сети. При этом платой за неудачу для атакующего станут лишь счета за электричество, и неполученная прибыль от майнинга.
Что такое PoS-майнинг?PoS – это другой способ подтверждать транзакции и приходить к консенсусу в распределенной сети, где каждый узел ведет историю транзакций.
Впервые идея PoS была предложена в 2011 году на форуме BTT, первыми PoS криптовалютами стали Nxt, Peercoin, ShadowCash, Qora, NuShares/NuBits и Nav Coin.
В отличие от PoW, где алгоритм вознаграждает майнера, который сумел первым найти подходящий «нонс», и добавить новый блок транзакций к блокчейну, т. е. за работу, в PoS-криптовалютах создатель нового блока определяется в зависимости от своего богатства или, точнее, доли владения.
Таким образом, если майнер контролирует 3% вычислительной мощности (хешрейта) сети с PoW-алгоритмом, то он, в среднем, сможет намайнить только 3% блоков. В то же время в PoS-сети значение имеет то, сколько у майнера криптовалюты на счету. Если он владеет 3% всех монеток, то сможет намайнить 3% всех блоков.
Ключевой идеей, стоящей за PoS-майнингом, является то, что игрок, который сумел скупить больше половины всех монет PoS-криптовалюты, вряд ли будет заинтересован в том, чтобы атаковать сеть, подорвать доверие к криптовалюте и потерять кругленькую сумму.
Почему создатели Ethereum хотят перевести его на PoS?Сообщество Ethereum, направляемое создателем этой сети Виталиком Бутериным, планирует с помощью хард форка совершить переход от PoW к PoS.
Во-первых, сеть, построенная на PoW потребляет большое количество электроэнергии. На момент написания статьи (октябрь 2017г) криптовалюта Bitcoin потребляла примерно столько же электроэнергии сколько весь Эквадор, а на одну транзакцию тратилось, в среднем, 206 кВт-час. При цене в $0,06 за кВт-час (цена во Внутренней Монголии, где находятся крупнейшие майнинговые компании Китая) это означает, что одна транзакция должна стоить не менее $12,36, и что более низкие комиссии возможны лишь благодаря инвесторам, которые продолжают покупать криптовалюту у майнеров.
У Ethereum эта проблема не столь грандиозная, и на одну транзакцию эта сеть расходует «всего» несколько десятков кВт-час. Но это все равно в тысячи раз больше, чем у Visa или Mastercard.
Другой важный момент заключается в том, что майнеры PoW-криптовалют, имеющие огромное влияние на внедряемые инновации, могут не инвестировать свои доходы в криптовалюту и преследовать краткосрочные интересы.
Так что в долгосрочном периоде особенности PoW-майнинга могут привести к серьезным трудностям и даже поставить под вопрос выживаемость PoW-криптовалют.
Как работает PoS-майнинг?Новый протокол консенсуса Casper, который создан для Ethereum, работает следующим образом: в блокчейне хранится запись всех майнеров/валидаторов, и любой, кто владеет ETH, может попасть в этот список, отправив определенное количество монеток с помощью специальной транзакции, которая их блокирует до тех пор, пока майнер/валидатор хочет получать долю дохода сети. Получается что-то вроде депозита в банке, только с плавающей ставкой. При этом в случае вредоносных действий майнер/валидатор свой депозит потеряет.
Процесс создания и согласования новых блоков затем осуществляется через алгоритм консенсуса, в котором принимают участие все майнеры в списке, а вес их голоса зависит от объема депозита.
Будущий PoS-алгоритм Ethereum предполагает, что майнеры/валидаторы случайным образом получают задачу создать и предложить блок. Согласование новых блоков происходит с помощью многораундового голосования, во время которого валидаторы голосуют за каждый из предложенных блоков, после чего он добавляется в блокчейн.
Особенности и проблемы PoS-майнингаВо многих первых версиях криптовалют с PoS-консенсусом, существовало только вознаграждение за создание блоков, без каких-либо штрафных санкций. Из-за чего в случае раздвоения блокчейна, у валидатора появлялся стимул создавать блоки в обеих версиях блокчейна:

В сети с PoW такая ситуация невозможна, ведь для этого майнеру придется разделить свой хешрейт между цепочками:

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

При этом чтобы система работала корректно, валидаторы должны быть утверждены/записаны до того как произойдет разделение блокчейна.
Другой важной проблемой PoS-майнинга, которую еще предстоит решить, является ползущая централизация сети. Да, если вы положили на депозит 10 000 ETH, а ваш сосед — 100 000 ETH, то вы будете получать доход в 10 раз меньший чем он. Однако в процессе PoS-майнинга могут возникать (и чаще всего возникают) дополнительные фиксированные расходы, не зависящие от объема депозита. Например, вам придется платить комиссию за перевод процентов на адрес вашего кошелька или, в случае Ethereum, оплачивать gas за отправку сообщений, которые нужны для процесса валидации новых блоков. Поэтому в конечном итоге ваша прибыль будет меньше, чем у соседа, и со временем доля наиболее богатых инвесторов будет только увеличиваться.
Кроме централизации, весьма проблемным остается вопрос цензуры. Ведь при PoS-майнинге очень сложно отличить две ситуации. Первая, когда пользователь А пытался провести транзакцию, но его проигнорировали, и вторая, когда транзакция не была принята из-за недостаточной комиссии.
Есть ряд и других технических вопросов, которые все еще должны быть решены, чтобы PoS стал таким же безопасным как PoW при меньших затратах на поддержание работы сети.
Все материалы представлены исключительно в ознакомительных целях.
Ссылка на первоисточник:
http://trillion.media/gajdy/chem-pos-majning-otlichaetsja-ot-pow-i-zachem-ethereum-perehodit-na-pos/