Криптовалюты используют распределенные регистры или блокчейны для записи информации — в первую очередь, о балансе каждого адреса на платформах передачи ценности (например, Биткоина и большинства криптовалют), хотя такой подход может применяться к любой информации.
Ключевое условие — сеть должна коллективно согласовывать содержимое регистра: он распределен между всеми участниками цепочки вместо того, чтобы передать централизованное ведение счетов одному субъекту — например, банку.
Для этого сети требуется поддерживать консенсус вокруг информации, записанной в блокчейне. Способ достижения этого консенсуса влияет на безопасность и экономические параметры протокола. Вот пять примеров его достижения.
Подтверждение выполнения работы — это первый распределенный механизм достижения консенсуса, созданный создателем Биткоина, известным под псевдонимом Сатоши Накамото. Его примеру последовали многие криптовалюты, в том числе и Ethereum.
В случае в PoW, все компьютеры в сети, которым поручено поддерживать безопасность блокчейна (в случае Биткоина они называются майнеры), работают над вычислением математической функции, называемой хэшем. Это довольно простая задача (для компьютера), но постоянно повторяющаяся и, следовательно, дорогая в плане вычислений. Компьютеры конкурируют за поиск хэша с особыми свойствами. Компьютер, который вычислит его первым, получит подтверждение того, что он выполнил необходимую работу и сможет добавить новый блок транзакций в блокчейн. В качестве вознаграждения, он получит транш свежедобытых биткоинов (в настоящее время 12,5 BTC за блок или примерно каждые 10 минут), плюс все небольшие сборы за проведение транзакций, которые пользователи заплатили за отправку монет.
PoW работает по следующему принципу: добавить транш новых транзакций в блокчейн — это дорого, а вот проверить, действительны ли транзакции — это очень легко, благодаря прозрачности регистра. Майнеры коллективно подтверждают действительность всего блокчейна, и транзакции не считаются полностью «подтвержденными», пока к ним не добавятся несколько новых блоков. Если злоумышленник попытается использовать монеты незаконным способом, то его транзакции будут проигнорированы остальной частью сети. Единственный способ для злоумышленника совершить такое мошенничество — это обладать огромным количеством вычислительной мощности, позволяющим майнить блок за блоком и раз за разом первым из всей сети получать подтверждение выполнения работы. Такой способ называется «атака 51%», потому что для его реализации необходимости иметь более половины общего сетевого хэша. Реальность такова, что ни один майнер не может иметь такую долю хэша. Другими словами, попытка такого мошенничества 1) чрезвычайно дорогая (поскольку она требует затрат на оборудование и электроэнергию, а также несет в себе альтернативные издержки, вызванные отсутствием работы в действительной версии блокчейна и получением за это вознаграждения) и 2) крайне маловероятна. Следовательно, майнерам лучше (то есть более выгодно) оставаться честными.
PoW является дорогостоящим и энергоемким методом из-за требуемой вычислительной мощности. Вокруг создания специального оборудования, предназначенного исключительно для майнинга, выросла целая индустрия. Подтверждение доли (PoS) — это альтернативный способ, который не требует специального оборудования и в последние годы стал очень популярным. В случае PoW, вероятность того, что участник добавит следующий блок транзакций в цепочку, определяется уровнем хэша. В случае PoS, эта вероятность определяется количеством монет участника. Другими словами, каждый сетевой узел связан с определенным адресом, и чем больше монет принадлежит этому адресу, тем больше вероятность того, что они намайнят (или «надолят» в этом случае) следующий блок. Это похоже на лотерею: победитель определяется случайно, но чем больше монет (лотерейных билетов) у него есть, тем больше у него шансов. Злоумышленнику, который хочет совершить мошенническую транзакцию, потребуется владеть более 50% монет для надежной обработки нужных транзакций; покупка такого количества монет спровоцирует рост цен на них и сделает такую попытку непомерно дорогой.
Система PoS была впервые разработана Nxt. Поскольку она не столь энергоемкая, как PoW, то затраты на получение монет не требуют такого вознаграждения, как в случае Биткоина. Таким образом, системы PoS хорошо подходят для платформ с фиксированным количеством монет и отсутствием инфляции от создаваемых блоков. Вознаграждение участников состоит только из комиссии за проведение транзакций. Это подход применяется большинством платформ, финансируемым за счет краудсейла, где токены распределяются на основе инвестиций, и увеличение количества монет не понравится инвесторам, так как это «разбавит» их долю.
В настоящее время, подтверждение доли — это хорошо отлаженный механизм достижения консенсуса, но он не часто используется в своем первоначальном виде. Определенные преимущества предлагают две его разновидности, LPoS и DPoS.
В случае с классическим PoS, участники сети с небольшим балансом вряд ли смогут добавлять блоки в цепочку — так же, как небольшие майнеры с низким уровнем хэша вряд ли смогут создать блок в цепочке Биткоина. Может пройти много лет, прежде чем небольшому участнику посчастливится создать блок. Это означает, что многие участники сети с небольшим балансом не имеют узлов и позволяют ограниченному числу более крупных участников управлять сетью. Поскольку безопасность сети повышается с увеличением числа участников, то важно стимулировать этих небольших участников принимать в ней участие.
Механизм LPoS позволяет участникам делать это, сдавая свои средства в аренду крупным узлам. Арендованные средства остаются под полным контролем их владельца и могут быть переведены или потрачены в любое время (после чего аренда заканчивается). Арендованные монеты увеличивают «вес» узла сети, повышая его шансы на добавление блока транзакций в блокчейн. Любыми полученными вознаграждениями узлы делятся с арендодателями. Такой подход применяет Waves.
BitShares и ряд других платформ используют несколько иной подход. С помощью DPoS, владельцы монет используют свои средства для выбора списка узлов, которые будут иметь возможность создавать блоки новых транзакций и добавлять их в блокчейн. Это вовлекает в работу сети всех владельцев монет, хотя они могут и не получать прямого вознаграждения, как в случае LPoS. Владельцы монет могут также голосовать за изменения параметров сети, что повышает их влияние на сеть и долю в ней.
Последней разновидностью этих механизмов достижения консенсуса является PoI. NEM стала первой криптовалютной платформой реализации этого способа. В случае PoI, важно не только количество монет. Система достижения консенсуса NEM основана на идее, что вознаграждать следует за продуктивную сетевую активность, а не просто за владение монетами. Вероятность создания блока зависит от ряда факторов, в том числе доступных средств, репутации (определяется отдельной специальной системой) и количества входящих и исходящих транзакций с этого адреса. Это дает более целостную картину «полезного» члена сети.
Существует множество разновидностей этих основных подходов, и некоторые платформы используют комбинацию PoW и PoS — первый часто используется для распространения монет, а затем платформа переходит на второй способ для поддержания сети. Еще один подход — это использование главных узлов в сочетании с майнингом PoW, как в случае с DASH и Crown. Они помогают обрабатывать транзакции и получать долю от вознаграждений за деятельность майнеров.
Во всех случаях, цель подхода к достижению консенсуса заключается в обеспечении безопасности сети, преимущественно с помощью экономических средств: атака на сеть должна быть слишком дорогой, а ее защита — более выгодной.
Ключевое условие — сеть должна коллективно согласовывать содержимое регистра: он распределен между всеми участниками цепочки вместо того, чтобы передать централизованное ведение счетов одному субъекту — например, банку.
Для этого сети требуется поддерживать консенсус вокруг информации, записанной в блокчейне. Способ достижения этого консенсуса влияет на безопасность и экономические параметры протокола. Вот пять примеров его достижения.
1. Подтверждение выполнения работы (Proof of Work, PoW)
Подтверждение выполнения работы — это первый распределенный механизм достижения консенсуса, созданный создателем Биткоина, известным под псевдонимом Сатоши Накамото. Его примеру последовали многие криптовалюты, в том числе и Ethereum.
В случае в PoW, все компьютеры в сети, которым поручено поддерживать безопасность блокчейна (в случае Биткоина они называются майнеры), работают над вычислением математической функции, называемой хэшем. Это довольно простая задача (для компьютера), но постоянно повторяющаяся и, следовательно, дорогая в плане вычислений. Компьютеры конкурируют за поиск хэша с особыми свойствами. Компьютер, который вычислит его первым, получит подтверждение того, что он выполнил необходимую работу и сможет добавить новый блок транзакций в блокчейн. В качестве вознаграждения, он получит транш свежедобытых биткоинов (в настоящее время 12,5 BTC за блок или примерно каждые 10 минут), плюс все небольшие сборы за проведение транзакций, которые пользователи заплатили за отправку монет.
PoW работает по следующему принципу: добавить транш новых транзакций в блокчейн — это дорого, а вот проверить, действительны ли транзакции — это очень легко, благодаря прозрачности регистра. Майнеры коллективно подтверждают действительность всего блокчейна, и транзакции не считаются полностью «подтвержденными», пока к ним не добавятся несколько новых блоков. Если злоумышленник попытается использовать монеты незаконным способом, то его транзакции будут проигнорированы остальной частью сети. Единственный способ для злоумышленника совершить такое мошенничество — это обладать огромным количеством вычислительной мощности, позволяющим майнить блок за блоком и раз за разом первым из всей сети получать подтверждение выполнения работы. Такой способ называется «атака 51%», потому что для его реализации необходимости иметь более половины общего сетевого хэша. Реальность такова, что ни один майнер не может иметь такую долю хэша. Другими словами, попытка такого мошенничества 1) чрезвычайно дорогая (поскольку она требует затрат на оборудование и электроэнергию, а также несет в себе альтернативные издержки, вызванные отсутствием работы в действительной версии блокчейна и получением за это вознаграждения) и 2) крайне маловероятна. Следовательно, майнерам лучше (то есть более выгодно) оставаться честными.
2. Подтверждение доли (Proof of Stake)
PoW является дорогостоящим и энергоемким методом из-за требуемой вычислительной мощности. Вокруг создания специального оборудования, предназначенного исключительно для майнинга, выросла целая индустрия. Подтверждение доли (PoS) — это альтернативный способ, который не требует специального оборудования и в последние годы стал очень популярным. В случае PoW, вероятность того, что участник добавит следующий блок транзакций в цепочку, определяется уровнем хэша. В случае PoS, эта вероятность определяется количеством монет участника. Другими словами, каждый сетевой узел связан с определенным адресом, и чем больше монет принадлежит этому адресу, тем больше вероятность того, что они намайнят (или «надолят» в этом случае) следующий блок. Это похоже на лотерею: победитель определяется случайно, но чем больше монет (лотерейных билетов) у него есть, тем больше у него шансов. Злоумышленнику, который хочет совершить мошенническую транзакцию, потребуется владеть более 50% монет для надежной обработки нужных транзакций; покупка такого количества монет спровоцирует рост цен на них и сделает такую попытку непомерно дорогой.
Система PoS была впервые разработана Nxt. Поскольку она не столь энергоемкая, как PoW, то затраты на получение монет не требуют такого вознаграждения, как в случае Биткоина. Таким образом, системы PoS хорошо подходят для платформ с фиксированным количеством монет и отсутствием инфляции от создаваемых блоков. Вознаграждение участников состоит только из комиссии за проведение транзакций. Это подход применяется большинством платформ, финансируемым за счет краудсейла, где токены распределяются на основе инвестиций, и увеличение количества монет не понравится инвесторам, так как это «разбавит» их долю.
В настоящее время, подтверждение доли — это хорошо отлаженный механизм достижения консенсуса, но он не часто используется в своем первоначальном виде. Определенные преимущества предлагают две его разновидности, LPoS и DPoS.
3. Арендованное подтверждение доли (Leased Proof of Stake, LPoS)
В случае с классическим PoS, участники сети с небольшим балансом вряд ли смогут добавлять блоки в цепочку — так же, как небольшие майнеры с низким уровнем хэша вряд ли смогут создать блок в цепочке Биткоина. Может пройти много лет, прежде чем небольшому участнику посчастливится создать блок. Это означает, что многие участники сети с небольшим балансом не имеют узлов и позволяют ограниченному числу более крупных участников управлять сетью. Поскольку безопасность сети повышается с увеличением числа участников, то важно стимулировать этих небольших участников принимать в ней участие.
Механизм LPoS позволяет участникам делать это, сдавая свои средства в аренду крупным узлам. Арендованные средства остаются под полным контролем их владельца и могут быть переведены или потрачены в любое время (после чего аренда заканчивается). Арендованные монеты увеличивают «вес» узла сети, повышая его шансы на добавление блока транзакций в блокчейн. Любыми полученными вознаграждениями узлы делятся с арендодателями. Такой подход применяет Waves.
4. Делегированное подтверждение доли (Delegated Proof of Stake, DPoS)
BitShares и ряд других платформ используют несколько иной подход. С помощью DPoS, владельцы монет используют свои средства для выбора списка узлов, которые будут иметь возможность создавать блоки новых транзакций и добавлять их в блокчейн. Это вовлекает в работу сети всех владельцев монет, хотя они могут и не получать прямого вознаграждения, как в случае LPoS. Владельцы монет могут также голосовать за изменения параметров сети, что повышает их влияние на сеть и долю в ней.
5. Подтверждение важности (Proof of Importance, PoI)
Последней разновидностью этих механизмов достижения консенсуса является PoI. NEM стала первой криптовалютной платформой реализации этого способа. В случае PoI, важно не только количество монет. Система достижения консенсуса NEM основана на идее, что вознаграждать следует за продуктивную сетевую активность, а не просто за владение монетами. Вероятность создания блока зависит от ряда факторов, в том числе доступных средств, репутации (определяется отдельной специальной системой) и количества входящих и исходящих транзакций с этого адреса. Это дает более целостную картину «полезного» члена сети.
Существует множество разновидностей этих основных подходов, и некоторые платформы используют комбинацию PoW и PoS — первый часто используется для распространения монет, а затем платформа переходит на второй способ для поддержания сети. Еще один подход — это использование главных узлов в сочетании с майнингом PoW, как в случае с DASH и Crown. Они помогают обрабатывать транзакции и получать долю от вознаграждений за деятельность майнеров.
Во всех случаях, цель подхода к достижению консенсуса заключается в обеспечении безопасности сети, преимущественно с помощью экономических средств: атака на сеть должна быть слишком дорогой, а ее защита — более выгодной.