繁体   English   中英

每笔交易都会在区块链中创建一个新的区块吗?

[英]Does every transaction creates a new block in blockchain?

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)如果两个节点具有不同的链(我的意思是我们需要使用共识算法来解决),但与此同时,如果该节点处理事务,则该块的哈希将被更改,然后邻居节点的链会发生什么?

比特币在每个区块上设置了2,400笔交易上限,但并非所有区块都有那么多交易。 人们向矿工广播交易,矿工将交易分成块并分发。

至于你的问题:

  1. 您链接到的网站说,区块应该是不可变的 ,因此您不应在区块列表上添加新交易。 同样,这将更改您需要查找以验证块的哈希值。

  2. 由您决定每个区块要进行一次或多次交易。 我要做的是收集非链式交易,将其放入一个区块并将该新区块附加到链中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM