Ethereum Classic: три категории блоков

ETCBLOCKS

Блокчейн Ethereum Classic (ETC) организует информацию в блоки. Это помогает улучшить производительность и снизить требования к памяти для хранения. Содержимое блоков можно разложить на заголовок, списки транзакций и списки брошенных заголовков. Но есть ещё три альтернативных отделения блоков, о которых важно знать. Речь идет о следующих категориях: контекст, вычисление и консенсус.

Контекст

context

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

Номера блоков

Каждый блок имеет свой собственный идентификационный код, равный числу предыдущих блоков. Код самого первого блока равен нулю.

Хэш родительского заголовка

Все элементы блогов, за исключением списков заголовков и транзакций, формируют заголовки. У каждого блока есть хэш Keccak 256 родительского заголовка. Все это сделано из соображений безопасности.

Дата и время

Все блоки содержат дату и время, когда они были добавлены в блокчейн. Это выражается в секундах, начиная с 1970–01–01 00:00:00 UTC.

Вычисления

computation

Все вычисления ETC также должны быть максимально точными. Поэтому блоки содержат списки транзакций, хэш списков транзакций, «газовые» требования к списку транзакций, хэш состояния списка транзакций, хэш списков квитанций (детали произведенных ранее транзакций) и фильтр Блума списков квитанций. Можно подумать, что содержимое блоков содержащее лишь хэши состояний и квитанций представляет собой проблему, но это абсолютно приемлемо, поскольку в блокчейне содержится вся существенная информация для восстановления всей истории мирового компьютера ETC. Таким образом имплицитно в блокчейне уже есть все состояния и квитанций:

Списки транзакций

Для внешний по отношению к ETC сущностей работа представлена в виде транзакций. В блоках находятся списки всех этих транзакций.

Хэши списков транзакций

Блок содержит хэши Keccak 256 древ, сформированных из списков транзакций. Сделано из соображений безопасности.

«Газовые» требования к списку транзакций

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

Хэши состояния списка транзакций

Под состоянием подразумеваются стоимость на всех счетах. Блоки должны уточнять состояние после выполнения списков транзакций и связанных операций. Поэтому блоки включают хэши Keccak 256 специальных древ, сформированных из этих состояний.

Хэши списков квитанций

Информация о выполнении всех транзакций включает также квитанции. Они используются поисковыми устройствами и другими приложениями. Блоки содержат хэши Keccak 256 специальных древ, сформированных из списков квитанций.

Фильтры Блума списков квитанций

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

Консенсус

consensus

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

Особые данные о майнере

Майнер может дополнительно добавить 32 байта в созданные им блоки. Здесь нет особых ограничений.

Адреса майнера

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

Помощь в валидации майнера

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

Максимум газа майнера

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

Информация о доказательстве работы

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

Уровни сложности доказательства работы

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

Список брошенных заголовков

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

Хэши списков брошенных заголовков

Блоки включают хэши Keccak 256 списков брошенных заголовков. Это сделано из соображений безопасности.

Заключение

conclusion

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

Источник: medium.com



Рубрики:Новичкам, Теория, Ethereum

Метки: ,

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s