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

class Block:
   def __init__(self, index, transactions, previous_hash):
        self.index = index
        self.transactions = transactions
        self.previous_hash = previous_hash
        self.timestamp = time()

class BlockChain:
    self.chain = []

    def new_block(self, transactions):
        pass

допустим, я совершаю новую транзакцию {'sender': 'bob', 'receiver': 'alice', 'amount': 2}

создаст ли эта транзакция новый блок в цепочке (т.е. self.chain.append(new_block_which_has_above_transaction)

или он получит последний блок в цепочке (т.е. len(self.chain)-1) и изменит self.transactions этого блока.

https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 В этой статье автор использует self.transactions в качестве списка, и здесь я запутался.

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

  • 1) должен ли генезис-блок иметь несколько транзакций?

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

См. также:  Необработанное исключение flutter: тип '_InternalLinkedHashMap ‹String, dynamic›' не является подтипом типа 'Iterable ‹dynamic›'
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Ashraful Islam

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

    Что касается вашего вопроса:

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

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

    The website you linked to says that blocks should be immutable, так как мне добавить новую транзакцию? Как вы собираете несвязанные транзакции и храните их? Собираете ли вы все транзакции, произошедшие за час, и храните их временно, а через час вы создаете новый блок и помещаете в него все транзакции? person Ashraful Islam; 01.01.2018

    да. Вы собираете транзакции, а затем через час группируете их в блок person Ashraful Islam; 01.01.2018

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: