要说这两年最被炒作和热捧的技术,首当其冲的肯定是区块链。区块链的运行逻辑和限制不为大众所了解,也导致很多所谓的媒体、专家等对区块链的特性产生了误解。如果让这些人给你讲区块链,那你会觉得区块链真的是万灵药,什么病都能治,区块链是可以解决的,比如说最近在卫视上,一个所谓的专家在讲解区块链的时候,说“区块链起源于比特币,但是??又高于比特币”,我觉得这就是放屁。对不起,太远了。今天我将重点介绍实施比特币应用程序的六大挑战。挑战一:更新不易。众所周知,所有公链都是开源项目。如果要更新,那是非常困难的。要想成为节点,必须下载其开源软件参与网络,共同维护账本。换句话说,如果工程师今天优化了共识算法并推出了新版本的软件,那么所有节点都必须下载它才能更新成功。但问题是,共识算法的更新往往涉及到矿工节点的利益。比如,目前业界普遍的看法是,PoW机制虽然安全,但效率太低。新一代的区块链往往采用PoS或DPoS,所以原来使用PoW的区块链也想改成PoS或DPoS。但是如果取消PoW机制,矿工们花重金买来的矿机瞬间就变成了废铁!矿工们当然不会这么做。这正是以太坊目前面临的问题。在可能影响矿工利益的情况下,以太坊工程师只能逐步修改共识机制。这就是区块链奇怪的地方,因为它是一个分布式系统。即使工程师想要更新软件,网络中的每个节点都必须为此付费,这也增加了区块链技术更新的难度。挑战二:效率和可扩展性区块链应用,即DAPP,必须运行在支持智能合约的底层链上。我们可以把底层链想象成一个类似安卓或者iOS的操作系统。如果操作系统有问题,当然运行在其上的应用程序也会有问题。目前底层链最大的问题是缺乏性能和可扩展性。以以太坊为例,以太坊的TPS(每秒交换的信息量)约为15-30的水平,作为对比,VISA的平均TPS为2000-4000,其最高水平可达25000,两者是根本不是一个级别的。为什么区块链和传统的中心化系统(如VISA)差距这么大?主要原因是区块链是一种分布式账本技术。不管是什么DAPP,它的计算结果都必须在各个节点上同步。达成共识,就像一群人在做决定,必须经过讨论才能达成共识。所有的区块链系统都不可避免地会遇到三个问题——效率、安全和去中心化,而这三者不可能完美平衡。目前比特币、以太坊等主流公链都是讲安全的。性和权力下放以牺牲性能为代价而接近。但只要效率问题一天不解决,DAPP就无法落地成为大规模应用。挑战三:无法保证链上信息的正确性虽然区块链可以在一定程度上保证账本不被篡改,但无法保证信息在写入区块链之前的正确性。比如一个喷洒农药的果农,还是可以在农产品溯源的区块链上写上自己的水果是有机的。同样的问题也可能出现在智能合约的触发条件上。例如,假设有一个DAPP是世界杯比赛应用。今天有一场赌德国足球队是否会获胜的比赛。用户使用以太坊与庄家打赌。假设德国队真的赢了比赛,由于这条消息是独立于区块链的,智能合约必须依赖外部输入德国队的获胜消息来触发上币条件。这时候就会出现两个问题:谁来?输入消息“德国赢”谁来保证消息“德国赢”是正确的通常这样的问题都会通过投票来决定,也就是说,只要超过半数的用户同意“德国赢”这个信息,它会自动成为触发智能合约的条件。那么看到问题了吗?智能合约的适用范围是有限的,智能合约不能替代所有的传统合约。挑战四:责任追究区块链的去中心化特性,使得事后责任追究非常困难。比如银行被黑,受害人可以向银行索赔,但如果区块链的攻击达到51%,用户就必须自己承担所有损失。对于习惯了中心化系统的人来说,这样的特性是难以下咽的。挑战五:需要审核智能合约的代码DAPP的智能合约代码会写在区块链上,也就是说代码是开源的,大家都可以看到,但是大部分人看不懂代码。如果真的要保证代码不出现任何问题,就必须要找一个公正的第三方来审查代码的安全性……但是问题来了,区块链本身不就是为了可信而设计的吗?去中心化?第三方?好吧,除其他外,让我们退后一步。当我们使用区块链系统时,我们必须建立对整个链条的信任。我们必须相信比特币和以太坊代码没有问题。像比特币或者以太坊这样的大型开源项目,自然会有很多工程师来review代码。相对来说是安全的,但是对于各种智能合约应用来说,就不是这样了。.这就是为什么现在有各种各样的智能合约审查公司,但是通过这种方式,信任只是传递给这些审查公司。从这个角度来看,区块链永远无法实现真正??的去信任化。挑战六:用户可能不关心你是不是“去中心化”区块链的本质——去中心化、透明化、不可篡改都很好,但普通用户真的关心吗?例如,有两个搜索引擎,一个不跟踪您隐私的搜索引擎,一个没有广告的搜索引擎,两者都很棒,但是,就用户而言,他们可能并不关心.因为用户更关心你能不能解决他们的问题,而不是隐私或广告干扰。如果搜索引擎不能搜索到最多最准确的信息,不能满足用户的需求,那不管你去中心化什么的,他也不用。因此,笔者认为并不是所有的软件都适合使用区块链作为去中心化版本。如果DAPP不能比中心化应用更好地满足用户的核心需求,那么它就是透明的、去中心化的、不可篡改的。大惊小怪没有任何意义。最后,我想说的是,区块链真的不容易看懂。正因为如此,很多人误解了区块链的特性,进而对其应用产生了错误的认识。上述专家就是一个例子。
