Почему блок Bitcoin занимает до 10 минут
02.08.2022

Почему блок Bitcoin занимает до 10 минут

By bit.team

И так, есть базовое правило:  на скорость транзакции Биткойна влияют два фактора: консенсус и скорость передачи блока в сети.

МЕХАНИЗМ КОНСЕНСУСА

Механизм консенсуса, который использует Bitcoin, известен как Proof of Work (PoW).

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

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

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

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

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

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

Это так называемая развилка (форк) цепи, поскольку теперь существует две цепи, различающиеся последним блоком.

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

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

ВРЕМЯ ПЕРЕДАЧИ

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

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

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

Если бы его устраивало 20%, он мог бы выбрать сложность 5 минут.

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

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

Зачем ждать 1 час?

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

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

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

Таким образом мы предотвращаем возможность оплаты с помощью BTC, которые им не принадлежат. Но вы можете схитрить, если вам удастся отменить транзакцию.

Допустим, мы платим кому-то Биткойны, а взамен получаем что-то вроде PlayStation 5.

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

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

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

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

К счастью, Сатоши Накамото взял на себя труд сделать это.

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

К счастью, Сатоши Накамото взял на себя труд сделать математические расчеты за нас и записать их в «белой книге» Биткойна.

В ней он определил, что если ждать 6 блоков подтверждения, а атакующий обладает 10% мощности сети, то его шансы составят всего 0,1%. Маловероятно для актива стоимостью всего несколько сотен евро или долларов.

Более короткое или более длительное время блока

Если будет принято сокращенное время блока, то это будет иметь некоторые преимущества и некоторые недостатки.

  • ПРЕИМУЩЕСТВА
  • Быстрые подтверждения для тех, кто хочет дождаться только одного подтверждения.
  • Меньше различий в выплатах манерам (меньшая зависимость от больших групп)
  • Недостатки
  • Требуется большая пропускная способность (для связи между узлами)
  • Больше вилок и больше времени на реорганизацию
  • Значительная часть вычислительной мощности сети будет расходоваться впустую, что приведет к снижению эффективности безопасности.

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

Конечно, одиночный коммит с меньшим временем блока менее безопасен, чем с большим временем блока, но, по крайней мере, он более безопасен, чем если бы мы ждали 0 подтверждений.

Такая скорость подтверждения может стать большим преимуществом для платежей небольшой стоимости, например, при оплате чашки кофе, такси или чего-то еще на несколько долларов или евро.

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

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

Другим вариантом решения проблемы 0 подтверждений может стать использование «зеленых адресов».

Их можно использовать для транзакций с нулевым подтверждением. Эти услуги могут предлагаться крупными корпорациями или поддерживаться страхованием от мошенничества (за небольшую плату за операцию).

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

В этом случае решения второго уровня, такие как Lightning Network, могли бы идеально подойти для того, чтобы не потерять 10-минутные преимущества при дешевой и быстрой торговле с BTC.