Узел блокчейна Ethereum и терминология блоков

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

  • Что такое узел и блок? Оба различны или мы можем использовать оба термина взаимозаменяемо?

  • Можем ли мы создать один узел в блокчейне? Если да, то как мы можем действовать?

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

  • как определяется бит nonce? Когда я просмотрел некоторые ссылки, я обнаружил, что он определяется после завершения майнинга. Есть определенные задачи, которые решают майнеры и генерируется один блок. Верно ли мое предположение? Если да, то в этом случае, если новая транзакция вставлена ​​в блок, бит одноразового номера обновляется или нет?

  • Как новая транзакция вставляется во все узлы или блоки блокчейна?

  • Как определяется сложность блока?

Ответы (2)

Что такое узел и блок? Оба различны или мы можем использовать оба термина взаимозаменяемо?

Нет , вы не можете использовать их взаимозаменяемо. Блок — это набор транзакций с заголовком, содержащим хэш-указатель на последний блок в цепочке блоков . Принимая во внимание, что Node — это программное обеспечение (реализующее правила протокола Ethereum), работающее на компьютере. Это программное обеспечение Node (реализация правил протокола Ethereum) может быть написано на многих разных языках. Итак, у нас есть Geth Node (написан на Go), Parity Node (написан на Rust) и т.д.

Можем ли мы создать один узел в блокчейне? Если да, то как мы можем действовать?

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

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

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

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

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

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

Как новая транзакция вставляется во все узлы или блоки блокчейна?

Уже ответили

Как определяется сложность блока?

Протокол Ethereum определяет временной интервал в 12 секунд между блоками, поэтому примерно каждые 12 секунд обнаруживается новый блок. Это стало возможным благодаря числу, которое называется сложностью блока . Согласно протоколу Ethereum, если последние блоки были добыты менее чем за 12 секунд, сложность блока настраивается таким образом, чтобы новые блоки добывались за 12 секунд (означает, что узлам сложнее найти хэш блока) и наоборот.

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

Узлы — это программы Ethereum, которые поддерживают блокчейн, добывая / проверяя / сохраняя данные. Блоки — это группа транзакций, которые являются частью цепочки, содержащей транзакцию и хэш. Блоки добываются и проверяются узлами. Так что это два разных понятия:

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

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

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

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