LibKing » Книги » comp-programming » Тимур Машнин - Разработка смарт-контрактов в Ethereum

Тимур Машнин - Разработка смарт-контрактов в Ethereum

Тут можно читать онлайн Тимур Машнин - Разработка смарт-контрактов в Ethereum - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 2022. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Тимур Машнин - Разработка смарт-контрактов в Ethereum
  • Название:
    Разработка смарт-контрактов в Ethereum
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    2022
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Тимур Машнин - Разработка смарт-контрактов в Ethereum краткое содержание

Разработка смарт-контрактов в Ethereum - описание и краткое содержание, автор Тимур Машнин, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Эта книга рассказывает о принципах работы Ethereum, отличии Ethereum от Bitcoin. Вы узнаете что такое децентрализованные приложения Dapp и смарт-контракты, познакомитесь с инструментами разработки Dapp. Изучите высокоуровневый язык Solidity создания смарт-контрактов для виртуальной машины Ethereum. Познакомитесь со средой разработки Remix. Узнаете о практическом применении смарт-контрактов, стандартах ERC20, ERC-721, ERC-1155 и EIP-3156.

Разработка смарт-контрактов в Ethereum - читать онлайн бесплатно ознакомительный отрывок

Разработка смарт-контрактов в Ethereum - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Тимур Машнин
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

После того, как блок добыт, этот порядок закреплен навечно. Этот порядок называется индексом транзакции.

И каждый полный узел хранит всю цепочку блоков.

Все это препятствует масштабируемости приложений blockchain.

Скорость обработки транзакций в блокчейне не является удовлетворительной по сравнению с централизованной обработкой.

Что такое масштабируемость?

Масштабируемость – это способность системы удовлетворительно работать на практических всех уровнях нагрузки.

Нагрузка в контексте блокчейна может быть транзакциями, количеством узлов, количеством участников и количеством аккаунтов и других атрибутов blockchain.

В случае блокчейна наиболее важной характеристикой является скорость транзакций или количество транзакций в секунду.

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

Например, для биткойна, в 2017 году, средняя комиссия сети достигла 15–20 долларов США, а скорость подтверждения транзакции стала доходить до нескольких дней.

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

Наиболее очевидным способом увеличения скорости транзакций является увеличение количества транзакций на блок.

Биткойн пытался сделать это двумя способами: с помощью вилки Segregated Witness и с помощью увеличения максимально разрешенного размера блока.

В Segregated Witness транзакции и подписи разделяются для обеспечения большего - фото 7

В Segregated Witness транзакции и подписи разделяются для обеспечения большего количества транзакций на блок.

Цифровая подпись занимает до 60 % пространства в транзакции.

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

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

И теперь, чтобы проверить все транзакции, узлу нужно загружать расширенный блок – это основной блок + отдельный свидетель.

Это была мягкая вилка, которая была реализована в 2017 году.

Она работает в текущей версии блокчейна биткойна.

Однако ограничение размера блока все равно фиксируется на одном мегабайте.

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

И это улучшение называется Segregated Witness 2X.

Это была запланированная жесткая вилка, которая должна была состояться в ноябре 2017 года, но не прошла из-за отсутствия поддержки сообщества.

Однако при этом часть сообщества, не приняв SegWit2x, произвела жесткий форк сети биткойна, увеличив размер блока биткойна до 8 Мб.

И свою ветку они назвали Bitcoin Cash.

15 мая 2018 года был обновлён протокол сети Bitcoin Cash с целью увеличения размера блока до 32 МБ.

Теперь давайте рассмотрим как Ethereum относится к размеру блока В Ethereum - фото 8

Теперь давайте рассмотрим, как Ethereum относится к размеру блока.

В Ethereum размер блока может меняться и ограничен лимитом газа, указанным в заголовке блока.

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

Например, у нас есть 5 транзакций, и каждая транзакция имеет лимит газа в 10, 20, 30, 40 и 50. Если лимит газа на блок – 100, тогда первые 4 транзакции могут поместиться в блок.

И майнеры решают какие транзакции поместить в блок.

Если попытаться включить транзакцию, которая использует больше газа, чем текущий лимит газа на блок – она будет отвергнута сетью и ваш Эфириум клиент выдаст вам сообщение “Транзакция превышает лимит газа на блок”.

Протокол позволяет майнеру блока регулировать лимит газа на блок на 0.0976 % в любом направлении.

Кто в Ethereum решает какой будет лимит газа на блок? – Майнеры. Отдельно от регулируемого протокола, стратегия с лимитом газа около 5,000,000 стоит по умолчанию в большинстве клиентов.

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

Этот размер переменного блока улучшил транзакционную скорость.

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

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

Теперь давайте обсудим механизм проведения транзакций вне сети.

Одним из решений для увеличения скорости транзакций является выгрузка некоторых - фото 9

Одним из решений для увеличения скорости транзакций является выгрузка некоторых транзакций из сети.

Это осуществляется между доверенными сторонами.

И эта функция в биткойне называется платежным каналом.

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

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

И примером такого решения служит сеть Lightning Network.

Сеть Lightning Network состоит из узлов и двунаправленных платежных каналов.

Платежный канал устанавливается между двумя узлами сети.

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

В дальнейшем пропускная способность канала будет определяться суммой заблокированных узлами средств.

Решение Ethereum расширяет эту концепцию платежного канала до смартконтрактов - фото 10

Решение Ethereum расширяет эту концепцию платежного канала до смарт-контрактов.

Каналы состояния – это расширение концепции платежного канала для любой транзакции на уровне приложения.

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

Каналы состояния работают путем «блокировки» некоторой части состояния блокчейна в многосегментный контракт, контролируемый определенным набором участников.

Состояние, которое «блокировано», называется депозитом состояния.

Это может быть определенное количество эфира или токенов.

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

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Тимур Машнин читать все книги автора по порядку

Тимур Машнин - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Разработка смарт-контрактов в Ethereum отзывы


Отзывы читателей о книге Разработка смарт-контрактов в Ethereum, автор: Тимур Машнин. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img