Ethereum размер блока может меняться и ограничен лимитом газа, указанным в заголовке блока.
Лимит газа на блок – это максимально допустимое количество газа в блоке для определения того, как много транзакций может поместиться в блок.
Например, у нас есть 5 транзакций, и каждая транзакция имеет лимит газа в 10, 20, 30, 40 и 50. Если лимит газа на блок – 100, тогда первые 4 транзакции могут поместиться в блок.
И майнеры решают какие транзакции поместить в блок.
Если попытаться включить транзакцию, которая использует больше газа, чем текущий лимит газа на блок – она будет отвергнута сетью и ваш Эфириум клиент выдаст вам сообщение “Транзакция превышает лимит газа на блок”.
Протокол позволяет майнеру блока регулировать лимит газа на блок на 0.0976 % в любом направлении.
Кто в Ethereum решает какой будет лимит газа на блок? – Майнеры. Отдельно от регулируемого протокола, стратегия с лимитом газа около 5,000,000 стоит по умолчанию в большинстве клиентов.
Майнеры могут изменить это, но многие этого не делают и оставляют настройки по умолчанию.
Этот размер переменного блока улучшил транзакционную скорость.
Ожидается, что он еще больше улучшится, когда Ethereum перейдет к доказательству ставки.
Мы только что обсудили сетевое решение для повышения скорости транзакций.
Теперь давайте обсудим механизм проведения транзакций вне сети.
Одним из решений для увеличения скорости транзакций является выгрузка некоторых транзакций из сети.
Это осуществляется между доверенными сторонами.
И эта функция в биткойне называется платежным каналом.
Платежные операции могут осуществляться с минимальными комиссиями со значительно более высокой скоростью между доверенными лицами.
В типичном платежном канале в цепочку блоков добавляются только две транзакции, но между участниками может быть сделано неограниченное или почти неограниченное количество платежей.
И примером такого решения служит сеть Lightning Network.
Сеть Lightning Network состоит из узлов и двунаправленных платежных каналов.
Платежный канал устанавливается между двумя узлами сети.
Каждый из двух узлов платежного канала блокирует в блокчейне Биткоина некоторую сумму средств для канала.
В дальнейшем пропускная способность канала будет определяться суммой заблокированных узлами средств.
Решение Ethereum расширяет эту концепцию платежного канала до смарт-контрактов.
Каналы состояния – это расширение концепции платежного канала для любой транзакции на уровне приложения.
Механизм называется State Channel, поскольку состояние узла в основной цепочке блокируется при транзакции вне сети и периодически синхронизируется с соответствующими обновлениями с основной цепочкой.
Каналы состояния работают путем «блокировки» некоторой части состояния блокчейна в многосегментный контракт, контролируемый определенным набором участников.
Состояние, которое «блокировано», называется депозитом состояния.
Это