- Все о блокчейне
- Вся информация о технологии блокчейн в одном месте
- Блокчейн что это
- Что такое блок в сети блокчейн
- Когда появился блокчейн
- Как работает блокчейн
- Почему блокчейн безопасен
- Сколько блоков в блокчейне
- Сколько весит блокчейн
- Сколько весит блокчейн биткоина
- Сколько весит блокчейн Монеро
- Сколько весит блокчейн эфириума
- Сколько нужно подтверждений в блокчейн
- Сколько существует блокчейн сетей
- Ethereum blockchain: что это, размер, где хранится
- Ethereum blockchain: что это простыми словами
- Адреса Эфириум блокчейна: как взаимодействуют аккаунты внутри площадки
- Из чего состоит счет в системе Эфириум?
- Экосистема платформы: где хранится блокчейн Ethereum
- Как создать свой blockchain на Ethereum: подробная инструкция
Все о блокчейне
Вся информация о технологии блокчейн в одном месте
Блокчейн что это
Блокчейн, происходит от английского blockchain, первоначальное формулировка block chain — это сформированная по определенному алгоритму единая цепочка информационных блоков (связный реестр), в которых содержится определенная алгоритмом информация. Полный реестр цепочек блоков храниться на полных нодах сети — обособленных вычислительных мощностях.
Что такое блок в сети блокчейн
Блок — алгоритмически добавляемая единица информации, информационный блок сети, который содержит информацию об произведенных изменениях в предыдущих блоках. По сути, это запись проведенных в сети новых транзакций. Блок добавляется в конец цепи, т.е. наслаивается на предыдущую информацию. Цепь содержит запись всех транзакций. После добавления блока в цепь, его изменение невозможно. Каждый блок содержит хеш (информацию), о более ранних блоках, что обеспечивает некомпроментируемость связей в цепи.
Когда появился блокчейн
Блокчейн изобретен в 1991 году.
В 1991 году Стюарт Хабер и Скотт В. Сторнетта презентовали концепцию, которую принято называть блокчейном. Их основная работа связана с криптографической защищенностью цепочки информационных блоков, в которой не возможно подменить временные метки.
В 1992 году система была модернизирована. В нее были включены деревья Merkle, с целью повышения эффективности работы сети, это позволило записывать больше информации в одном блоке.
В 2008 год считается началом реального применения концепции распределенной сети. Основополагателем чего стал человек или группы людей по имени Сатоши Накамото. Был концептуализирован первый блокчейн, в этот момент технология получила реальное воплощение.
В 2009 году автором был выпущен технический документ о технологии, в котором подробно описана концепция цифрового доверия среди анонимных пользователей сети, который базируется на децентрализации, т.е. отсутствии единого центра управления сетью.
Как работает блокчейн
Технология получила свое название, т.к. похожа на цепь, состоящую из отдельных информационных блоков. Изменения вносятся в конец цепи. Каждый новый блок содержит набор новых данных. Например, Х заплатит Z биткоин, эта транзакция будет записана в конец цепи. В предыдущих блоках будут записи о транзакциях в которых Y заплатил B, а B — X.
Блокчейн, в отличие от классических баз данных, храниться в распределенной, децентрализованной сети по всему Миру. Данные публичной сети доступны любому пользователю подключенному к интернету. Майнеры или полные ноды сети, на которых хранится распределенный реестр, ответственны за определение транзакций пользователей сети, их консолидацию, проверку и запись в очередной блок.
Процесс валидации заключается в установлении фактического владения активом и отсутствия его траты.
Право собственности на актив в блокчейне определяется парой криптографических ключей. Первый ключ находится в открытом доступе. Второй закрыт и доступен владельцу. Транзакции подписываются закрытым ключем, которому в сети соответствует открытый. После обработки транзакции, цифровому активу генерируется новый открытый ключ.
В блокчейне решается вопрос необратимости транзакций ввиду отсутствия центрального органа, который следит за соблюдением правил. Необратимость операции обеспечивает алгоритм сети.
Почему блокчейн безопасен
Транзакция в сети блокчейн – это криптографически зашифрованная запись с определенной последовательностью символов, которая называется хэш. При этом каждая последующая транзакция содержит хэш предыдущей транзакции, которая также шифруется тем же алгоритмом и получается еще хэш-запись. Таким образом выстраивается последовательность из ряда хэшей, которые зависят друг от друга. Если намеренно внесены изменения в последовательность, то новый хеш будет отличен от существующего в сети. Такая подмена будет идентифицирована другими участниками децентрализованной сети. Существующие вычислительные мощности не способны создать новую цепочку, не нарушив взаимосвязей. Поэтому блокчейн функционирует, как безопасная децентрализованная система. Под угрозу ее безопасность ставят квантовые компьютеры, скорость вычислений которых на порядок превосходит текущие возможности. При этом разрабатываются механизмы квантового шифрования, которые обезопасят сеть в будущем.
Сколько блоков в блокчейне
Количчество блоков в сети определяется частотой их создания и временем существавания сети. Например в сети биткоин количество блоков составляет — 574 тыс. блоков
Сколько весит блокчейн
Размер блокчейн сети определяется размером используемых в сети блоков, частоте их создания и длительности существования сети. Поэтому у каждой криптовалюты размер блокчейна различный.
Сколько весит блокчейн биткоина
Объем блокчейн сети Ethereum — 214,5 GB Более точные данные можно узнать по ссылке — https://www.blockchain.com/ru/charts/blocks-size
Сколько весит блокчейн Монеро
Объем блокчейн сети Monero — 51,15 GB Более точные данные можно узнать по ссылке — https://xmr.ru/charts/blockchain-size
Сколько весит блокчейн эфириума
Объем блокчейн сети Ethereum — 132.57 GB Более точные данные можно узнать по ссылке — https://etherscan.io/chart2/chaindatasizefast
Сколько нужно подтверждений в блокчейн
Количество подтверждений зависит от принципа работы сети. Например в сети биткоин оптимальным является шесть подтверждений блоков в сети.
Сколько существует блокчейн сетей
Блокчейн сети разделяются на публичные и частные. Количество сетей не поддается подсчету.
Источник
Ethereum blockchain: что это, размер, где хранится
- Ethereum blockchain: что это простыми словами
- Адреса Эфириум блокчейна: как взаимодействуют аккаунты внутри площадки
- Из чего состоит счет в системе Эфириум
- Экосистема платформы: где хранится блокчейн Ethereum
- Как создать свой blockchain на Ethereum: подробная инструкция
Сегодня многие люди имеют лишь общие представления о том, что такое блокчейн Эфириум и как он работает. Но на самом деле эта платформа наделена рядом особенностей, выделяющих её среди других платежных систем. В этом обзоре мы рассмотрим все ключевые характеристики сети Ethereum и даже узнаем, как создавать приватный блокчейн с нуля.
Ethereum blockchain: что это простыми словами
Если говорить максимально коротко, то блокчейн Ethereum — это площадка для создания децентрализованных онлайн-сервисов, функционирующих на основе умных контрактов. Также данную платформу можно назвать единой децентрализованной виртуальной машиной.
Внутри системы ходит одноименная криптовалюта Эфириум или Эфир. Работа сети базируется на 3-х фундаментальных принципах:
- Наличие криптографической защиты — это значит, что внутренняя валюта создается на основе сложных математических алгоритмов, которые крайне трудно взломать.
Одноэлементный механизм записи транзакций. То есть, система содержит лишь один правильный алгоритм, отвечающий за проведение транзакций. Этот цифровой механизм можно назвать единой истиной, принимаемой всеми пользователями площадки. Чтобы не допускать появления новых механизмов внутри платформы, применяется протокол GHOST. Согласно этому протоколу, каноничным считается тот алгоритм, который требует наибольшего количества вычислений.
Механизм блокчейна Эфириума систематически анализирует входящие сведения и, опираясь на них, изменяет свое состояние. Стартовой точкой для рассматриваемой системы является так называемое «состояние генезиса». Это начальный статус платформы до осуществления каких-либо денежных переводов. После проведения транзакций осуществляется переход сети в фазу нового конечного состояния, которое будет текущим состоянием блокчейна на конкретный момент времени.
На сегодняшний день блокчейн для Эфириума состоит из тысяч транзакций, сгруппированных в блоки. Каждый новый элемент сети связан с предыдущим, за счет чего формируется цепочка. Любой блок имеет свой номер; они все идут в строгой последовательности. Несмотря на то, что данные сети являются открытыми, их нельзя менять или что-то удалять из базы.
Как было сказано чуть выше, весь жизненный цикл Ethereum blockchain основан на постоянном изменении состояния. Чтобы такие изменения проводились, в системе должны присутствовать действительные транзакции. Переводы получают статус действительных после прохождения валидации, являющейся частью майнинга. Майнинг в сети Эфира — это процесс создания новых блоков транзакций, который выполняется за счет вычислительных мощностей сотен компьютеров (или узлов).
По сути, каждый майнер претендует на формирование и проверку нового элемента блокчейна. Тысячи пользователей во всем мире безостановочно генерируют и утверждают блоки. При записи нового элемента blockchain каждый майнер даёт математическое доказательство того, что блок сформирован и включает в себя только действительные переводы. Этот алгоритм получил название Proof-of-Work (то есть доказательство выполненной работы). За каждый подтвержденный блок «шахтеры» получают вознаграждение в виде определенного количества монет Эфириума.
Поскольку сегодня для формирования новых элементов сети требуются колоссальные мощности, пользователи практически не майнят поодиночке. Они объединяются в пулы и совместно работают над формированием одного блока. После создания нового компонента награда распределяется между всеми участниками процесса. Её размер напрямую зависит от вклада конкретного пользователя в создание блока.
По состоянию на 21.08.2018 блокчейн Эфира имеет такие ключевые показатели:
- Общий хешрейт сети — 282.395 Thash/s.
Среднее время, которое тратится на генерацию блока — 14,5 сек (это примерно в 10 раз быстрее, чем в сети Биткоин).
Суммарное количество блоков — 6 186 719.
Размер одного элемента сети — 25,134 Кб.
Размер блокчейна Ethereum — 667,10 Гб.
Среднее количество блоков, генерируемое за сутки — 5 945.
Опираясь на вышеизложенную информацию, можно прийти к выводу, что размер блокчейна Эфириума ежедневно увеличивается на 148,6 Мб. Таким образом, за год база данных сети «потяжелеет» примерно на 54 Гб. Этот факт стоит учитывать тем, кто хочет завести себе полновесный кошелек для хранения Эфира.
Адреса Эфириум блокчейна: как взаимодействуют аккаунты внутри площадки
Помимо блоков транзакций, сеть Эфириума содержит в себе множество крохотных объектов, способных взаимодействовать друг с другом, обмениваясь сообщениями. Эти объекты называются счетами. Каждый конкретный счет имеет определенное состояние, а также 20-битный адрес. Адрес же является 160-битным идентификатором, применяемым для выявления того или иного счета.
Все профили блокчейна Эфириума разделены на 2 категории:
- Счета внешних владельцев, управление которыми осуществляется с помощью приватных ключей. Объекты, относящиеся к данной категории, не имеют уникального программного кода.
Крайне важно понимать, в чем заключается отличие между двумя этими видами объектов. Со счетов внешних владельцев можно отправлять сообщения как на другие внешние адреса, так и на адреса контрактов. В первом случае будет проводиться обычный денежный перевод. Во втором случае (отправка на счет контракта) активируется особый программный код, позволяющий контракту выполнять заданные действия. В коде может быть заложена практически любая функция: от трансфера монет до проведения математических вычислений.
Помимо этого, контракты не могут сами запрашивать транзакцию. Они способны пересылать какие-то активы только в ответ на входящий перевод. Отсюда следует вывод, что активность в блокчейне Ethereum основывается на переводах, которые инициируют профили внешних владельцев.
При работе на рассматриваемой платформе очень важно уметь анализировать состояние счета. Об этом мы поговорим далее.
Из чего состоит счет в системе Эфириум?
Состояние счета в блокчейне Эфира всегда включает 4 элемента:
- Nonce. В случае со счетами внешних владельцев это количество переводов, осуществленных с конкретного аккаунта. Во втором случае данная графа указывает численность контрактов, созданных тем или иным профилем.
Balance — показывает, сколько wei (наименьшая единица Эфира) есть на счету аккаунта.
StorageRoot — хеш корневого узла дерева Меркла (о нём мы расскажем чуть позже). Данное дерево проводит кодировку информации, содержащейся в хранилище конкретного счета.
Экосистема платформы: где хранится блокчейн Ethereum
Выше мы упоминали такое понятие, как дерево Меркла. Так вот, это двоичная иерархическая структура данных, в которой хранятся все сопоставления адресов и счетов. Дерево Меркла включает 3 вида узлов (или нод):
- Конечные узлы — находятся внизу иерархической структуры. В них содержатся базовые сведения.
Промежуточные ноды, каждый из которых — это хеш двух его дочерних узлов.
Информация, располагающаяся внизу двоичной иерархической структуры, генерируется по такому алгоритму:
- Сведения, подлежащие сохранению, разделяются на блоки.
- Сформированные блоки, в свою очередь, разделяются на сегменты.
- Система берёт хеш каждого сегмента, и операция повторяется.
- Система собирает хеш сегментов до того момента, пока не останется лишь корневой хеш.
Каждому значению всей структуры данных необходим ключ. Именно он показывает, к какому ноду следовать, чтобы получить искомое значение, содержащееся в конечных узлах.
В системе Ethereum ключ показывается между адресами и относящимися к ним счетами. Эти ключи мы уже упоминали ранее: Nonce, Balance, StorageRoot, CodeHash. Помимо этого, в двоичном дереве Меркла хранятся транзакции и квитанции. Если говорить точнее, то в каждом блоке присутствует свой заголовок, в котором располагается корневой хеш древа состояний, переводов и квитанций (то есть, мы имеем 3 разные структуры в одном блоке).
Использование деревьев Меркла для хранения информации в сети Эфириум крайне полезно и практично. Дело в том, что функционирование платформы обеспечивают сотни отдельных узлов (или нод). Эти ноды делятся на 2 группы: полные и легкие. Полные архивные узлы загружают весь блокчейн Эфириума, содержащий подробную информацию по каждой отдельной транзакции. Зачастую, полными нодами являются майнеры, генерирующие новые блоки и гарантирующие работу площадки. Однако вся база данных Ethereum весит крайне много (667,10 Гб). Более того, она безостановочно расширяется, что может доставить пользователю проблемы в будущем.
На этом фоне более привлекательной альтернативой кажутся легкие ноды. Они загружают только заголовки блоков без полной информации о переводах. А поскольку каждый заголовок содержит хеш трех деревьев (состояния, транзакций и квитанций), можно создавать и получать ответы, которые касаются баланса, переводов, событий в сети и так далее.
Нельзя не упомянуть и о том, что принцип работы дерева Меркла оберегает блоки от внедрения поддельных транзакций. Дело в том, что хеширование в иерархической структуре распространяется вверх. Если злоумышленник внесет изменения в узел, находящийся внизу, он спровоцирует цепную реакцию. Сначала изменится хеш первого нода, находящегося выше, потом хеш узла, расположенного ещё выше. В итоге поменяется хеш корневого узла, что недопустимо. Проверяя всю цепочку хеширования, можно выявить, какой элемент дерева имеет некорректное расположение в иерархической структуре.
Как создать свой blockchain на Ethereum: подробная инструкция
Поняв принцип работы системы Эфириума, можно создать свой приватный блокчейн для локальной сети. Далее мы узнаем, как это делается.
Прежде всего, необходимо скачать клиент под названием Geth. Этот клиент является одним из вариантов реализации протокола Ethereum. Это лицензированное приложение, так что никаких проблем с ним не будет. Geth можно загрузить в качестве отдельной программы или в виде библиотеки для интеграции в проекты на Android либо iOS.
Установочный файл можно скачать, перейдя по ссылке ethereum.github.io/go-ethereum/downloads/. Там будут версии для Windows, MacOS и Linux. Инсталляция клиента на Windows проходит стандартно. Чтобы поставить Geth на MacOS, необходимо использовать менеджер пакетов Homebrew. В нем нужно ввести такие команды:
Инсталляция клиента на Linux также требует введения определенных команд через терминал. Они представлены ниже:
Далее нужно создать аккаунт майнера. Таким образом, мы сгенерируем приватный и публичный идентификатор, а также установим пароль для их защиты. В качестве примера мы рассмотрим создание профиля на MacOS через менеджер пакетов Homebrew. Нам нужно ввести следующую команду: geth account new —datadir /path/to/data/dir. В конце прописан адрес, по которому будут храниться наши ключи.
После этого переходим к самому интересному — созданию первого генезисного блока. Команда для генерирования первого элемента нашей приватной сети указана ниже:
В этой команде для нас наибольшую важность представляют 2 значения:
- datadir — адрес, по которому будут располагаться ключи;
- init — начало создания первого блока с именем genesis.json.
Вот как будет выглядеть код генезисного блока:
Прописанные в коде команды имеют следующие значения:
- chainid — гарантирует обмен информацией в сети Ethereum без использования блокчейна Ethereum Classic, а также тестовой сети Morden.
homesteadBlock со значением «0» — это значит, что в нашей приватной сети будет применяться релиз Ethereum Homestead.
eip155Block со значением «0» — сеть поддерживает протокол EIP (Предложения по улучшению Эфириума) под номером 155. В предложениях EIP прописаны ключевые стандарты для функционирования блокчейна Эфириума.
eip158Block со значением «0» — генезисный блок, а значит и все последующие элементы приватного блокчейна, поддерживают EIP 158.
difficulty — уровень сложности при поиске значения nonce к генезисному блоку (об элементе nonce мы говорили чуть выше).
gasLimit — максимальное количество внутренней единицы оплаты, которое может взиматься системой за обработку транзакции либо смарт-контракта. Кроме того, данная команда указывает, сколько переводов может храниться в одном блоке.
После создания первого элемента сети можно приступать к генерации следующих блоков. Иными словами, начинается процесс майнинга. Майнить мы будем через клиент Geth. Чтобы запустить процесс, надо ввести в менеджере пакетов такую команду:
При активации майнинга важную роль играют следующие значения:
- networkid — сетевой идентификатор приватного блокчейна Эфириум.
mine — команда, активирующая майнинг.
rpc — команда, активирующая сервер HTTP-RPC. Благодаря ей, бумажники других пользователей локальной сети могут подключаться к созданному узлу майнинга.
rpcaddr — команда, указывающая интерфейс для работы на вышеупомянутом сервере. Изначально установлен интерфейс localhost.
rpcport — даёт указание на порт для работы HTTP-RPC. Здесь по умолчанию выставлено значение 8545.
rpcapi — указывает программные интерфейсы приложений (API), доступные на сервере HTTP-RPC. Изначально выставлен eth,net,web3.
rpccorsdomain — команда, активирующая CORS. Она указывает перечень доменов, с которых разрешено принимать запросы.
nodiscover — команда, отключающая поиск пиров. Созданный вами узел не смогут найти другие ноды сети. Но если вы хотите применять несколько блокчейнов в одной локальной сети, данный параметр не надо активировать.
Процесс майнинга можно начинать непосредственно через Geth или запускать консоль отдельно, а потом подключать её к узлу специальной командой. Выглядит эта команда так:
После подключения консоли Geth можно просматривать все аккаунты приватного блокчейна Эфириума, а также следить за их балансом. В этом вам помогут следующие 2 команды:
Ну что же, мы рассмотрели всю технологию блокчейна Эфириума, узнали, как она работает, и даже углубились в вопрос создания своей приватной сети. Конечно, полностью понять принцип функционирования не так просто. Но если вам удастся сделать это, вы сможете создавать на его основе свои проекты и, быть может, открывать перспективные стартапы.
Виталик Бутерин о блокчейне и Эфириуме:
Источник