要说近两年最被炒作和吹捧的技术, 区块链肯定是首当其冲的, 区块链的运行逻辑与限制, 对于大众来说并不是很好理解, 同时也导致了许多所谓的媒体, 专家等都对区块链的特性产生了误解, 如果让这些人给你讲区块链, 那么你会觉得区块链真是灵丹妙药, 什么病都能治, 似乎任何问题只要套上去中心化, 区块链就能解决, 就比如, 最近在某卫视上面, 一位所谓的专家在讲解区块链的时候, 说 "区块链源于比特币, 却高于比特币", 我觉得这简直在放屁.
不好意思, 说远了, 今天笔者说的重点是关于比特币应用落地的六大挑战.
挑战一: 更新不易
众所周知, 所有的公链都是开源项目, 如果想要更新, 是非常不容易的, 一般人想要成为节点, 必须下载其开源软件才能参与网路并共同维护账本, 换句话说, 如果今天有工程师优化了共识算法, 推出新版本的软件, 也必须让所有节点都下载, 才会更新成功.
但问题是, 共识算法的更新, 往往会牵涉矿工节点的利益. 举个例子, 目前业界的普遍看法都是 PoW 机制虽然安全, 但太没有效率, 新一代的区块链往往采用 PoS 或是 DPoS, 于是原本用 PoW 的区块链, 也想改成 PoS 或 DPoS.
但是如果撤销 PoW 机制, 那么原本矿工花大把钞票购置的的矿机就瞬间变成了废铁! 矿工当然不干, 这正是目前以太坊所面临的问题, 在可能冲击矿工利益的状况下, 以太坊的工程师只能逐渐修改共识机制.
这就是区块链奇耙的地方, 因为它是分布式的系统, 即便工程师想更新软体, 也必须要网路的每个节点都买单才行, 这也加深了区块链技术更新的难度.
挑战二: 效能与可扩展性
区块链的应用, 也就是 DAPP, 必须运行在支持智能合约的底层链上, 我们可以把底层链想像成类似 Android 或 iOS 的作业系统, 如果作业系统有问题, 运行在其上应用程序当然也会有问题, 目前底层链的最大问题, 就是效能跟可扩展性不足, 拿以太坊为例, 以太坊的 TPS(每秒能处理信息交换量)大约是 15 -30 的水平, 做个对比, VISA 的 TPS 平均是 2000-4000, 其最高水平可达到 25000 , 两者根本不在同一个水平.
为什么区块链跟传统中心化系统 (如 VISA) 的差距会这么大? 主要原因在于区块链是分布式帐本的技术, 不管是什么 DAPP, 其运算结果都必须同步在每个节点上才能算达成共识, 这就好比一群人做决定, 必须经过讨论才能达成共识.
所有区块链系统都无可避免的会遇到三个难题 - 效能, 安全性, 去中心化, 而这三者不可能完美兼顾, 目前主流公链如比特币跟以太坊, 都是往安全性与去中心化靠拢, 而牺牲了效能. 但只要效能问题一天不解决, DAPP 就无法落地成为大规模应用.
挑战三: 不能保证上链资讯的正确性
区块链虽然可以在一定程度上确保账本不被篡改, 但是却不能保障资讯写入区块链前的正确性, 就比如, 一个洒农药的果农, 仍然可以在农产品溯源的区块链写上自己的水果是有机的.
同样的问题, 也可能发生在智能合约的触发条件上, 比如, 假设有个 DAPP 是世界杯博弈的应用, 今天有个赌局是赌德国足球队是否会赢球, 用户用以太币跟庄家对赌, 假设德国队真的踢赢了, 由于这个讯息独立于区块链之外, 智能合约必须依赖外部输入德国队赢球这个讯息才会触发打币的条件, 这时候会面临两个问题:
谁来输入「德国队赢球」这个讯息
谁来确保「德国队赢球」这个讯息是正确的
通常这类的问题, 会由投票的方式决定, 也就是说只要过半数用户认可「德国队赢球」这个资讯, 它就自动会成为触发智能合约的条件.
所以看出问题了吗?
智能合约的应用范围是有限的, 智能合约并不能取代所有的传统合约.
挑战四: 责任归属问题
区块链的去中心化特性, 让出事后的责任归属变得相当困难. 比如, 假设某银行被黑客入侵, 受害者可以找银行索赔, 但如果区块链所受的攻击达到 51%, 用户必须自己承受所有的损失, 对于已经习惯中心化系统的人来说, 这样的特性是很难接受的.
挑战五: 需要审核智能合约的代码
DAPP 的智能合约代码会写在区块链上, 这意味着代码是开源的, 每个人都可以看到, 但一般人不懂代码, 如果真的要确保代码没有任何问题, 就必须要找一个公正的第三方来审核代码的安全性......
但是问题来了, 区块链本身不是就是要去信任, 去中心化吗? 这时候怎么又要找第三方了?
好, 别的不说, 我们退一万步讲, 当我们在使用区块链系统的时候, 本身都必须建立在对整条链的信任上, 我们必须信任比特币跟以太坊的代码没有任何问题, 像比特币或以太坊这种大型开源项目, 自然会有很多工程师去审核代码, 算是比较安全的, 但对于各种智能合约的应用来说, 就不是这么一回事了.
所以现在才会出现各种智能合约的审查公司, 不过这么一来, 就只是把信任转嫁给这些审查公司而已, 从这个角度来看, 区块链永远不可能做到真正意义上的去信任.
挑战六: 用户可能根本不在乎你到底是不是「去中心化」
区块链的本质 - 去中心化, 透明, 不可篡改, 这些都很好, 但普通用户真的在乎吗?
举个例子, 比如有两个搜索引擎, 一个是不会追踪你隐私的搜寻引擎, 另一个是没有广告的搜索引擎, 这两个都很棒, 但是, 对于用户而言他们可能不在乎这些.
因为比起隐私或广告干扰, 用户更在乎的是你能不能解决他的问题, 搜寻引擎如果搜寻不到最多, 最精准的资料, 不能满足用户的需求, 那么管你是去中心化还是什么, 他都不会使用.
所以笔者认为, 并非所有的软件都适合用区块链去做去中心化的版本, 如果 DAPP 不能比中心化应用更加满足用户的核心需求, 光在透明, 去中心化, 不可篡改这几个特点上做文章, 是没有任何意义的.
最后, 笔者想要说的是, 区块链真的不容易懂, 正因为这样, 才会有让很多人都误解了区块链的特性, 进而对其应用产生错误的认识, 上面的专家就是一个例子.
来源: http://blockchain.51cto.com/art/201912/607725.htm