比特币是满而不堵,以太坊是堵而不满。
昨天人们还在抱怨比特币手续费高网络拥堵,以太坊确认只要14秒。今天以太坊的一个代币Status项目ICO,让以太坊的网络无法确认交易。从昨天晚上20:00开始,以太坊的网络里充满了大量的垃圾交易,造成所有的交易所和钱包服务商无法提供提币业务。
和比特币不同,最让以太币持有人郁闷的是,无论怎么提高手续费,很多交易都会被弹回(rejected)。比特币还可以提高手续费得到快速确认,以太坊拥堵似乎无解。
以太坊区块链的这个缺陷,在去年年底已经遭遇了一轮DDOS攻击,团队当时曾今提出过需要硬分叉解决,但不知道什么原因只是采取了一些防护措施,并没有使问题得到根本的解决。或许是以太狗庄不想看到三姨太四姨太影响市场信心,又或许这是以太区块链的致命缺陷。总之,今年以太坊的价格暴涨,质疑的声音都淹没在市场中,但是该来的终究还是来了。
以太坊脱裤子放屁式的Gas交易费机制,是导致目前堵而不满的罪魁祸首。比特币手续费设计很简单,价高者得。而以太坊为了交易手续费不涨价,号称天才的小V做了如下设计:
gas cost(成本)=gas used(数量)*gas price(价格)
这几个新单词,连小V在一些场合都搞混淆。
Gas used(数量)是执行以太坊操作程序固化在脚本里的数量:
操作名称 |
费用(单位:gas) |
描述 |
step |
1 |
为了支付一个执行周期的默认瓦斯量 |
stop |
0 |
停止操作不需要任何费用 |
suicide |
0 |
自杀操作不需要任何费用 |
sha3 |
20 |
一次SHA3操作的费用 |
sload |
20 |
一次加载操作的费用 |
sstore |
100 |
一次普通的存储操作所需的费用 (有时候会加倍或者免除) |
balance |
20 |
一次余额查询操作所需的费用 |
create |
100 |
一次创建操作所需费用 |
call |
20 |
一次调用操作所需费用 |
memory |
1 |
在扩展存储时每增加一个单词所需费用 |
txdata |
5 |
交易时每个字节的数据或者数据所需费用 |
transaction |
500 |
每次交易所需费用 |
比如,你要完成一次转账交易,就需要付出500gas的交易费用。如果是固定的手续费,gas的价格就会随着ETH的价格水涨船高,抑制ETH上智能交易的数量。为了不发生这种情况,使每一次交易的gas cost 不随着ETH价格的波动而波动,小V就设计了gas price这个变量。ETH价格如果上涨,交易者就可以设置更低的gas price来对冲,使gas cost稳定不变。
为了减少不必要的计算,避免垃圾智能交易,gas price的价格由交易者、矿工和智能合约设计者根据市场供求来决定。Gas price开价过低,矿工可以选择不打包交易。
gas和Ether 是以太坊中两种不同的计量单位,把它分开的目的是为了避免以太币的价格波动进而影响gas价格的变化。从比特币简单明了的手续费浮动机制看,以太坊的gas交易费机制简直就是脱裤子放屁。
从经济学的角度看,稀缺是价值的另一种说法。公有链的区块空间是稀缺资源,使用必须付费。如果区块链交易不付手续费,就会发生公地悲剧,很快会被垃圾交易堵满。比特币区块空间满了,手续费上升,满而不堵。而ETH涨价,而让交易者、矿工和智能合约设计者共同决定gas price,以达到稳定gas cost的价格,这种多余的设计似乎并不能改变用的人多了,要么堵要么交易费涨价的命运。
稳定gas cost的目的没达到,多余的设计倒是带来了副作用。Gas price的价格可以由交易者、智能合约设计者、矿工三方分别设定,相对于比特币手续费由交易者设定,矿工择高打包的简单模式。过于复杂,而使gas price的市场调节机制失灵。Status ICO的火爆,引爆了以太区块链的一个漏洞。status的智能交易设定了手续费限制,大于50Gwei就会被弹回(rejected),因此,大量的投资者设定固定手续费不停的刷,18.1ETH,18.9ETH,18.8ETH这样不停的投注,使以太网络中充满了大量的无效交易。造成了以太坊网络堵而不满的现象,正常交易无法被打包。就类似现在的房地产,政府限制开发商的备案价,不走关系根本抢不到房。智障合约的设计者充当了政府限价的角色。
另外,status设定了ICO开始和结束的区块高度,由于投资者时间不可能准确到毫秒级,很多提前和滞后的交易也被弹回,也制造了不少垃圾交易。
从这个案例可以看出,智能合约设定者,作为市场的规则设定方。搅乱了交易费市场供给和需求的自动调节机制,这是以太类可编程区块链的固有缺陷。你不知道下一个智能合约会设计出什么规则,又搅乱支付层的稳定性。越火爆参与的人越多,以太区块链越脆弱。
还有去年可笑的漏洞事件,以太坊区块链居然会被DDOS攻击,去中心化的比特币从来和DDOS攻击没有交集。最近,ETH暴涨掩盖了以太去年出过的致命漏洞。2016年10月,黑客运行了一个智能合约DOS,调用了EXTCODESIZE 操作码,使gas price的价格极低,攻击交易调用此操作码的频率大约是50000次每区块,使以太网络的确认时间变长。为了防止硬分叉修补出三姨太四姨太,以太狗庄采用了限制gas limited数量的临时措施。一种治标不治本的措施。
我们都知道比特币区块容量限定在了1mb,比特币的扩容狗血剧一直是以太坊支持者认为以太坊将超越比特币的谈资,以太支持者曾标榜自己没有任何区块容量限制,确认速度14秒。实际上,以太坊也是有限制的,gas limited 就是一种区块交易数量限制,之前的设定是每区块310万。就是以太的每区块只能执行310万gas消耗的智能交易,现在受到漏洞的威胁,开发团队建议矿工将gas limited 下降到了150万。这样一来以太的交易能力就降低了一半,降低了共识故障或内存超载发生的可能性。
2016年以太价格低迷,链上交易少,限制gaslimited可以起到防止漏洞恶化的可能,但是,现如今以太价格暴涨,利用以太区块链进行ICO的项目如同雨后春笋,这些都需要在以太链上进行智能交易。并且,ICO项目的代币(token)也需要在链上交易,如果这时候,黑客在搞这么一次DDOS攻击,我看以太坊网络要长期瘫痪了。
以太坊纯属一个把简单事情复杂化的设计,很多人肯定纳闷Gas的单位,怎么会用一些奇怪的单词Finney, Szabo, Shannon,Babbage, Ada。一群以太坊受害者QQ群还把Q群等级设置成,芬尼,香农,巴比奇。这尼玛是在干嘛?这些单词都是加密货币或网络相关领域作出杰出贡献者的名字,把这些名字替代了汉语里的十、百、千、万、亿、兆。吃饱了撑的没事干,就是想让你小白看不懂。
从gas交易费机制到gas单位设计,都体现了以太设计者脱裤子放屁的优良传统。把本来就稀缺的区块链空间塞满了无用的字节,以太坊的区块链每日增加5.7G,短短21天就超过了比特币9年的容量。目前以太的区块链已经接近200G,而比特币才130G,基于以太的ICO再这么火爆下去,年底以太区块链将达到T级。以太坊将失去去中心化的安全保障,只有服务器级别的机器才能运行以太坊客户端,更容易发生单点故障,导致网络瘫痪。
随着交易量和区块的暴增,以太坊大限将至。这种可编程区块链在最需要安全稳定简洁的交易层,执行不确定性较大的逻辑判断、条件跳转代码,会使区块链里充满乱七八糟的垃圾信息,有朝一日达到计算机硬件和网络带宽的硬性限制,以太坊就成单机版游戏了。
注意:以上纯为技术分析,不构成做空交易参考,只要以太狗庄愿意,交易所纵容,单机版游戏一样炒飞天,那些邮币卡,陶瓷,瓦盆,鬼画符的电子盘交易,不是也是单机版游戏炒飞天么?这个世界的大部分还是傻逼构成的,你无法预料傻逼会傻到什么程度?你也无法预料交易所会无耻到什么程度?
文章评论