区块链交易处理方法 应用于区块链网络区块链节点

区块链交易处理方法 应用于区块链网络区块链节点

#冬天生活的打卡季节#

区块链技术又称分布式账本技术是一种多个计算设备参与“记账”,共同维护一个完整的分布式数据库新技术区块链技术具有去中心化、开放透明的特点,每个计算设备都可以参与数据库记录,计算设备之间的数据同步可以快速进行。利用区块链技术构建去中心化系统,将各种执行程序纳入区块链分布式数据库中进行自动执行,已经在多个领域得到广泛应用。

区块链交易的合法性验证通常可以通过验证签名的有效性来实现。当区块链采用账户模型时,适用于区块链的账户通常对应一组或多组公私钥对,公钥可以记录在相应的账户状态中,也可以以其形式存储在区块链的分布式数据库中,可以被区块链网络中的任何节点设备获取。公钥对应的私钥存储在账户所有者的本地数据库或其他硬件终端中,供账户所有者进行数字签名或加解密操作。发起方发起的区块链交易不仅包括交易内容,还包括发起方用其账户对应的私钥对交易内容进行的数字签名。在接收到区块链交易之后,区块链节点可以基于区块链交易中包含的数字签名来验证区块链交易的合法性。合法性验证通常包括验证数字签名是否是基于区块链交易的交易内容获得的(也称为完整性检查)等等。通过完整性检查,可以保证区块链交易确实是由公钥对应的用户发起的,并且交易在传输过程中没有被篡改。在另一种情况下,发起方的公钥也可以携带在CA中心颁发给发起方的CA证书中。发起方发送区块链交易时,可以将CA中心私钥签名的CA证书发送给区块链节点,区块链节点根据CA中心的公钥验证CA证书的签名。如果验证成功,就可以获得CA证书中携带的发起方公钥。其中,CA中心是区块链节点默认可以信任的权威机构,所以只要用CA中心的公钥成功签署证书,就可以确定证书中的公钥是可信的,这样区块链节点就可以通过公钥验证接收到的区块链交易中包含的数字签名的合法性。

其中,区块链支持的共识算法可以包括:

第一种共识算法,即节点设备需要争夺每个计费周期计费权的共识算法;例如工作证明、POW)、利害关系证明(POS)、委托利害关系证明(DPOS)等共识算法;

第二种共识算法,即预先为每个记账周期选举记账节点的共识算法(无需争夺记账权);例如,使用实用的拜占庭容错(PBFT)和其他一致性算法。

在使用第一种一致性算法的区块链网络中,竞争记账权的所有节点设备都可以在接收到交易后执行该交易。争夺记账权的节点设备之一可能会这一轮胜出,成为记账节点。记账节点可以将接收到的事务与其他事务打包在一起,以生成候选块,并将生成的候选块或候选块的块头发送给其他节点设备进行协商。

在使用第二次协商一致算法的区块链网络中,具有计费权限的节点设备在此轮计费之前已经被协商好。因此,在接收到交易之后,如果它不是当前记账节点,则节点设备可以将交易发送到记账节点。对于当前记账节点,可以将交易发送到其他节点设备进行协商。在确定该事务已经通过一致同意后,其他节点设备可以将该事务与其他事务打包在一起生成

如上所述,无论区块链采用如上所示的哪种一致性算法,本轮的计费节点都可以对接收到的事务进行封装,生成候选块,并将生成的候选块或候选块的块头发送给其他节点设备进行一致性验证。如果其他节点设备接收到候选块或候选块的块头,并验证没有问题,则可以将候选块作为最新块添加到原始区块链的末尾,从而完成区块链的计费过程。当其他节点验证由记账节点发送的新块或块头时,它们也可以执行块中包含的事务。

区块链使用账户模型实现数据存证时需要存储和维护的区块链数据通常包括区块链区块链账户对应的区块数据和账户状态数据;块数据还可以包括块头数据、块中的块事务数据等。在存储上述区块链数据时,通常可以将上述区块链数据以键-值键-值对的形式组织成Merkle树,存储在数据库中。

在上述区块链模型中,可以在区块链上部署用于存储数据的智能合约,用户可以调用智能合约将需要存储在智能合约对应的Merkle树中的数据存储为智能合约对应的合约账户的账户状态。

例如,以以太坊为例,通常使用一种叫做MPT树的特殊Merkle树来存储和维护区块链数据。其中,账户状态数据可以组织成MPT状态树(即世界状态)并存储在数据库中;MPT状态树存储帐户地址k

版权声明:区块链安全 发表于 2022-03-20 6:03:17。
转载请注明:区块链交易处理方法 应用于区块链网络区块链节点 | 零零洞洞

暂无评论

暂无评论...