Техническая подготовка к Blockchain & Ethereum

tehnicheskaya podgotovka k blockchain ethereum

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

В первую очередь

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

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

Сначала нам нужно понять несколько основных терминов, чтобы начать.

Хэш

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

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

Транзакция

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

Блокировать

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

Блок Genesis

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

Блокчейн

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

Доказательство работы

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

Майнинг

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

Дерево Меркла

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

Работает

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

  1. Каждый узел начинается с блока генезиса и продолжает свой путь к «текущему состоянию» блокчейна. Когда он получает новый блок, каждый узел проверяет свой хэш и таким образом проверяет, действителен ли это блок или нет, и продолжает строить цепочку.
  2. Как только в сети есть транзакция, майнер добывает ее, создавая необходимое доказательство работы. Затем майнер добавляет его к своей копии сети и распространяется смена соседних узлов.
  3. Все узлы, которые его получат, подтвердят подтверждение работы, а затем добавят его к соответствующим копиям. Если он недействителен, то блок не прилагается к цепочке.
  4. Когда в сети возникает конфликт, то для его разрешения применяется «правило самой длинной цепи». Скажем, два майнера претендуют на один и тот же блок, и оба имеют действительное доказательство работы. Затем применяется правило самой длинной цепи, согласно которому майнер, имеющий самую длинную цепочку блоков, будет принят как победитель и прилагается к блокчейну.

Ethereum

1*AReX8uZOZKpGcvuUjogh0g

Теперь, когда вы поняли блокчейн, давайте двигаться вперед из Ethereum. Ethereum – это a децентрализованная платформа, которая позволяет нам писать программы, которые работают точно так, как запрограммировано, без всякой возможности простоя, цензуры, мошенничества или вмешательства третьей стороны. Он состоит из виртуальной машины Ethereum (EVM), предоставляющей контейнер, в котором могут выполняться все смарт-контракты.

Умные контракты

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

эфир

Эфир – это криптовалюта, которая используется в блокчейне Ethereum.

Счета

В Ethereum состояние состоит из объектов, которые называются «счетами», причем каждая учетная запись имеет 20-байтный адрес, а переходы состояния – это прямая передача ценности и информации между аккаунтом. В Ethereum есть два типа аккаунтов:

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

газ

Поскольку разумные контракты завершаются, можно написать любой бесконечный цикл или другой код, и блокчейн может потерпеть сбой. Для предотвращения подобных атак Ethereum использует концепцию под названием газ. Газ – это не что иное, как некоторая стоимость транзакции, оплачиваемая за выполнение транзакции с помощью Ether (базовая валюта в цепочке Ethereum). Каждая инструкция требует выполнения определенного газа, и газ посылается вместе с любым вызовом, требующим изменения блокчейна.

DAPPS

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

Основной рабочий процесс с использованием Ethereum

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

  1. Мы можем написать смарт-контракты и развернуть их в сети Ethereum. После развертывания эти контракты нельзя изменить.
  2. Любая учетная запись или другой смарт-контракт в сети может выполнять эти функции смарт-контрактов с помощью транзакций.
  3. Разумные контракты можно вызвать и выполнять, отправляя транзакции в контракт. Эти операции стоят газ и определенный газ также должен быть отправлен вместе с транзакцией.
  4. Иногда нам просто нужно знать состояние какого-либо контракта, не меняя блокчейн. Они известны как звонки, и они не стоят никакого газа.
  5. Мы можем создавать разные Dapps, выполняя смарт-контракты с помощью транзакций и вызовов, таким образом позволяя пользователю напрямую взаимодействовать со смарт-контрактом разными способами.

Я считаю, что эта публикация дает базовое понимание блокчейна и Ethereum. В своей следующей публикации я представлю подробное руководство по началу создания Dapps с помощью Ethereum.

Если вам понравилась эта история, не стесняйтесь обращаться ко мне по адресу

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *