Имея это в виду, давайте разделим вопрос о том, как протокол Bitcoin достигает децентрализации на пять более конкретных вопросов:



1. Кто хранит книгу транзакций?

2. Кто имеет власть утверждать действительность транзакций?

3. Кто создает новые биткойны?

4. Кто определяет, как изменяются правила системы?

5. Как биткойны получают обменную стоимость?

Первые три вопроса отражают технические подробности протокола биткойнов, и именно эти вопросы мы в первую очередь разберем.

Различные аспекты биткойна отражают разную степень централизации / децентрализации.

Одноранговая сеть является практически децентрализованной, так как любой может запустить узел биткойна.

Вы можете подключиться к сети и легко загрузить клиент Bitcoin и запустить узел на вашем ноутбуке или на вашем ПК.

В настоящее время существует несколько тысяч таких узлов.

Биткойн-добыча технически также открыта для всех, но для этого требуются очень высокие затраты.

Из-за этого существует высокая степень централизации или концентрации в экосистеме добычи биткойнов. Многие в сообществе биткойнов считают это совершенно нежелательным.

Еще один аспект – это обновление программного обеспечения, на котором работают узлы Bitcoin, и это влияет на при изменении правил системы.

Существует множество совместимых реализаций протокола. Но на практике большинство узлов используют эталонную реализацию, разработчикам которого доверяет сообщество, и эти разработчики обладают большой властью.

Распределенное согласование

Давайте рассмотрим децентрализацию в Биткойне на техническом уровне.

Ключевой термин, который здесь возникнет, это консенсус и, в частности, распределенный консенсус.

Основная техническая проблема, которая возникает при создании распределенной системы цифровых денег – это достижение распределенного консенсуса.

Консенсус – это процесс получения согласованного результата группой участников, например, утверждение транзакций в распределённых системах.

Распределенный консенсус имеет различные применения, и он десятилетиями изучался компьютерной наукой.

Традиционное мотивирующее использование консенсуса – это обеспечение надежности в распределенных системах.

Для достижения надежности в распределенных системах необходимы протоколы, которые позволяют системе, как единому целому, функционировать, невзирая на отказ ограниченного числа ее компонентов.

Ключевым моментом здесь является не то, о чем договариваются процессы, а тот факт, что они все должны прийти к одинаковому результату.

Интуитивно понятно, что такое распределенный консенсус, но полезно рассмотреть техническое определение распределенного консенсуса, так как это поможет нам определить, соответствует ли определенный протокол этим требованиям.

Предположим, что у нас есть n узлов, каждый из которых имеет входное значение.

И некоторые из этих узлов неисправны.

Распределенный консенсусный протокол имеет следующие два свойства:

Он должен завершиться с согласованным значением на всех корректных узлах.

И это значение должно быть предложено корректным узлом, то есть оно само должно быть корректным.



Что это означает в контексте Биткойна?

Чтобы понять, как распределенный консенсус может работать в биткойне, помните, что биткойн – это одноранговая система.

Когда Алиса хочет заплатить Бобу, то, что она на самом деле делает, это транслирует транзакцию на все узлы Bitcoin, которые составляют одноранговую сеть.



Кстати, Алиса транслирует транзакцию на все одноранговые узлы Bitcoin, но при этом компьютер Боба может не находится в сети.

Конечно, возможно, что Боб запускает один из узлов в одноранговой сети.