Разработка смарт-контрактов в Ethereum. Тимур Машнин
Чтение книги онлайн.
Читать онлайн книгу Разработка смарт-контрактов в Ethereum - Тимур Машнин страница 5
Каналы состояния работают путем «блокировки» некоторой части состояния блокчейна в многосегментный контракт, контролируемый определенным набором участников.
Состояние, которое «блокировано», называется депозитом состояния.
Это может быть определенное количество эфира или токенов.
После того, как депозит заблокирован, участники канала используют обмен сообщениями вне сети, чтобы обменивать и подписывать действительные транзакции ethereum, не развертывая их в цепочку. Это транзакции, которые могут быть добавлены в цепочку в любое время.
Обновление состояния канала всегда осуществляется единогласным решением сторон.
Все стороны подписывают и сохраняют свои собственные копии каждой транзакции вне сети.
Поскольку эти транзакции происходят полностью вне блокчейна, они имеют нулевые транзакционные сборы, и их скорость ограничена только их базовым протоколом связи.
Примером реализации такого протокола служит сеть Raiden Network, работающая поверх Эфериума.
Еще один подход к увеличению скорости обработки транзакций называется Sharding.
В настоящее время каждый отдельный узел, работающий в сети Ethereum, должен обрабатывать каждую транзакцию, проходящую через сеть.
Это дает блокчейну высокую степень безопасности из-за тотальной валидации, но в то же время это означает, что весь блокчейн так же быстр, как его отдельные узлы, но не сумма этих узлов.
То есть скорость блокчейна ограничивается скоростью отдельного узла сети.
В настоящее время транзакции Эфериума обрабатываются не параллельно, и каждая транзакция выполняется последовательно в глобальном масштабе.
Поэтому подход заключается в blockchain sharding, где мы разбиваем все состояние сети на кучу разделов, называемых shards, которые содержат свою собственную независимую часть состояния и историю транзакций.
В этой системе определенные узлы обрабатывают транзакции только для определенных shards, тем самым в целом увеличивая пропускную способность транзакций.
Sharding является перспективным механизмом для масштабирования блокчейна.
Однако при таком подходе требуется решить такие сложные задачи, как меж shards коммуникация и общая безопасность такого разделенного блокчейна.
Децентрализованные приложения
Для понятия децентрализованного приложения может быть не одно определение.
Тем не менее, у децентрализованных приложений есть общие черты:
Это открытый исходный код. В идеале код должен быть самоподдерживаемым и все изменения в коде должны определяться консенсусом или большинством его пользователей. И код должен быть доступен для проверки.
Децентрализация. Все записи о работе приложения должны храниться в общедоступной и децентрализованной цепочке блока.
Валидаторы цепочки блоков должны поощряться.
Протокол.