虽然区块链技术发展的很快,也受到越来越多人的关注,但是也面临着很多问题。

性能限制

区块大小存在上限

区块的验证、广播需要时间,一个区块越大,则需要的网络、硬件要求越高,需要的时间也越久。当全节点需要下载所有区块数据时,控制区块大小可以降低全节点门槛,维持去中心化程度,所以区块的容量大小不能一味地扩大。

性能低,TPS小

比特币网络的TPS大概是7笔交易/秒,矿工收到的交易沉淀在未打包池中,来不及记录进区块的只能等待,如果大量的未确认交易就会造成网络拥堵(迷恋猫、ICO都造成以太坊的拥堵),在以太坊中可以设置交易Gas(手续费),给矿工的手续费越高,则越会被矿工优先打包。

不断增长的区块数据

完全节点:需要下载所有的历史交易记录

比特币:每年增长50GB的数据,目前已超过200GB

以太坊:目前已接近2TB

越来越大的存储容量使得完全节点数量减少

比特币尚有超过1万个全节点,而以太坊真正存储所有数据的全节点已只有100余个

轻量化的验证、钱包客户端不需要存储大量数据,但全节点数量减少将使得安全性下降

寄希望于更好的硬件发展以及数据存储技术

硬盘空间增长和成本降低

零知识证明技术对存储量的减少

打开网易新闻 查看精彩图片

挖矿浪费能源

比特币挖矿一年电耗700亿度电,造成全球能耗的浪费

分叉

版本升级后节点升级不统一导致分叉

社区观点不一导致分叉:区块扩容(BCH)、盗币回滚(ETC)

异步网络导致的临时分叉

新区块产生到广播给所有节点需要时间,在这样的时间内可能有多个矿工都挖矿成功,但最终仅有一个会进入主链,该区块被确认。

51%攻击

对于新生的公链而言,51%攻击相对容易;承载算力越多,则51%攻击成本越高

代码漏洞

共识机制保障去中心化账本安全,但智能合约代码漏洞会造成安全问题。当区块链支持越来越多的复杂功能时,可能出现问题的概率也更大,通过代码漏洞黑客极有可能发起攻击并造成用户资产损失,安全问题的发生基本上都是智能合约代码漏洞的问题,而非区块链自身问题,一方面需要加强代码审核,另一方面,亟待建立智能合约编写规范、测试规范等,例如,著名的The DAO事件导致了以太坊的分叉—以太经典(ETC).

秘钥丢失与钱包安全

秘钥丢失就无法找回,导致钱包里面的资产无法使用。所以很多私钥用另外一种形式表现—助记词,最早是由BIP39(将私钥切分,得到12个二进制数,然后查BIP30定义的单词表,映射得到12助记词)提案提出,其目的是为了帮助用户记忆复杂的私钥,助记词一般由12/15/18/21个单词或汉字构成。

链下数据映射的真实性

链下数据是不发生在主链上的,由于人为输入,一般存在不确定性、不可信。互联网的做法是权威机构认证,保证数据的合理性,但区块链追求分布式属性,可信第三方有违区块链概念。

链下数据映射解决的问题是:区块链的世界里我们不知道区块是几点几分几秒,但我们知道目前是第几个区块高度。也就是说无法写一个智能合约,在某个未来的固定时间点处理自己持有的代币。基于这个类似于预言性的问题,诞生了一个概念预言机(Oracle神谕机),其基本原理:

分布式多个主体对同一个外部数据给出结果,按照某种规则得出平均值,对接近平均值的人给出奖励,对远离平均值的人给出惩罚,这样只有集团作恶才可能实现作恶,否则为了寻求陌生人之间的协作,更可能的是以真实数据为锚定报告。由此我们就知道,数据映射都如此的困难,那么想要实现资产映射就更难了,所以目前的资产上链都妥协于中心化机构。

打开网易新闻 查看精彩图片

以上8大类问题是区块链面临的主要问题,随着技术的发展,相信区块链会越来越好,这些问题也会得到很好的解决。