Первые три вопроса отражают технические подробности протокола биткойнов, и именно эти вопросы мы в первую очередь разберем.
Различные аспекты биткойна отражают разную степень централизации / децентрализации.
Одноранговая сеть является практически децентрализованной, так как любой может запустить узел биткойна.
Вы можете подключиться к сети и легко загрузить клиент Bitcoin и запустить узел на вашем ноутбуке или на вашем ПК.
В настоящее время существует несколько тысяч таких узлов.
Биткойн-добыча технически также открыта для всех, но для этого требуются очень высокие затраты.
Из-за этого существует высокая степень централизации или концентрации в экосистеме добычи биткойнов. Многие в сообществе биткойнов считают это совершенно нежелательным.
Еще один аспект – это обновление программного обеспечения, на котором работают узлы Bitcoin, и это влияет на при изменении правил системы.
Существует множество совместимых реализаций протокола. Но на практике большинство узлов используют эталонную реализацию, разработчикам которого доверяет сообщество, и эти разработчики обладают большой властью.
Распределенное согласование
Давайте рассмотрим децентрализацию в Биткойне на техническом уровне.
Ключевой термин, который здесь возникнет, это консенсус и, в частности, распределенный консенсус.
Основная техническая проблема, которая возникает при создании распределенной системы цифровых денег – это достижение распределенного консенсуса.
Консенсус – это процесс получения согласованного результата группой участников, например, утверждение транзакций в распределённых системах.
Распределенный консенсус имеет различные применения, и он десятилетиями изучался компьютерной наукой.
Традиционное мотивирующее использование консенсуса – это обеспечение надежности в распределенных системах.
Для достижения надежности в распределенных системах необходимы протоколы, которые позволяют системе, как единому целому, функционировать, невзирая на отказ ограниченного числа ее компонентов.
Ключевым моментом здесь является не то, о чем договариваются процессы, а тот факт, что они все должны прийти к одинаковому результату.
Интуитивно понятно, что такое распределенный консенсус, но полезно рассмотреть техническое определение распределенного консенсуса, так как это поможет нам определить, соответствует ли определенный протокол этим требованиям.