加密货币需要下放矿工(或采矿池)和全节点的实现什么,有些人认为它的核心属性:审查性。因此,块大小争议代表了一种折衷方案。更大的区块允许在加密货币网络上进行更多交易,但传播时间更长,有利于更大的矿工和矿池,而增加的数据传输则无法激励用户运行完整的节点。幸运的是,有人提出了提高加密货币效率的建议,以减少更大的区块风险。在这方面最有希望的创新之一是InvertibleBloomLookupTable或IBLT。首先介绍了由加密货币XT和加密货币核心开发人员加文·安德烈森,这个想法被拾起,目前工作在由Linux的退伍军人和Blockstream的闪电定位网络开发者保罗“生锈”罗素侧面项目。Russell说:“如果我们能够做到这一点,则意味着更少的带宽需求和更少的块数据,这对整个网络的健康都将是有益的。”
那么,IBLT解决了什么问题?通常,所有加密货币交易都通过对等网络在节点之间传输,并由单个节点的内存池(未确认交易的记录)存储。当矿工找到一个区块时,它会将这些交易(的一部分)包含在该区块中,并随后在同一对等网络上传输此区块。当然,这意味着该块中的所有事务都有效地通过网络发送了两次:一次作为事务,一次作为块的一部分。
罗素在接受《加密货币杂志》采访时解释说:“我们在块中有冗余。大多数节点已经知道该块中的某些内容。他们已经看过了。如果我们能够对此进行优化,则可以加快块传输的速度。这减少了集中化压力,因为矿工可以更快地释放自己的数据块,而网络则运行得更好……这一切都很好。”主要问题是我们需要IBLT来解决此问题的原因(而不是简单的压缩算法),原因是块中包含的事务集通常与所有单个节点的内存池所存储的事务并不完全相同;最大的不同是找到该块之前通过网络传输的最新交易。而且,所有单个节点的内存池通常也彼此有所不同。这使得很难在不查看整个区块的情况下知道新区块中包含矿工的交易。
这就是IBLT的用武之地。IBLT结合了几种数学技巧来实现对帐。因此,它们基本上允许比较和协调两个稍微不同的内存池,而实际上并不需要全部两个内存池。其工作原理如下:首先,将块中包含的所有事务写入表中,其中每个事务都从该表中的不同位置开始。但是,事务多于表中的空间,因此结果无可救药。这使得IBLT非常紧凑,但对于任何本人无法访问任何交易数据的人来说,也是难以理解的。任何人谁不具备的交易数据,但是,可以在IBLT重叠的交易数据通过使用类似的逻辑自己的交易填补了一个IBLT比较自己的交易数据。如果两个IBLT最终看起来完全相同,则意味着所有交易都完全匹配。但即使IBLTs也不会最后看起来完全一样,这可能也是有帮助的,只要成交的套非常相似。在那种情况下,可以以所有相同交易相互抵消的方式比较IBLT。因此,IBLT中的“剩余”通常可用于重建丢失的交易。
因此,节点无需传输对等网络上的完整块,而是可以传输小得多的IBLT。这要求发送的数据更少,并且速度更快。而且会变得更好。在拉塞尔(Russell)的设计中,甚至不需要将新区块中包含的所有交易都放入IBLT中。取而代之的是,加密货币点对点网络上的连接节点可以微调哪些交易要发送给点。这可能会增加传播时间,甚至更多地减少数据使用。
拉塞尔说:“加文的最初想法是,矿工将生产IBLT,并向网络上的每个节点发送相同的节点。”“但是当我们开始使用该概念时,事实证明生成IBLT的速度非常快。那么为什么不让每个节点都这样做呢?为每个对等点生成IBLT,因为每个节点对它的内存池与对等点的距离有一个更好的了解。他们一直在来回发送这些东西。”而且,连接的节点可以不断学习以了解彼此的行为。因此,一旦节点从网络接收到IBLT并从中构造出一个有效块,它就知道它丢失了多少个事务。此外,随着时间的推移,它了解到他的同伴通常与他有多少不同的交易。这种差异(必须构造的事务加上两个对等方之间的通常差异)就是节点将包含在IBLT中并发送给其对等方的内容。这样,IBLT系统可以随时间改进,从而将通过网络传输的数据量限制在最低限度。“IBLT必须大约是交易差额数据大小的两倍,”Russell解释说。“因此,在所有交易中,一个节点不知道在一个区块中,再加上该节点认为在区块中但不是……的交易……基本上是该交易的两倍,这就是IBLT需要的规模。因此,如果差异很小,它将非常有效。他说:“理想情况下,如果我们可以将此东西塞入两个IP数据包中,则可以。”“我们快如闪电。”
好啦,今天的内容小乔就给大家讲到这里啦,下面我们来一起看看数字货币的数据:
最后祝大家天天开心,生活愉快!
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!