Читаем Разработка смарт-контрактов в Ethereum полностью

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

Кроме того, Ethereum использует алгоритм хэширования Ethash, в то время как Bitcoin использует алгоритм хэширования, SHA-256.

Также Ethereum использует доказательство работы, устойчивое к ASIC.

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

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

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

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

Таким образом, применение ASIC для Эфериума, по сути, бесполезно, потому что это просто общие вычисления.

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

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

И стандартная DRAM на самом деле не справляется с этой задачей, поэтому для майнинга используются RAM графических процессоров.

Подытоживая, с общей точки зрения, у Биткойн и Эфириум разные предназначения.

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

И основная цель эфира – не быть альтернативой традиционным деньгам, в отличие от биткойнов, а облегчать и монетизировать работу сети Ethereum.

В целом, Bitcoin и Ethereum – это разные реализации технологии blockchain с разными целями.

Масштабирование

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

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

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



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

В соответствии с порядком, определенным майнером.

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

Перейти на страницу:

Похожие книги

Фотоприколы с помощью Photoshop
Фотоприколы с помощью Photoshop

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

Геннадий Геннадьевич Кондратьев , Юрий Анатольевич Гурский

Программирование, программы, базы данных / Прочая компьютерная литература / Книги по IT