火星链 火星链
Ctrl+D收藏火星链

比特币:内存池——交易的驿站

作者:

时间:1900/1/1 0:00:00

01交易是区块链的基石

交易是区块链的基石,我们每天都会接触到各式交易,不论你是操作DeFi,还是转账购买NFT,或者只是单纯的从交易所提现/充值,交易都是上述操作的基础。

不过,鲜有人知晓交易的中转站——内存池的重要性,由于大量教材为大家提供了“区块链是一个不需要中介的交易账本”这个概念,如果不深入了解区块链的技术细节往往会忽略内存池,并导致在一些特殊时刻出现不必要的损失。

比特币、以太坊、WisdomChain都有内存池设计,几乎所有的区块链项目都离不开内存池,那么究竟什么是内存池?内存池又在交易过程中扮演了什么角色呢?

02内存池是什么?

要了解内存池的概念,首先我们需要回顾交易的状态。

预言机协议BandProtocol由于验证者服务器内存问题暂停升级:预言机协议BandProtocol昨日计划于区块高度7486289从关羽网络升级至老子网络,但由于验证者服务器内存问题,BandProtocol暂时将网络回滚至关羽网络。BandProtocol表示,网络升级不会影响到预言机喂价功能。[2021/7/14 0:50:25]

相信大家在操作以太坊,尤其是近期拥堵的以太坊时,如果设置了较低的手续费,那么交易将会被等待一段时间才会被矿工打包。

等待的这段时间交易将会储存在收到这笔交易的矿工节点中,而矿工节点则会将这些等待被它打包的交易存放在“内存池”中。

放在内存池中的交易,矿工一般会按照手续费价格的多少来进行排序,优先打包价格较高的交易,至于手续费比较少的交易自然就必须排队了。

分析:因比特币内存池已接近被清空,市场可能即将见底:中币(ZB)市场研究员分析,比特币内存池已接近被清空状态。内存池被清空一般是市场低迷时的表现,链上交易量不活跃,导致未确认交易内存池体积不断下降,再叠加最近挖矿难度下调,被清空的速度会更快。而链上交易不活跃的时期,往往是市场经历了大跌后的低迷,市场见底可能即将到来。[2021/6/3 23:07:26]

不过由于矿工每时每刻都会接收到其他节点发来的新交易,这些交易也会不断的更新到内存池中,因此矿工也会在一定时间后重新排列交易池中的顺序——换句话说,如果你的手续费太低,那么交易有可能一辈子都不会被打包。

以太坊和比特币虽然采用了完全不同的结构,但他们的交易内存池设计都是大同小异的,或者说,所有的区块链项目在内存池上的设计都大同小异,我们以WisdomChain的内存池作为例子:

刘昌用:对BCHA的空块攻击已于29日停止 内存池粉尘交易也清理完毕:11月30日,知密大学创始人刘昌用发微博称,28日-29日,包括viabtc、ming-dutch在内至少6个矿工参与了对BCHA的防御。攻击已经很难成功。29日中午11点,对BCHA的空块攻击停止,662447高度开始正常出块;下午6点,在662462高度,内存池的粉尘交易清理完毕。与此同时,针对矿工对BCHA发起的空块攻击,刘昌用在与微博网友互动时表示,不怕攻击,防守方正常挖矿就行。其实,用机池会更好些,隔两个小时过来扫一波,把正常交易打包了,同时把垃圾交易的交易费收了,然后撤走,把高难度留给攻击者。不演练不知道,机池还能有这么正义的作用。[2020/11/30 22:35:17]

上述各个参数定义了WisdomChain中内存池的各个特点,我们挑选其中最重要的几点进行解释:

声音 | 火星人:EOS系统的内存RAM一个星期涨了15倍:火星人在朋友圈发布一张RAM交易价格图,同时配文称,“EOS系统的内存RAM一个星期涨了15倍,不管RAM的价格合理与否,EOS的第一个应用——去中心化的交易所已经正在实践中。比特币开启了数字货币的时代,以太坊开启了智能合约的时代,EOS也许正在开启云计算的时代。”[2018/7/3]

1Pending

pending代表着尚未被矿工打包的交易,这些交易已经经过了初次校验并等待被矿工打包

2Queued

queued代表着初步被验证过的交易,但这些交易的优先级比pending低,处于”等待进入pending“队列的状态。需要注意的是pending和queued队列也会按照Nonce随机数来进行排序。

3过期时间

过期时间。交易如果超过了一段时间将会从内存池中清除,用户需要重新向网络广播交易才能让交易被放入到矿工的内存池中

4手续费

手续费,顾名思义,避免大量无意义的交易填塞网络导致拥堵。

5最大事务数

最大事务数。确保矿工的内存池不会储存过多交易,导致节点宕机。

不论比特币、以太坊,内存池的设计都离不开”交易队列“,”手续费门槛“,”内存池上限“三大概念,WisdomChain中也是如此。

03为什么需要内存池?

试想一下,如果没有内存池,区块链会发生什么?

虽然作为点对点交易的媒介,区块链看起来是一个用户同另一个用户直接交易,就像线下一手交钱一手交货一样,加入交易池作为中介媒介似乎是徒增摩擦成本。但实际上,内存池的存在不仅没有对网络造成负担,甚至还是网络减负的重要手段。

如果没有内存池,首先区块链就丧失了对粉尘攻击的抵抗性。所谓区块链上的粉尘攻击,指的是大量毫无意义的交易填充了整个区块网络,而交易验证是需要花费时间和算力的,如果用户和矿工节点被大量的粉尘交易所填塞,那么他们将无法正常的验证并打包本应当正常的交易。

甚至如果矿工节点不设上限地接收粉尘交易,交易将会直接填满矿工节点的内存导致宕机。内存池的存在,通过最大事务数和手续费门槛,确保无价值的粉尘攻击不会让网络陷入拥堵状态。

交易额低数量大

其次,缺乏内存池,网络激励机制将会受到挑战。内存池设置了按照随机数手续费进行排列的交易队列,为的是让矿工尽可能以网络、用户还有矿工个人所期望的方式打包交易——即优先高手续费的交易。

如果缺乏内存池,虽然从利己角度矿工依然会选择较高手续费的交易进行打包,但恶意矿工可以通过以低手续费门槛吸引大量的交易并孤立其他矿工,如果交易过多的聚集在某个矿工控制的节点下,发动双花攻击的难度也会有所下降。

另一方面,如果矿工对交易不按照随机数进行排序,那么事务/合约的执行也会存在问题。如果一个矿工节点收到了来自一个用户的多笔交易,在内存池的辅助下交易将会按照随机数大小进行排列,本质上也符合交易的”理想发起时间“。

缺乏内存池,如果在网络存在延迟的环境下,用户发起的交易并不会按照实际发送时间广播到矿工手中,矿工如果单纯按照接收时间来执行某一用户的多笔交易,那么对于事务/合约这种严格限定交易先后顺序的设计,错序交易会让用户无法正常的调用合约。

04?内存是交易的驿站

内存池是交易的驿站,或者说港口。所有的交易都需要在内存池进行校验、打包、排序,之后才会经由矿工发送到区块链网络中。如果忽视内存池设计,或者忽视内存池的存在,在市场剧烈波动或者网络环境不稳定的情况下,是会发生类似3.12MakerDAO0价格ETH拍卖乌龙事件的。

本文来自WisdomChain公链社区

标签:区块链CHA比特币ING区块链的未来发展前景分析CROSSCHAIN莱特币能取代比特币吗ring币介绍

欧易交易所热门资讯
YFF:关于LBank上线YFFII交易的公告

尊敬的LBank用户:LBank将于2020年9月17日16:00(UTC8)上线YFFII,具体如下:开启交易对:YFFII/USDT开启充值时间:2020年9月17日16:00(UTC8)开.

1900/1/1 0:00:00
SWAP:Uniswap公布初始治理参数和治理代币UNI持有者拥有的治理权

9月16日,去中心化交易所Uniswap宣布协议治理现已生效,尽管Uniswap对金库的控制将持续到2020年10月17日20点.

1900/1/1 0:00:00
IND:分析师“谨慎看涨”比特币,但称股权抛售仍构成威胁

一位分析师认为,比特币已经进入看涨领域,但价格仍然容易受到股票潜在抛售的影响。?周一,领先的加密货币跃升至10,700美元以上,确认了长达10天的价格合并的上行突破.

1900/1/1 0:00:00
FANT:8问大事件丨张日和:Filecoin如果蛋糕切不好,问题将非常严重

在最新版的Filecoin经济白皮书中,其对于矿工的条件越来越苛刻,比如,矿工收益由70%调整为55%,比如,增加了20天收益抵押的要求.

1900/1/1 0:00:00
ECO:Filecoin的最大难题:数据监管

新基建下,背靠大数据时代的海量数据,Filecoin可以“好风凭借力,送我上青云”。IPFS/Filecoin网络的数据合规性如何解决?Filecoin一直被宣扬的数据自由流通似乎与数据合规、监.

1900/1/1 0:00:00
COI:LTG六一送福利!充值得返利,交易送矿机

亲爱的CoinW用户:CoinW将联合LTG项目方推出六一福利活动。活动期间,LTG充值用户可获得2%充值返利,交易用户可获得LTG矿机和LTG奖励.

1900/1/1 0:00:00