Безопасное Хранение Данных Интернета Вещей В Частном Блокчейне Ethereum. Часть 1

Интернет вещей (IoT) — это набор технологий, которые позволяют подключенным к сети устройствам выполнять действия или обмениваться данными между несколькими подключенными устройствами или общей базой данных.

Действия могут быть любыми: от удаленного включения кондиционера, включения зажигания автомобиля с помощью команды из удаленного места или запроса Alexa или Google Assistant найти информацию о погодных условиях в определенном районе.

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

Это привело к тому, что многие такие устройства генерируют огромное количество данных.

которые необходимо обрабатывать в режиме реального времени.

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

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

Мы также рассмотрим производительность некоторых из этих распределенных систем, таких как Межпланетная файловая система (IPFS) и Ethereum Swarm, на устройствах с низким энергопотреблением, таких как Raspberry Pi.



Глава 1 Введение

Интернет вещей (IoT) — это захватывающая область компьютерных наук, способная произвести революцию в нескольких отраслях, таких как здравоохранение, энергетика и коммунальные услуги, транспорт, судоходство и розничная торговля.

Такие устройства, как Apple Smartwatch, могут обнаружить сердечный приступ и, при необходимости, уведомить службы экстренной помощи с помощью датчиков ЭCG. Последние исследования показывают, что в ближайшие годы в сети появится множество таких устройств, и каждое из них будет генерировать небольшие объемы данных в больших объемах.

Для этого требуется безопасная и надежная модель хранения данных со средствами защиты этих данных от кражи.

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

Реализации блокчейна/распределенного реестра, такие как Ethereum и Hyperledger Fabric, представили концепцию, называемую программируемым блокчейном, которая открыла возможность эффективного использования блокчейна для улучшения и оптимизации таких отраслей, как доставка, цепочки поставок и Интернет вещей (IoT).

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

Эта концепция в Ethereum называется смарт-контрактами, которые можно написать и развернуть в любой сети Ethereum. Безопасность IoT является серьезной проблемой для таких устройств, как Raspberry Pi, где необходимо решать вопросы конфиденциальности данных, а также обеспечивать конфиденциальность и целостность данных, если мы хотим доверять данным с устройства IoT.

1.1 Цель

В этой статье мы рассмотрим, как хранить данные Интернета вещей в сочетании внутреннего (Ethereum Blockchain) и автономного хранилища (IPFS и Ethereum Swarm) в зашифрованном виде и использовать их в модели публикации-подписки в реальном времени.

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



1.2 Резюме

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

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

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

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

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

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

Мы также описываем смарт-контракт, используемый для регистрации устройств IoT и хранения данных.

В главе 6 мы проводим эксперименты по хранению данных с использованием традиционных баз данных, а также предлагаемой системы с использованием Ethereum Blockchain, IPFS и Swarm. Чтобы понять стоимость безопасности IoT, мы проводим эксперименты по оценке производительности предлагаемой системы.

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



Глава 2. Цели и предпосылки



2.1 Цели

Устройства Интернета вещей были сопряжены с проблемами с тех пор, как существовала технология, и до недавнего времени эти устройства использовались только в хобби-проектах и никогда не добивались массового успеха, пока мощь облачных вычислений не была использована для питания таких устройств, как Alexa Echo, Google. Домашний Мини.

Это также позволило использовать датчики, управляемые через Интернет, в «умных» холодильниках, автомобилях и духовках.

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

Проблемы безопасности — очень важная проблема, которую необходимо решить в этих устройствах, причем основной проблемой является «труднозащищенный» механизм хранения конфиденциальных данных, таких как закрытые ключи и секретные ключи для API. Аппаратные механизмы безопасности или доверенные платформенные модули (TPM) направлены на создание аппаратного уровня доверия для шифрования устройств хранения и хранения конфиденциальных данных.

Блокчейн — все еще очень молодая технология, и у нее есть много своих проблем.

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

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

Хранение данных в блокчейне обходится дорого при больших объемах данных.

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

Однако децентрализованные технологии, такие как Межпланетная файловая система (IPFS) или Ethereum Swarm, могут использоваться для хранения актуальной полезной информации, а реализация блокчейна, такая как Ethereum, может использоваться для хранения ссылок на фактические данные, хранящиеся в этих системах.

Edge-устройства не должны хранить ссылки на данные или саму полезную нагрузку.

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

Это решает проблемы как скорости транзакций, так и затрат на хранение.

Нам не нужно ждать проверки транзакции, а вместо этого переходить к следующей транзакции.

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

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

Это поможет предотвратить несанкционированный доступ к сети.



2.2 Исследования

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

Такие компании, как IBM, Amazon и Microsoft, внесли свой вклад в недавний всплеск использования блокчейна в коммерческих приложениях.

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

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

IPFS также можно использовать в качестве мощной замены Swarm, о чем свидетельствует тот факт, что IPFS направлен на решение большинства тех же проблем, для решения которых предназначен Swarm. Ethereum + Swarm и Ethereum + IPFS были изучены для хранения пользовательских данных, контроля доступа к данным, хранящимся в системе, шифрования конфиденциальных данных в публичных сетях блокчейнов, а также хранения данных IoT и торговых площадок IoT. Исследование эталонных байт-кодов EVM и объектно-ориентированных методов, используемых для написания смарт-контрактов, дало мне существенное представление о написании эффективных смарт-контрактов в соответствии с лучшими практиками.

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

Интересно, что производительность Ethereum с IPFS или Swarm тщательно не исследовалась.

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

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

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

2.3 Предлагаемое решение

В этой статье мы создадим зашифрованную модель хранения данных IoT, в которой данные, генерируемые датчиками, будут надежно храниться на нескольких распределенных узлах или в Ethereum Swarm (или) IPFS, а порядок сбора данных будет храниться с использованием блокчейна Ethereum и интеллектуальных контракты.

Настройка IPFS, Ethereum Swarm и частного блокчейна Ethereum завершена, данные собираются с таких датчиков, как цифровой датчик влажности и температуры (DHT11).

Граничные узлы (ноды Ethereum и Swarm, не связанные с майнингом) на крошечных компьютерах, таких как Raspberry Pi 3B+, используются для сбора и хранения показаний датчиков в сети, а узлы-майнеры, работающие на более мощных машинах, используются для обработки и подтверждения транзакций в сети.

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

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

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

Шифрование с открытым и закрытым ключом, такое как RSA, можно комбинировать с симметричным шифрованием, таким как Advanced Encryption Standard (AES), а аутентификация проверяется с использованием кода аутентификации хэш-сообщения (HMAC).

Мы предлагаем аппаратные и программные методы, такие как доверенный платформенный модуль (TPM), для полного шифрования файловой системы мультимедиа на периферийных устройствах с использованием единой системы ключей Linux (LUKS) и безопасного хранения секретных ключей, используемых для симметричного шифрования, на устройстве хранения путем блокировки его в системе с помощью закрытого ключа TPM.

Глава 3. Технология блокчейн



3.1 Блокчейн

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

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

Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Рисунок 3.1: Статус транзакции Блокчейн, или, точнее, технология распределенного реестра, был создан для хранения и передачи новой формы валюты, называемой криптовалютой, первая из которых называлась Биткойн.

Эту технологию изобрел человек (или группа людей) под псевдонимом Сатоши Накамото.

Благодаря оглушительному успеху Биткойна он теперь стал синонимом блокчейна.

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

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

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

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

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

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

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

Успешный майнер получает вознаграждение в виде BTC за биткойн и эфир для Ethereum. В Таблице 3.1 поясняются некоторые различия между Биткойн и Эфириум — две самые популярные реализации блокчейна.



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Таблица 3.1: Различия между Биткойном и Эфириумом

3.1.1 Концепции блокчейна



Блокчейн

Блоки генерируются и заполняются транзакциями.

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

После завершения майнинга этот блок привязывается к предыдущему блоку, создавая реестр.

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

Процесс создания цепочки блоков показан на рисунке 3.2.

Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

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

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



Одноранговое открытие (P2P)

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

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

Технология P2P не нова и ранее использовалась в таких приложениях, как BitTorrent, Napster и т. д.

Распределенные или децентрализованные системы

Распределенные системы по-прежнему централизованы и требуют наличия сервера для подключения и обмена данными с каждым клиентом.

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



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Рисунок 3.3: Распределенные и децентрализованные системы

Майнинг криптовалюты

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

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

Это прямая аналогия с добычей золота из земли.

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

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

Криптографические вычисления, выполняемые этими майнерами, называются Proof of Work (PoW).

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

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

В Биткойне новый блок создается примерно за 10 минут, тогда как в Эфириуме новый блок создается каждые 10-12 секунд. Каждый блок создает 12,5 новых BTC в Биткойне, а новый блок в Ethereum генерирует 3 эфира.



Распределенные приложения

Термин «распределенные приложения» (dapps) используется для обозначения любого приложения (веб- или оффлайн), которое может взаимодействовать и обмениваться данными с блокчейном.

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



3.1.2 Частные и публичные блокчейны

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

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

Однако эти сети можно настроить так, чтобы они действовали как частные блокчейны, обрабатывая платежи и исполняя код смарт-контракта.

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

Такие частные блокчейны также можно назвать разрешенными блокчейнами.



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Таблица 3.2: Публичный и частный блокчейн

3.2 Блокчейн Эфириума

Ethereum — это популярная реализация блокчейна, предоставляющая платформу для выполнения смарт-контрактов.

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

В Эфириуме есть два типа валют — газ и эфир.

Газ — это эфир, за который должны платить узлы, выполняющие смарт-контракты.

Эfir — это криптовалюта в Ethereum, которую можно использовать для перевода денег и оплаты газа для выполнения смарт-контрактов.

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



3.2.1 Производительность и масштабирование

Как объяснено в разделе 3.1.1, новый блок в Ethereum генерируется каждые 10-12 секунд. Из-за намеренного ограничения вычислений на блок количество транзакций в секунду ограничено в среднем 15 в секунду.

Другие методы, такие как затенение и хранение данных вне цепочки, рассматриваются как способы улучшения этого коэффициента масштабирования.

Затраты на транзакцию Gas несет клиент Ethereum, отправляющий транзакцию, и рассчитываются следующим образом.

TxCost = gasLimit ∗ gasPrice (3.1) Средний лимит газа на блок (на момент написания статьи) составляет около 8 000 000. Это значение определяется майнерами и меняется в каждом блоке.

При среднем времени блока 12 секунд и ценах на газ за транзакцию в среднем от 20 000 до 60 000, мы можем ожидать от 10 до 20 транзакций в секунду.



3.2.2 Эфириум-кошелек

Адрес Ethereum использует ECC (криптографию с эллиптической кривой) для генерации открытых и закрытых ключей и ECDSA (цифровые подписи с эллиптической кривой) для проверки и подписи транзакций.

На рисунке 3.4 показана эллиптическая кривая secp256k1, используемая в Ethereum (а также в Биткойне и других крупных блокчейнах).

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

Закрытый ключ используется для подписи транзакций, а из открытого ключа берется хеш Keccak-256 (вариант SHA-3), а крайние 20 байтов справа регистрируются как адрес Ethereum. В Ethereum есть два типа адресов.

1. Аккаунты, принадлежащие пользователям 2. Контрактные счета (смарт-контрактные счета) Используются учетные записи, принадлежащие пользователям.

узлы для отправки и получения эфира.

Это наиболее часто используемые учетные записи.

которые имеют соответствующий закрытый ключ.



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Рисунок 3.4: Эллиптическая кривая В учетных записях контрактов хранится код контракта, а их адрес используется для выполнения смарт-контрактов.

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



3.2.3 Криптовалюта в Эфириуме

Эфириум платит успешным майнерам криптовалюту под названием эфир.

Офир можно разделить на более мелкие единицы, вплоть до самой маленькой единицы, называемой вэй.

Имя Вэй — это дань уважения одному из первых провидцев криптовалюты Вэй Даю, автору раннего протокола на основе блокчейна и криптовалюты под названием b-money. Как и любая другая валюта, Эфириум не застрахован от волатильности и сильно колеблется.

Чтобы предотвратить волатильность, сумма (называемая газом), которую необходимо заплатить за выполнение транзакций в сети Ethereum, не зависит от фактического обменного курса Ethereum. Газ можно определить как специальную единицу, используемую в Ethereum для расчета затрат, понесенных при выполнении транзакции.

Лимит газа должен быть указан в сделке и должен быть разумным.

Если лимит слишком мал, маловероятно, что какие-либо майнеры обработают транзакцию.

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

Оставшийся газ возвращается на счет, запросивший транзакцию.



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

В Таблице 3.3 показаны различные номиналы Эфириума и соответствующие им курсы обмена Эфира.



3.2.4 Алгоритм майнинга

Ethereum использует алгоритм Eth-Hash для поиска криптографического хеша блока (процесса майнинга).

Перед началом майнинга создается большой направленный ациклический граф (DAG).

Процесс майнинга пытается решить определенное условие.

Этот процесс представляет собой доказательство работы (PoW) в Ethereum и предназначен для очень быстрой проверки другими узлами за линейное время на ЦП с использованием меньшего количества ресурсов.

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

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

Если блок добыт раньше среднего времени добычи (10–12 секунд), сложность увеличивается и уменьшается, когда время добычи превышает среднее время добычи.



3.2.5 Блок Бытия

Блок Genesis — первый блок всей цепочки, в Ethereum он называется блоком 0. Для частных сетей он должен создаваться вручную и содержит хеш из нулей.

Этот блок представлен в виде файла JSON и загружается первым, когда новый узел запускается и добавляется в существующую сеть Ethereum.

Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1



3.2.6 Сетевые режимы в Ethereum



Публичная сеть Эфириума

Существует два типа публичных сетей, поддерживаемых Ethereum Foundation. Первая — это основная сеть с идентификатором сети 1. Существуют и другие тестовые сети, которые разработчики могут использовать для проверки функциональности своих распределенных приложений, созданных с использованием Ethereum. В Таблице 3.4 представлено краткое описание различных основных и тестовых сетей.



Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Таблица 3.4: Публичные сети Ethereum

Частная сеть Эфириума

Частные сети могут создаваться как в закрытом, так и в открытом режиме.

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

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

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



3.2.7 Геты

Geth — это клиент Ethereum, реализованный на Golang и используемый для подключения к сети Ethereum. Также доступны другие реализации на C++ и Python. После установки он может быть инициирован генезис-блоком (первым блоком в блокчейне), запущен и подключен к различным сетям, доступным на Ethereum. Эти сети идентифицируются по идентификатору сети.

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

Идентификатор сети: 1 – для основной сети, 2 и 3 – для тестовых сетей.

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

Доступны различные версии для Windows, Linux, MacOS и Android.

Безопасное хранение данных Интернета вещей в частном блокчейне Ethereum. Часть 1

Таблица 3.5: Примеры команд eth и web3 в geth

3.2.8 Режимы синхронизации гетов

Гет может работать в трех различных режимах: «Полный», «Быстрый» и «Легкий», каждый из которых имеет свое особое применение и цели.



Полный

Это режим работы geth по умолчанию при запуске без каких-либо параметров запуска.

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



Быстрый

Этот режим получает заголовки и тело блока и не обрабатывает никакие транзакции, пока не достигнет текущего блока.

После этого он работает точно так же, как и режим полной синхронизации.



Свет

Этот режим получает только текущее состояние из блокчейна.

Чтобы проверить элементы, необходимо запросить полные узлы предыдущих состояний.

Это идеально подходит для устройств Edge, таких как Raspberry Pi, где мы не хотим хранить большие объемы данных.

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



3.2.9 Виртуальная машина Эфириума

Виртуальная машина Ethereum (EVM) — это виртуальная среда, которая работает на всех узлах geth и выполняет код, хранящийся в смарт-контрактах.

Для написания контрактов доступны различные языки программирования, такие как Solidity, Vyper и т. д., которые можно скомпилировать в байт-код EVM.

3.2.10 Методы сопряжения

В зависимости от того, хотим ли мы получить доступ к нашему узлу с одной машины или с разных машин в сети, используется межпроцессное взаимодействие (IPC, Inter-Process Communication) или удаленные вызовы процедур (RPC, Remote Process Calls).



Межпроцессное взаимодействие (IPC)

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

Если узел запускается без каких-либо опций, единственным доступным методом подключения к этому узлу является IPC. Geth создает файл geth.ipc в своем домашнем каталоге, на который нужно ссылаться, когда мы хотим подключиться к системе.

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



Удаленные вызовы процедур (RPC)

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

Geth предоставляет прокси-серверы HTTP и WebSocket для подключения к Ethereum. Кроме того, формат, используемый для взаимодействия с Ethereum, называется JSON-RPC. Это интерфейс, через который пишется внешнее приложение Теги: #blockchain #iot #Разработка для Интернета вещей #raspberry #swarm #Solidity #Solidity #Ethereum #IPFS

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.