挤破头做公链,不要忽略了这5个破局的关键点
2018年被不少人认为是「公链元年」,的确过去一年冒出了很多公链,相较于以前的公链,很多新出的公链往往一开始会打各种概念试图让大家相信自己这条会不一样。然而,随着公链热不在,人们发现性能与杀手级应用等核心问题仍摆在面前,这时有人甚至说,现有的公链将全军覆没。我们该如何理解过去一段时间公链的发展?当前公链的现状又该如何破局?
应链捕手(ID:iqklbs)约稿,YOUChain创始人赵峰撰写了本文,他曾担任支付宝技术总监、支付宝产品总监,也在微软、腾讯等知名互联网公司做过技术。此次赵峰分享了自己在实际开发公链过程中沉淀下来的认知,相信应该能给你带来启发。
作者/赵峰
编辑/潘宇波
2018年区块链行业大起大落,1月份的高潮,换来的却是全年的凉凉。在如今的寒冬之下,说公链是全行业最不好受的肯定不为过,从年初大家挤着做公链,对外大肆吹捧自己有几百万、上千万TPS,到最终正式上线时,不是节点少之又少,就是TPS只有几百。
部分公链信息数据,数据采集截止到2019年1月23日,数据来源各家区块链浏览器
以EOS为例,号称几百万TPS的EOS,在募集了高达几十亿美金的资金后,最终方案居然是靠21个超级节点,其实质是用联盟链才达到TPS近4000的数据顶点,而有关超级节点私下勾结的传闻,更是验证了靠21个节点建立的信任机制,有多么不靠谱。幸亏EOS上线早,熊市来了节点不怎么赚钱,要是牛市可以想象还会爆出怎样的丑闻。
可以说2019年之前链圈的最大应用就是炒币,而随着熊市的降临,炒币之路已被验证行不通,那公链该如何破局?要想解答这个问题,我们必须要跳出「造币」的思维,回归区块链技术本身才能找到答案。
从技术角度看,区块链本质就是一个不可篡改的分布式账本,它简要的工作过程是在区块链上每笔交易的发起,都要广播到所有的记账节点,然后节点要检验每笔交易的记录地址、余额是否正确,再发起对这笔交易的投票,最终会产生一个投票结果,过程中选出一个节点将投票通过的交易打包出块,「块」在节点广播,每个节点收到「块」后,完成在自己账本上的修改。
从区块链的工作过程中,我们或许能找到公链破局的五个关键点:
1)安全是基础,不能被轻易掌控;目前大多数公司均采用椭圆算法保证安全,而这在量子计算面前,基本上几秒就会被破解,这将导致我们所有银行存款、上网的登录密码都会被泄露。比特币和以太坊也都是用椭圆算法,所以在量子计算面前也是毫无隐私的,破解后可以造假、转账等,所以我们的计算方式必须要能抗量子计算,保障无隐私泄露的风险。
要想保证极度安全,目前来看有以下三种方式:
第一种,零知识证明,这是一种算法加密可验证,并且全程无解密过程不泄露隐私,即便是量子计算也无法破解;第二种是门限加密,它能在当 Token 丢失后实现找回;第三种是格计算,它是一种基于多维空间的数学转换过程,这种多维的空间随着维度每增加一维,它计算的难度不仅是指数级的增加,更是一种复杂级别的增加,但格计算对 CPU 的消耗更大一些。
2)必须要分布式,实现足够去中心化防止节点间作恶;去中心化,核心在于节点机制,一个真正的分布式记账节点,必须要有足够的节点参与。
比如1000个节点以上的才能称为公链,这也是比特币和以太坊能获得业界公认的原因之一;其次节点的加入和退出,是按照规则自由进出的;最后节点的门槛要足够低,这样普通大众才能参与,毕竟社群成员积极参与才是区块链的核心精神。为了要让公众参与就要避免各种竞赛,一旦有竞赛最后就会变成少数有钱人的游戏,而且竞赛的机制一定会提高成本,造成社会资源的浪费,比如比特币的算力竞赛。
3)性能要足够好,不能一跑应用就堵塞;在目前的网络带宽和算力基础下,100兆家庭宽带,实际能跑12.5MB, 一笔交易125B,算下来最多就是10万笔交易,但由于公链需要不断广播以及各种投票,再加上实际环境的损耗,单片性能极限预估在8000到10000多。通过ECDSA椭圆算法的实测结果表明:手机骁龙845达10296TPS,PC机i7 8700达43802TPS,阿里云服务器ECS多线程9571TPS。
综合以上两个瓶颈,单片性能极限预估在8000左右。因此在性能突破方面,通过分片实现分布式计算,达到性能上的突破已成业界共识。
但分布式计算的难度非常大,再加上区块链对安全的要求,更是难上加难,但很奇怪为何会有那么多明明是应用的项目也要做公链。基于对技术难度的认知,我认为仅有两类团队有可能实现真正的突破,一是比V神更有钱、更聪明的天才;二是实操过上亿用户产品的分布式系统团队,不符合这两条的基本就可以忽视了,因为即便某个团队在某一方向上很强大,比如密码学,但仍无法在公链上有大突破。
4)费用要足够便宜,分布式记账的软硬件成本一定会高于中心化记账,但一定要远低于中心化记账的总成本。Gas费的降低,在于公链运营成本的降低,本质是一个成本问题。
先来看一组来自digiconomist.net的数据:BTC1月8号最新预估年用电约为 47.655 twh (1twh=10亿kwh),年消耗电费142亿人民币(按0.3元人民币1kwh计算);ETH1月8号最新预估年用电约为 10.148 twh,年消耗电费30.4亿人民币。再来估算下BTC和ETH的Gas费,BTC年Gas费大约8300BTC,按照2.72万人民币一个算,2.26亿人民币;ETH年Gas费大约为156000ETH,按照1000元人民币一个算,1.56亿人民币,都只能承担电费的零头。
挖矿收入本质是对Gas费的补贴,看一个商业模式是否成立,最简单的道理就是去除补贴来看,BTC和ETH过高的成本导致最终会无法正常运转,这也是V神力主放弃POW转POS的原因。算力竞赛,POW一定会被淘汰,即便比特币未来会成功,也不会跑在现在这条链上(要不彻底升级,要不跑在别的链上)。
降低成本除了抛弃算力竞赛外,还有一个很重要的做法就是要利用闲置带宽和闲置硬件,这样会使得每个节点的实际成本很低,甚至接近于0。即便将所有费用算入成本,一台手机2000元,家庭百兆带宽也就1000元每年,年成本也就2000元左右。而从带宽和算力来看,1万个100兆家庭带宽,就是1TB,算力10000台*8核*2.8G/2=112T。对比下EOS超级节点,带宽21*25GB=525GB,算力21*128*2.2G=5.9T。可以看出即便是EOS的超级节点,也无法战胜来自1万家庭的力量。
5)体验要好,核心就是交易确认(出块为准)要快,很难想象未来当你用Token买咖啡时,要等待几分钟才能确认。体验就与交易确认时间息息相关,ETH理想状态15秒出一个块,12个块后确认交易,需要3分钟。
EOS的机制更是投机取巧型,交易确认和出块无关,出块时间是3秒,但它需要超过三分之二的节点确认,才会不可逆交易,整个过程(1+14)*3=45秒,也就是说EOS真正交易确认完成需要45秒,而不是自己宣传的1秒。我所在的YOUChain采用1000到1万个节点来记账,每次交易使用随机函数来选取投票节点,这样就把每轮投票数从几千缩减到了几百,大大提高了交易效率。
所以只有以上问题逐步解决,公链才能迎来发展壮大,应用才能逐步落地。区块链行业本身是一个高科技行业,希望用技术手段实现机器信任,让世界更美好。由于技术瓶颈没有攻克,如今只有炒币一个应用,但我相信在不久的将来,新一代的区块链公链与成熟技术将开启大规模商业应用落地时代,而那才是真正的区块链。