区块链能兼顾可信与效率吗?
1.1.3 外部存储的效率与冗余问题
(1)分布式存储的高门槛:人人都是存储和带宽的贡献者
在传统互联网模式下,比如 Google 要保障一个视频永久在线并被所有人都能看到,可能只需要留存一份视频,实际底层云存储实现情况来看可视为有3个左右备份。而对于区块链应用的用户来说,每个用户既是使用者,又是存储和带宽的贡献者。这意味着抬高了普通用户使用分布式应用的门槛。
(2)全网存储能力相当于单机:链上无法承载大型视频网站
理论上,如果有一个精妙的算法,可以动态调节出全网的可靠存储量和总带宽。而实际上,现在的区块链应用都比较粗糙,它视每一个用户均为全量备份节点。因此,在这种模式下,全网的存储能力,与算力的情况相似,仅为一台机器的能力。如果直接用“链上”方案直接存储媒体数据,几乎不可能承载大型视频网站,而这一问题其实也困扰着几乎所有的区块链分布式应用。
(3)极小的全量数据与极大的数据冗余
目前以太坊是已知具有最大的全量区块数据的项目,因为其上需要运转诸多智能合约以及由此衍生出来的各种代币(Token),但是该项目也仅为不到700GB的全量数据。而比特币的区块链网络,更是不到300GB的全量数据。但是由于区块链的去中心化核心策略,以及安全性诉求,导致了数以千计的节点需要存储全量数据,从而造成了极大的数据冗余。对比中心化数据库的解决方案,该级别的存储业务,面向10TPS的业务负载,仅需要一台普通配置的云计算服务器,即可提供同等质量的数据服务。
对比去中心化方案,存储成本可极大节约。而且即使考虑数据存储的鲁棒性,在既有的中心化架构中,我们有基于RAID阵列技术的NAS或者SAN、基于分布式廉价冗余架构的云存储以及基于内存的高速存储等各类方案可供选择。相较于需要全局拷贝,这些方案的执行成本都是非常低的。
我们相信,后续的区块链技术发展必然会向既有的云计算技术学习其中可取成分,从而提升其去中心化方案的服务能力。
1.1.4 dApp和智能合约的效率
从以上的特性可以推导出的一件事是:基于公链的移动端应用不好做。 首先,是技术层面的困难。移动端计算性能和存储空间受限,对于任何 dApp 来说都难以在移动端上跑公链的全量节点。因此,如果预期 dApp 的主要应用场景是在移动端,那么会面临网络贡献量与使用量不匹配的问题。
其次,是政策方面的困难。无论在任何一个国家和地区,拥有移动市场半壁江山的苹果,都遵循需要有一个应用开发者来承担应用可能带来的侵权风险的原则。这导致一些基于社区开发的开源项目,无法登陆苹果 App Store,因为事实上没有人可以为应用中的内容负责。这种冲突,有点类似于实体经济中的共享经济,共享经济瓦解了酒店集团、出租车公司的利益,同时分散了他们的责任。一旦出现事故,难以确定责任主体,也就无从谈及追责和赔偿。
其三,「不可篡改」=「无法消错」。我们早前经常听说区块链是「不可回滚」的,后来我们又听说很多区块链社区投票一致实现了「集体回滚」。区块链本质上是一种数据库技术,在当今的大部分认知中,区块链被认为是一种「先进」的数据库技术。然而事实上,区块链却是一种天生瘸腿的数据库技术。在数据库最基础的四大功能「增删改查」(CURD)中,区块链只能实现增和查两项。这在区块链的特性中被体现为「不可篡改性」,而大多数情况下这对于一项数据库技术来说并不是什么好事。在传统数据库中,管理员拥有对数据库进行任意修改的权限,这意味着数据库中的数据出现异常,管理员一个人就可以实现数据的修正。而在区块链中,并没有这个管理员,想要实现数据修正,必须所有用户同意才可以。
为进一步说明这个问题,我们假设有一个顶尖黑客通过漏洞,为自己的 QQ账号增加了 100 万Q币。腾讯技术部门的成员发现了这一问题,只要在数据库中将对应 QQ 的 Q币值改回去就可以了。 而如果此时,Q币是使用区块链存储的,那么麻烦就来了,因为这个黑客修改100万Q币的行为已经发生而且被同步到了每一个用户的手里,那么腾讯不得不发出一个公告「请求」8 亿 QQ 用户共同修改这一事实才能「回滚」。这一问题不仅仅针对数据,而且也是对于智能合约。
另外,dApp在以太坊这些新一代区块链技术中,主要通过智能合约实现。各节点全部不仅要存储全部智能合约,包括绝大多数垃圾合约,而且需要运行同样合约,既浪费存储又浪费算力。
1.2 区块链技术能为企业节约信息运维的成本吗?
在企业级应用中,系统的架构设计者会重点考察系统实施所需的成本,以及潜在可带来的回报。为此,我们需要从分布式账本的存储和智能合约的执行成本,结合算力和带宽消耗等因素,来综合考虑,从而评估企业的应用是否适合通过去中心化的模式来加以实施。
1.2.1 成本(TCO)
为便于进行成本的计算,我们将应用场景假定为基于以太坊的公链系统开发和实施。首先,是数据存储的成本。目前以太坊的出块速度平均在15秒左右,而全量区块数据已超过600GB。所以,如果为了提高应用效率和可靠性,并考虑一定的可扩展性,在系统部署全量节点的话,需要至少2T~4T以上的硬盘容量空间专门存放全量数据。如果需要更高的可靠性,可能需要多台机器部署全量同步节点,那么存储方面的预算会持续上升。若考虑到额外的媒体数据,需要进一步采用“链外”存储方案,那么存储成本会进一步上升。
其二,大量的智能合约是需要在节点机器上注入专门的虚拟机执行的。这对于实际节点服务器的运算能力也有很高要求,由于智能合约需要在多台机器上。这进一步提升了硬件购置成本和运维成本。
其三,网络开销和成本。区块数据同步和智能合约执行都需要消耗大量的网络带宽。对于全量节点来说,必须每15秒左右同步一个区块。据估计在整个互联网中,有超过10000台的全量节点,所以因数据同步对于网络造成的压力很大。
其四,现在已知运行较好的公链大多数采用POW共识机制。而这种共识机制的主要缺点在于需要堆积大量的计算硬件用于维持共识机制的可信网络,即使面向企业级应用改成私链,也需要投入额外的共识计算节点,这个会增大计算成本。即使是采用POS和DPOS等基于权益的共识机制,也同样会出现不同程度的浪费。例如,EOS采用21个超级节点作为共识机制的核心,则成本是中心化模式的21倍。而另一方面,如果采用基于PBFT等目前主流私链、联盟链所采用的共识机制话,区块链核心的去中心化信任机制将不能很好地保持,失去了使用区块链技术的核心价值。为此对于面向实际应用的企业应用,需要慎重考量和规划。
我们仍然用以太坊为例,按照目前一个ETH的价格为$209,美元对人民币的汇率在7.0左右来测算,如果按每年的成本和收入之间的比值计算,其成本回报比为: 131/(0.00052097.0*2.5)=71.7 。 因此,这意味着大约需要72年才能收回成本,见通过实际的成本核算方法来观察,区块链项目实际运维成本很高。
1.2.2 回报(ROI)
目前由于大多数的区块链技术还在不断探索过程中,缺少必要的区块链研发人才,所以具体的可落地区块链项目确实不多。而这种现象造成了分布式应用还没有获得广为认可,同时潜在带来投入区块链应用技术的研发,其回报周期将会很长。从短期内看,回报是负。这对于具体的项目决策人员来说,需要根据具体情况作出决策。如果从务实的角度来说,一般建议以中心化方案为主。ROI投入产出比若不成比例,无法让现有的公链继续发展的,则需要进行改变。
一般而言,投资回报率(Return on Investment,缩写为ROI)是企业或者一个运营实体从事商业经营活动或项目时通过投资与以及应返回的价值之间的比值,用于评估所从事项目或者事项的效率和盈利状况。虽然区块链的公链项目定位于一种公共的互联网设施,而驱动该公链运营的是去中心化的参与者网络,但是仍然可以通过ROI的计算,我们来评估整个系统发展的可持续性。
通常,投资回报率(ROI)= 年利润或年均利润/投资总额 ×100% 。以ETH即以太坊的公链为例,我们假设年度利润的主要来源于是由于ETH挖矿所得。目前三年内共发行了超过了1亿枚ETH,按照当前以太坊兑换人民币的价格是1500元,总共价值为1500亿,所以可视为年均收入约为500亿元。而整个ETH公链网络按照前述估算,三年内投入的硬件成本(约250亿元)和三年电费(约150亿元),共计400亿元的投入。按照三年的折旧周期,年均支出成本为133亿元。按照这种逻辑,以太坊的ROI约为(500-133)/400 = 91.75%,还算是非常不错的项目。
但是,如果我们把利润的来源主要看成是通过收取用户转账的手续费来计算,则有较大差异。这时,一年来的收入总量为2.5亿笔*0.6元/笔=1.2亿元,假设支出成本为0,与投资总额相比,则ROI将仅为0.25%。如果我们进一步考虑公链的运维成本,显然ROI为负,那么以此为指标肯定是一个不好的项目。
通过以上这两个不同ROI的估算方法,我们可以看到目前区块链公链系统,其主要的价值支撑来自于全球用户对于ETH币价的共识。一旦这种币价被打压,或者单纯用于企业级应用环境(此时即使存在数字货币也无法在公开市场定价与出售),则投资回报率会迅速下降。因此,关于这个现象是值得具体的系统设计和架构者去深入思考、并根据实际情况去取舍的。
1.3 区块链真的有安全效率吗?
1.3.1 存储安全
众所周知,区块链的账本是一部“加密”的账本。存储内容,通过用户公钥加密,私钥解密,安全性得到一定的保证。但这里的加密,并非普通人理解的加密。事实上,我们还经常听说区块链的另一个特性“透明可追溯”。区块链的加密,是指通过加密方式确保参与整个链条的每一个节点都不能超出规则修改,也不能伪造成别人添加信息的一种手段。而大多数的区块链,都遵循透明可追溯的原则,每一个节点都可以看到每一次交易的全部信息(包括交易的双方地址和交易量等),隐私保护能力较弱。
私密内容与分布式存储存在本质意义上的冲突。换个更简单的例子来说。我们都知道当我们用迅雷下载一部影片的时候,迅雷也会在下载的过程中利用一部分带宽来帮助别人下载,这是一个典型的“你帮我,我也帮他”的模型。但如果你要传输或存储的并非是一个公开文件,而是一个只有你和对方可以看的私密文件,那么第三人为什么要帮你们去“做种”呢?但是同样没有私密也会带来许多问题,比如聊个天全网都知道了,写个日记也全网都知道了。因此在金融等领域很多时候是要求实名,但是数据是隐私的。
1.3.2 数据使用
数据的使用则存在比较大的问题(包括账本和上链数据),除了前面提到的数据冗余问题造成存储效率低下外,还有数据安全和监管合规问题。在已有基于联盟链的应用案例中,有时候这种情况会搞得很复杂。例如,某份交易数据,某两个节点能看到,另外两个节点则不行。我们认为只要是在同一个智能合约里,应该是对等的执行机制,要么信任、要么放弃。在金融应用中,其实还是用传统手段满足“安全、隐私”需求,为区块链隔离复杂性。
对数据安全(完整性不会被破坏丢失,而私密性也不会泄密),不仅要考虑数据存储的安全,还要保证数据传输过程中的安全,更要保障数据在使用过程中的安全,能够做到所有权、使用权和交换权分离。同时,要做到数据可监管,符合规章制度(如上链数据不会违法,如在欧盟的数据符合欧盟的GDPR等)。同态加密、零知识证明、环签名、可信计算等可以应用于一些场景但都还需要大力完善。
2. 可能的解决之道
我们认为一个可行的方向是,与现有中心化的分布式技术相融合,改善并优化公链构造方法。从前述分析来看,虽然区块链代表着一种新兴的信息技术架构方案,然而目前的具体实现还比较粗糙,在效率上和实用性上都有诸多不足,为后续具体应用落地带来了困难。
区块链技术的核心价值,或者说其前提条件,是以数据安全为第一准则,构建了去中心化的共识机制。为此,对于这一目标主要的解决方向是探索更为高效的共识机制,根据实际的应用场合去设计和应用合适的共识核心机制。基本上的可行手段包括:
非工作量证明共识。对于这个方向,目前,例如Algorand算法以及类似“理想共识算法”的提出,都是一种很好的探索。
基于DAG的方案,这类方案适合于在物联网的场景下进行应用,降低了数据同步的需要,提升了数据传输的性能。
节能的工作量证明。事实上比特币和以太坊等区块链项目早期均采用工作量证明有其道理,因为工作量证明往往需要大量的固定硬件设备和持续的能源投入,这是目前看来最具有去中心化能力的信任体系构建方案,具有较强的抗攻击能力。但是此前的方案消耗能源太多,共识算法容易通过ASIC技术实现高度密集的矿池模式,从而带来了反向的中心化效应。为此最近很多人尝试的基于硬盘存储容量的工作量模式值得关注。
另外,在以下的一些方面也值得重视:
面向共识机制,设计更好的激励机制,提高系统效率,正向地去改善区块链生态。
面向区块链的可扩展性问题,在保持去中心化的优势之下,所谓分片或者分层技术值得关注,在提高规模化和性能的基础上,进一步提高系统效率。
数据安全性与隐私保护,关注零知识证明,以及更高执行效率的同态加密等技术。
分布式存储技术需要结合传统云计算的一些既有经验,例如,采用内存的分布式存储和计算技术,降低存储成本,改善存储效率。
面向区块链数据传输的专用网络协议的设计和网络硬件设备的开发,是一个值得考虑的方向。
可信计算TEE和多边计算MPC等技术。因为所谓的“不可能三角”是一种静态的思维模式,忽略来自硬件设计、网络协议维度的不断迭代更新和技术发展。
此外,还有一种模式是值得关注的。目前的区块链方案注重于计算模式层面的去中心化,以建立信任的工作体系。然而,从更高的维度考虑,我们可以在各个层面设计去中心化模式,以期找到更具有效率的去中心化方案。例如,我们可否考虑,在组织治理层面采用去中心化,而实际的技术实现路径基本以中心化为主,实现高效率的企业级应用。
3. 小结与未来展望
本文就区块链目前遇到的各类问题,特别是区块链目前的效率问题,进行了分门别类的讨论。在我们的讨论中,关注于既有区块链技术的效率和特点,特别是公链系统,以及与现有中心化方案的比较与评估。然后由此对于可能的改进,提出我们的一些初步想法,由于篇幅所限,无法全面展开(比如相关议题的发展趋势与方向,未来可能达到对区块链改进的效果等)。显然,受限于我们目前的认知和实践局限性,我们的观点必然会有所偏颇,但是希望为读者带来一些不同视角的观察。
本文中,我们较多的用以太坊(Ethereum)为例,来说明现有比较知名的公链系统现状。在此,我们也简单的小结和再次列举数据如下(2018年8月至9月收集之数据),供大家参考。目前,以太坊:
市值约为1500亿元,
其成本我们的估算是400亿(仅矿机、全帐节点和三年电费,不包括研发费用和人员成本),
年交易费收入约1.5亿(gas费),
年交易量2.5亿笔,
实际平均运行性能为8TPS,
全账本的大小约为700GB,该账本包含了其上运行的代币交易数据。
对于本文,我们的目的不是否定区块链技术,而是更好地促进数字资产与区块链管理系统的未来发展,学习已有互联网的分布存储和并行计算技术的精华,与现有云计算的先进方案相融合,希望达到“区块链的可信和中心化的效率”兼顾,以适应未来面向人工智能、物联网、生物科技、智能化制造等等各个领域紧密结合,共同发展的新局势。信息技术的未来,必然是一种“阴阳”的融合,这种融合不仅是既有中心化解决方案与新兴的去中心化技术理念的深度交融,而且是人们期待已久的效率与安全性的平衡,从而为普罗大众带来真正公平繁荣的世界。
作者:Tim & Larry
图片新闻
最新活动更多
-
11月22日立即报名>> 【线下论坛】华邦电子与莱迪思联合技术论坛
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
即日-12.5立即观看>> 松下新能源中国布局:锂一次电池新品介绍
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【线下论坛】华邦电子与恩智浦联合技术论坛
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论