随着互联网相关技术的发展和用户规模的扩大,互联网账户的数量也在不断增加。然而,尽管这些互联网账户中包含的信息是用户自己的数据,但用户并不拥有这些互联网账户,也无法从法律或技术上控制他们的利益。然而,互联网账户的用户数据泄露和滥用问题日益突出。北京齐木移动技术有限公司是一家专业的区块链开发公司,欢迎交流合作。接下来,我将介绍一些区块链的基本知识,希望对你有所帮助。
区块链的一笔交易:
“交易”的概念是抽象的。区块链的交易是指区块链信息的传输,因此“交易”包括
触发型信息通知的典型应用是转移。
在不触发通知类型的情况下,典型的应用是区块链存单。
请求通知:一种触发式的信息通知,但是需要反馈,信息需要传回给我。通常,Oracle机器用于获取链外的信息。
后两点也叫交易。有点像逛街。不管买不买东西,只要进了商场就叫购物。第一种是买东西,第二种是逛逛什么都不买,第三种是去商场订东西。
为什么要讲?因为区块里的信息无法推断出结果。比如转账的情况,我付了钱,但你无法知道钱最后是否到了卖家的账户。这个概念和我们的现实生活是一样的。当我们通过支付宝付款时,我们告诉支付宝转账。从我们的角度来说,我们无法核实对方是否真的收到了钱。但是我们会认为支付宝会成功。目前,我们可以假设区块链(列为EVM)的执行系统是正确的,它将根据通知执行。
阻止:
块是这些交易的载体。类似公交车,现在的信息是排队等上车,街区是公交车。我们都知道巴士可以运载的人数是有限的,区块链可以运载的交易量也是有限的。但是,不同链之间的块大小限制是不同的。这主要是效率问题,后面会在TPS层面讨论。
Merkle树根:这是一种树状的信息组合模式。通过这个树,这个块中包含的所有事务最终都可以变成一个独立的hash。这是非常重要的,因为事务通知的存在可以通过这个唯一的散列和树模式来快速确认。从公交车案例来看,这是代表所有乘客上车的交费凭证。
上一个街区:区块链的链条基本在这里体现。每个积木都需要一个干净的表面。我的最后一个街区是谁?从公交车来看,是最后一辆车的车牌号。
每个区块链的特征是不同的,但是基本上一个区块链包括交易信息和区块链报头信息。下图更好地显示了块的架构:
正确包装:
大家熟悉的POW和POS都是为包装权设计的。一句话就是如何随机选择一个信息的提交者(节点)。随机性是为了防止提交者作恶。除了随机性,作恶的提交者在一些设计下也受到了惩罚。因为每个链的设计不一样,所以不会扩展,甚至有些联盟链采用的是轮换模式。
从公交车案例来看,这类似于选择司机。
共识系统:
很多人把共识体系和包装混为一谈。共识体系最大的目的是完成不可逆。共识系统是关于区块的信息提交后如何共享和备份到其他节点。
这里通常使用BFT模式,信息经过多轮验证。因为BFT有许多不同的版本,而且很复杂,如果有必要,我们可以在将来单独谈论它。
最简单的体现就是,当你转账的时候,你怎么知道是否成功?至少需要6个确认节点才能确认。确认意味着有多少节点已经同步了该块中的信息。只有当所有都被确认后,交易通知才会被执行。
从公交的角度来说,这类似于出发前有多少单位同意,可能是调度中心,交管中心等等。
TPS:
TPS是处理交易通知的效率。有一段时间,TPS被很多人关注。上述区块,包装权和共识系统直接影响了TPS。
Blocks:这里有两个问题。安装了多少个?如果每个块安装更多的事务,效率会高吗?理论上可以,但是共识系统的信息同步会占用更多时间。所以这是一种平衡。
共识系统:这里有两个影响TPS的因素。首先是需要多少个节点来同步我的信息才算合格。同步的节点越多,耗时越多,处理能力越低。第二个是我的块是否需要用事务填充。从公交车的角度来说,就是公交车是不是满了就启动。可以肯定的是,未满的效率越高,但同步成本也会越高。
所以,高TPS一定是有代价的。一般高TPS不足以去中心化。
Merklee树和SPV验证:
我们刚刚了解了区块链的默克力树根。有人会奇怪为什么交易目录不能取代merklee tree吗?比如我有一个block头,然后我加一个交易单,可行吗?
理论上是可行的,但问题是基本上所有的应用都需要同步这个事务列表。从刚才的图中可以看出,块的大小是块头的五倍。Merkle tree允许SPV验证,并且正在运行的应用程序可以仅通过同步区块链报头来验证事务通知的存在。
从这个图可以看出,如果是整个列表,我需要遍历从Ta到Th的事务,8个事务。
在Merkle树的情况下,你只需要知道Hc,Hab,Hefgh和Merkle根。4笔内容
我的同步至少低了一半。
如果是16笔交易,我只需要同步5次(Root,Habcdefgh,Hmnop,Hij,Hk)。与16笔交易相比,同步量减少70%以上。
事务越多,同步越少,这就是merkle树的目的。
总结:
区块链基础知识,我们讲过,区块链的交易是什么,交易信息如何加载到块中,块如何通过块头信息链接,块如何提交,块信息如何同步。以及TPS和这个流程的关系,以及SPV验证的好处。