Что такое блокчейн? Как работают блоки, хеши и консенсус
Блокчейн — общий реестр транзакций, собранных в блоки, связанных хешами и хранящихся на множестве компьютеров. Как работают консенсус и подтверждения.
Обновлено
Блокчейн — это общий цифровой реестр, в котором транзакции собраны в блоки, каждый блок связан с предыдущим криптографическим хешем, а одинаковые копии хранят множество независимых компьютеров. Поскольку ни одна сторона не контролирует запись, участники могут договориться о том, кому что принадлежит, не доверяя банку или компании. Блокчейны — это технология, на которой работают криптовалюты, такие как Bitcoin и Ethereum.
Главное
- Блокчейн — это реестр только для добавления: новые данные дописываются, старые не редактируются.
- Блоки связаны в цепочку хешами — цифровыми отпечатками их содержимого.
- Механизм консенсуса, обычно proof of work или proof of stake, решает, кто добавит следующий блок.
- Подтверждения показывают, насколько глубоко транзакция погребена в цепочке; чем их больше, тем сложнее ее отменить.
- Публичные блокчейны открыты для всех; permissioned (с ограниченным доступом) ограничивают круг участников.
- Время блока и правила подтверждений напрямую влияют на то, как быстро вы можете переводить средства между биржами.
Блоки и хеши
Блок — это пакет транзакций плюс заголовок. Заголовок содержит метку времени, сводку транзакций блока и, что важнее всего, хеш предыдущего блока.
Хеш — это результат функции, которая превращает любые данные в строку фиксированной длины. Важны два свойства:
- Одинаковые входные данные всегда дают одинаковый результат.
- Изменение даже одного символа входных данных дает совершенно другой результат.
Поскольку каждый блок хранит хеш предыдущего, блоки образуют цепочку. Если бы кто-то изменил транзакцию в старом блоке, хеш этого блока изменился бы, и сохраненная в следующем блоке ссылка перестала бы совпадать. Все последующие блоки тоже стали бы недействительными. Честные узлы отвергли бы измененную версию.
Узлы и консенсус
Узел (нода) — это компьютер, который хранит копию блокчейна и проверяет новые транзакции на соответствие правилам сети. Поскольку копии хранят тысячи узлов, им нужен способ договориться, какой блок будет следующим. Это задача механизма консенсуса.
| Proof of work | Proof of stake | |
|---|---|---|
| Кто добавляет блоки | Майнеры | Валидаторы |
| Чем они рискуют | Вычислительной мощностью и электроэнергией | Монетами, заблокированными в качестве залога |
| Наказание за обман | Затраты на впустую потраченную энергию | Стейк может быть уничтожен («слэшинг») |
| Известный пример | Bitcoin | Ethereum |
В обеих системах, чтобы переписать историю, злоумышленнику нужно контролировать большую часть вычислительной мощности сети или застейканных монет, а в крупных сетях это дорого. Небольшие сети с меньшей мощностью или стейком атаковать дешевле.
Подтверждения и финальность
Когда ваша транзакция попадает в блок, у нее одно подтверждение. Каждый следующий блок сверху добавляет еще одно. Чем больше подтверждений, тем менее вероятна отмена, потому что злоумышленнику пришлось бы перестроить больше блоков.
У некоторых блокчейнов proof of stake есть еще и финальность: после контрольной точки сам протокол считает блоки необратимыми.
Биржи сами устанавливают требования к числу подтверждений для каждой сети, прежде чем зачислить депозит. Пример расчета: допустим, две биржи требуют следующее перед зачислением депозита.
| Сеть | Примерное время блока | Требуемые подтверждения (допущение) | Время ожидания |
|---|---|---|---|
| Bitcoin | 10 минут | 3 | 3 × 10 = около 30 минут |
| Сеть с блоками по 12 секунд | 12 секунд | 64 | 64 × 12 = 768 секунд ≈ 13 минут |
| Сеть с блоками по 2 секунды | 2 секунды | 30 | 30 × 2 = 60 секунд |
Время блока — это среднее значение, и реальное ожидание может быть дольше, когда сети перегружены или биржи приостанавливают депозиты. Для тех, кто переводит монеты, чтобы поймать ценовой разрыв, эта задержка — реальная издержка: цена может измениться до того, как средства дойдут.
Публичные, приватные сети и сети второго уровня
- Публичные блокчейны, такие как Bitcoin и Ethereum, позволяют любому запустить узел, отправлять транзакции и читать всю историю.
- Permissioned-блокчейны допускают к участию только одобренных участников. Их используют некоторые компании, но у них нет тех же свойств открытости и устойчивости к цензуре.
- Сети второго уровня (layer 2) обрабатывают транзакции вне основной сети (layer 1) и отправляют в нее сжатые результаты, получая более низкие комиссии ценой некоторой сложности.
Многие блокчейны также исполняют смарт-контракты — программы, которые работают ончейн. Благодаря им существуют токены, децентрализованные биржи и вся остальная DeFi.
Чего блокчейн не гарантирует
Блокчейн гарантирует, что запись соответствует его правилам, но не то, что данные правдивы или приложение безопасно. Частые заблуждения:
- «Ончейн — значит безопасно». В смарт-контракте могут быть ошибки, а токен может ничего не стоить, даже если его транзакции записаны безупречно.
- «Транзакции анонимны». В публичных сетях виден каждый перевод. Адреса псевдонимны, а не приватны.
- «Ошибки можно исправить». Отправка средств на неверный адрес или в неверную сеть обычно необратима.
- «Все блокчейны одинаково безопасны». Безопасность зависит от того, сколько вычислительной мощности или стейка защищает сеть и насколько децентрализованы ее валидаторы.
- «Данные блокчейна поступают в реальном времени». В каждой сети есть задержка между отправкой транзакции и ее финальностью.
Почему блокчейны важны для трейдеров
Для трейдеров блокчейн — это рельсы, по которым деньги перемещаются между площадками. Выбор сети определяет комиссию за вывод, время подтверждения и то, поддерживают ли эту сеть обе биржи. Арбитражную возможность, которая закрывается за пять минут, не поймать переводом, который идет тридцать. Поэтому многие арбитражеры заранее держат средства на аккаунтах с обеих сторон, а не переводят их во время сделки.
Один и тот же токен может существовать в нескольких блокчейнах. Стейблкоин, например, можно вывести более чем в одной сети, и у каждой своя комиссия и скорость. Перед выводом проверьте три вещи: поддерживает ли биржа-получатель именно ту сеть, которую вы выбираете, открыты ли сейчас депозиты и выводы в этой сети с обеих сторон и какова комиссия за вывод по сравнению с размером сделки.
Чем помогает ArbTide
Сканер арбитража в реальном времени ArbTide показывает ценовые разрывы между биржами за вычетом комиссий тейкера. Комиссии за вывод, сетевые комиссии и задержки переводов пока не вычитаются, поэтому проверяйте их сами, прежде чем переводить монеты; на странице методологии точно указано, что входит в чистый спред.
Частые вопросы
- Что такое блокчейн простыми словами?
- Блокчейн — это общая запись транзакций, одинаковые копии которой хранят множество компьютеров. Новые записи добавляются пакетами, которые называются блоками, и каждый блок связан с предыдущим, поэтому прошлые записи очень трудно изменить.
- Почему блокчейн трудно изменить?
- Каждый блок содержит хеш — цифровой отпечаток — предыдущего блока. Изменение старой транзакции меняет хеш этого блока и разрывает все последующие связи, и сеть отвергнет измененную цепочку, если только злоумышленник не контролирует большую часть ее вычислительной мощности или стейка.
- Что такое подтверждение в блокчейне?
- Подтверждение — это каждый блок, добавленный после блока с вашей транзакцией. Чем больше подтверждений, тем сложнее отменить транзакцию, поэтому биржи ждут определенного их числа, прежде чем зачислить депозит.
- Чем proof of work отличается от proof of stake?
- В proof of work майнеры тратят вычислительную мощность, чтобы получить право добавлять блоки, как в Bitcoin. В proof of stake валидаторы блокируют монеты в качестве залога и выбираются для добавления блоков, как в Ethereum. Оба механизма позволяют сети договориться о единой истории без центрального органа.
- Блокчейн — это то же самое, что криптовалюта?
- Нет. Блокчейн — это технология ведения записей, а криптовалюта — актив, который в ней учитывается. Большинство криптовалют работают на блокчейнах, но блокчейны могут также хранить токены, данные смарт-контрактов и другую информацию.