Введение в технологию Блокчейн - страница 65

Шрифт
Интервал


Ограничения протокола

Поговорим о некоторых встроенных ограничениях протокола Bitcoin и почему их сложно улучшить.

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



К ним относятся ограничения на среднее время на блок 10 минут, размер блоков 1 мегабайт, количество подписей в блоке 20000, и делимость валюты (биткойны делятся только на 8 знаков после запятой), общее количество биткойнов 21 миллион, и структуру вознаграждения блока, которое начиналось с 50 биткойнов и делится пополам каждые 210000 блоков, и другие ограничения.

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

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

Если это изменится, возникнут большие финансовые последствия для людей.

Поэтому сообщество в основном согласилось с тем, что эти аспекты, независимо от того, были ли они выбраны разумно, не изменятся.

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

Главными из них являются ограничения, влияющие на пропускную способность системы.

Сколько транзакций может выполнять сетевой процесс Bitcoin в секунду?

Это ограничение исходит из жесткого кодированного ограничения на размер блоков.

Каждый блок ограничен мегабайтом, около миллиона байт.

Каждая транзакция составляет не менее 250 байт.

Разделив 1,000,000 на 250, мы видим, что каждый блок имеет ограничение в 4000 транзакций, и, учитывая, что блоки добываются примерно каждые 10 минут, у нас получается около 7 транзакций в секунду, что все, что может обслуживать сеть Bitcoin.

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

Однако на практике это очень сложно осуществить по причинам, которые мы рассмотрим.