Биткойн и Эфир - две самые известные криптовалюты, и самые горячие примеры используемой технологии блокчейна.
Оба используют согласованный алгоритм «доказательства работы» (POW). Имеющаяся в настоящее время информация указывает на то, что Биткойн продолжит использовать POW, однако команда проекта Ethereum работает над запланированным переходом на алгоритм «доказательства доли» (PoS).
Этот переход является громким, и крипто-сообщество очень внимательно следит за ним, потому что многие стартапы блокчейна запустили свои проекты с использованием платформы блокчейна Ethereum, и этериум особенно важен. Если учесть, что долго ожидаемое обновление Ethereum 2.0 принесет множество улучшений сети и новых "фишек", то для алгоритма PoS откроются новые горизонты.
Многие задаются вопросом, что такое POW, что делает PoS, и каковы плюсы и минусы каждого, и как происходит майнинг в этих алгоритмах. Я сравниваю POW и PoS в этой статье и отвечаю на эти вопросы.
Почему алгоритм консенсуса важен в блокчейне
Я буду использовать сеть Биткойн в качестве примера, чтобы объяснить важность алгоритма консенсуса. Биткойн - это общедоступный блокчейн без разрешений, в который может вступить любой, включая анонимных и псевдонимных пользователей. Это платежная сеть, в которой транзакции осуществляются с использованием собственной криптовалюты Биткойн.
Узлы в этой сети также называются «майнерами». Пользователи Биткойнов передают транзакции майнерам для обработки. Биткойн-транзакции сначала группируются во временный пул, называемый «mempool».
Блочная запись, называемая «блоком», состоит из нескольких транзакций и связана с протокольной программой Биткойн в одноранговой (P2P) сети. Блоки укладываются друг на друга в этой цепочке.
Блок создается каждые 10 минут, где транзакции из mempool включаются после того, как они проверены майнерами. Каждый узел майнинга Биткойн обладает равными правами, может проверять транзакции и создавать блоки.
Это создает потенциальную проблему в том, что каждый майнер самостоятельно собирает транзакции в mempool и создает свои блоки.
Как видите, повторная передача одних и тех же активов будет включена в несколько блоков, и один и тот же ВТС будет потрачен несколько раз. Эта потенциальная проблема называется «двойным расходом».
В другой потенциальной проблеме майнер может создать блок, который не соответствует стандартам сообщества Биткойн. В то время как другие узлы могут игнорировать этот блок и не строить цепочки поверх него, нонконформистский майнер может продолжать создавать блоки поверх него. Даже сейчас другие майнеры могут игнорировать это явление, но у нас уже есть другая цепочка в сети.
Проблема усугубляется, если есть другие майнеры, которым нравится этот несовместимый блок, и которые продолжают создавать новые блоки во второй цепочке.
С новым несоответствующим блоком, привлекающим больше майнеров, новая цепочка окажет большее экономическое влияние, и сообщество будет вынуждено внедрить «хард-форк» (радикальное изменение сетевого протокола, который делает ранее недействительные блоки и транзакции действительными, или наоборот), хотя это решение, и частые жесткие форки делают сеть нестабильной.
Существует также вероятность того, что мошенник заполнит сеть очень большим количеством фальшивых транзакций и нанесет вред всем другим майнерам. Это называется «распределенной атакой отказа в обслуживании» (DDoS), и мошенник полностью захватывает сеть, и по желанию производит двойные траты.
Эти угрозы могут полностью нейтрализовать обещания блокчейна, поэтому разработчики криптовалют разработали консенсусный механизм для предотвращения этого.
Proof of work (POW)
«Покажите нам, что вы выполнили работу, и мы позволим вам создать новый блок» - такова суть алгоритма согласования работы блокчейна. Синтия Дворк и Мони Наор впервые опубликовали эту идею в статье 1993 года, тогда как название было придумано Маркусом Якобссоном в 1999 году. Когда Сатоши Накамото, один человек или группа людей под этим псевдонимом, создал сеть биткойн-цепочки блоков, он реализовал эту концепцию.
Пользователь Биткойн передает данные транзакции майнеру, задача которого состоит в том, чтобы проверить транзакцию и включить ее в следующий доступный блок. Майнеры не могут держать биткойны, но получают в качестве награды часть монет, полученых как часть генерации блоков, и, следовательно, майнинг является конкурентным процессом.
Майнеру необходимо решить сложную криптографическую головоломку, чтобы создать новый блок. Каждый блок в блокчейне имеет подробную информацию о транзакциях, которые он включает. Однако, он также имеет уникальный криптографический хэш. Майнер должен предоставить как данные транзакции из mempool, так и хеш-значение последнего записанного блока, чтобы создать новый блок, в который будут включены транзакции.
Хеш последнего записанного блока никому не известен. Майнер должен найти его, и это криптографическая головоломка. Он должен пробовать один вариант за другим, и в решении этой головоломки нет навыков. У других майнеров также есть транзакции своих пользователей, которые они пытаются включить в следующий блок. Только грубая вычислительная мощность решает, кто победит в этом соревновании после массового сокращения чисел на высокой скорости.
Майнер, который взломает его, сначала объявляет об этом в сеть, а другие узлы затем рассматривают его. Он получает возможность создать новый блок и получает вознаграждение, тогда как транзакции из mempool теперь записываются в этот новый блок. Ни один существующий блок не может быть удален или изменен, добавление нового блока - единственный способ обновить блокчейн.
Манеры нуждаются в мощном оборудовании для майнинга, и они часто используют графические процессоры (GPU) вместе с процессором своих компьютеров для майнинга Bitcoin. Операции также требуют очень большого количества электроэнергии.
Proof of stake (PoS)
Вы можете видеть, что сеть блокчейнов действительно безопасна с алгоритмом POW, однако такая высокая безопасность также обходится дорого. Я объясню эту стоимость, прежде чем описать, как отличается алгоритм подтверждения ставки.
Алгоритм POW требует, чтобы каждый узел участвовал в проверке транзакции, и это создает проблемы масштабируемости в сети. Масштабируемость снижает скорость роста сети, потому что теперь для проверки транзакции потребуется еще больше узлов.
Необходимость решения все более сложной математической головоломки снижает пропускную способность транзакции. Пользователи битка хотят, чтобы их транзакции были включены в следующий доступный блок, и они платят майнерам за это. С ростом сложности головоломки усиливается конкуренция за включение транзакций в следующий доступный блок. В результате сборы увеличиваются.
Блокчейн должен был быть полностью децентрализован. Тем не менее, постоянно растущая сложность крипто-головоломки мешает майнерам постоянно модернизировать свое оборудование и оплачивать растущий счет за электроэнергию.
Для достижения эффекта масштаба появились майнинг-фермы, и добыча ВТС становится все более централизованной благодаря гигантским установкам, управляемым централизованными компаниями в промышленном масштабе. Это косвенно централизует сеть.
Что является доказательством алгоритма PoS? В этом консенсусном механизме есть несколько узлов, которые ставят свои собственные криптовалюты для проверки транзакций. Их называют «валидаторами» (аналог майнеров, подтверждающие транзакции). Сам процесс майнинга называется стекинг, и в отличие от алгоритма PoW, он предусматривает множество различных крипто-активов: Tezos, Neo, Ontology, Bip, Tron, Cosmos, Vechain, Stellar, Komodo, Algorand, Qtum и другие.
Стекинг подразумевает проценты начислений в криптовалюте. Пользователь делегирует свои монеты в пул валидатора, а последний делится частью прибыли. В данный момент эта технология широко применена и на мобильных кошельках, ввиду того, что крипто-держателям становится выгодно держать pos-монеты на стекинге с ежедневными начислениями процента.
Чем больше сумма и продолжительность доли, тем больше вероятность того, что валидатор будет выбран для проверки транзакции. Все узлы не должны участвовать в проверке транзакции, и нет сложной криптографической головоломки для решения.
Все монеты уже созданы и нет добычи. Это улучшает масштабируемость и пропускную способность транзакций. В отличие от сети Биткойн, где майнеры могут даже не иметь актив сами, валидаторы сами держат криптовалюты и делегируют в стекинг часть из них. Валидаторы получают комиссию за транзакцию в качестве награды.
Алгоритм PoS также позволяет реализовать sharding для улучшения масштабируемости и пропускной способности транзакций. Sharding - это концепция управления базой данных, в которой отдельные разделы хранятся в отдельных экземплярах сервера, что повышает производительность.
В блокчейне это означает, что участки сети будут поддерживаться отдельными группами узлов. Ни один узел не может видеть всю сеть блокчейнов, поэтому участие всех узлов в проверке транзакции невозможно. Следовательно, реализация шардинга в блокчейне требует алгоритма PoS, в котором каждый шард будет иметь своих валидаторов.
Хотя алгоритм PoS улучшает масштабируемость и пропускную способность транзакций, он менее безопасен, чем POW, что отпугивает хакеров из-за его высоких требований к вычислительной мощности.
В этом протоколе необходим гарантийный депозит, то есть валидатор должен внести минимальную сумму, которая будет учитываться при подтверждении транзакции. Любое манипулирующее поведение со стороны участника ставок приведет к аннулированию этого депозита. Участник также может быть забанен навсегда.
Какой будет консенсуальный алгоритм будущего?
Несмотря на то, что POW широко протестирован и делает сеть блокчейнов полностью защищенной, это также отрицательно влияет на масштабируемость и транзакцию. PoW-майнинг все больше контролируется централизованными компаниями, и зависимость от стоимости энергии очень высока.
В то время как алгоритм PoS обеспечивает меньшую безопасность, у валидаторов на карту поставлены собственные криптовалюты, поэтому безопасность все еще разумна. Сеть также имеет более высокую масштабируемость и пропускную способность транзакций.
Многое зависит от успешного перехода Ethereum на PoS. Если такая известная сеть может переключаться на PoS, и при этом демонстрировать безопасность своей сети с помощью нового протокола Casper, это обеспечит более крупному крипто-сообществу силу алгоритма PoS.
А что вы думаете по этому поводу, и приверженцем какого алгоритма являетесь? Пишите и делитесь своим опытом.