在过去的一年,“私有区块链”(private blockchains)的概念在区块链技术讨论中成了热门词汇。从本质上而言,相较于完全公开、不受控制,并通过加密经济来保证网络安全的系统(例如,工作量证明pow以及权益证明pos),“私有区块链” 也可以创造出访问权限控制更为严格,修改甚至是读取权限仅限于少数用户的系统,同时这种系统仍保留着区块链真实性和部分去中心化的特性。金融机构对这种系统有着很大的兴趣,这也导致了部分人的激烈反对,他们认为这样的发展,是违背了去中心化的本质,这是那些守旧落伍的中间商们孤注一掷的行为(或者说只是简单地提出了一个非比特币的错误应用)。然而,对那些仅仅是因为想更好造福人类,或者只是继续寻求为客户提供更优质服务的人们而言,公共和私有区块链有什么实际差别呢?
首先,我们手头上究竟有多少种选择呢?总结了一下,我们有三种区块链的数据库应用类别:
1.公共区块链(Public blockchains)
公共区块链是指全世界任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链——共识过程决定哪个区块可被添加到区块链中和明确当前状态。作为中心化或者准中心化信任的替代物,公共区块链的安全由“加密数字经济”维护——“加密数字经济”采取工作量证明机制或权益证明机制等方式,将经济奖励和加密数字验证结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励,与对共识过程作出的贡献成正比。这些区块链通常被认为是“完全去中心化”的。
2.共同体区块链:(Consortium blockchains)
共同体区块链是指其共识过程受到预选节点控制的区块链;例如,不妨想象一个有15个金融机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机构的确认。区块链或许允许每个人都可读取,或者只受限于参与者,或走混合型路线,例如区块的根哈希及其API(应用程序接口)对外公开,API可允许外界用来作有限次数的查询和获取区块链状态的信息。这些区块链可视为“部分去中心化”。
3.完全私有区块链(Fully private blockchains)
完全私有的区块链是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。相关的应用囊括数据库管理、审计、甚至一个公司,尽管在有些情况下希望它能有公共的可审计性,但在很多的情形下,公共的可读性并非是必须的。
两者的区别
总的来说,到目前为止很少有强调共同体区块链和完全私有区块链之间的区别,虽然强调的意义是很重要:前者结合了公共区块链的“低信任”和私有区块链的“单一高度信任”来提供了一种混合的模式,而后者可以更精确地描述为带有一定程度数字加密的可审计的传统中心化系统。然而,在某种程度上可有很好的理由将注意力放在共同体区块链上:完全私有的区块链的基础价值,除了加密认证这种重复性功能,而且没有理由去相信,这种认证的最佳形式,是包括一系列含有Merkle tree二叉树根哈希相连的数据包。广义的零知识证明技术( generalized zero knowledge proof technology)提供了一种广泛的令人兴奋的,有关数字加密认证的可能性,这类加密认证可由应用程序提供给用户。通俗地说,我甚至会认为,相比于私有区块链,广义的零知识证明技术在金融世界是极大地被“低估”了。
现在,我将专注于单纯的“私有VS公共”的区块链讨论。先下个总结,只有一种区块链能活下来的想法是完全的误导,因为两者都有自己的优缺点。
私有区块链的优点
首先是私有区块链,相比于公共区块链,它有着许多优点:
1. 规则的改变
如果需要的话,运行着私有区块链的共同体或公司可以很容易地修改该区块链的规则,还原交易,修改余额等。在一些情况下,例如全国土地登记,这个功能是必要的; 但绝对不会存在着这样的系统,可以让“恐怖海盗罗伯茨”在一块清晰可见的土地上拥有合法所有权,所以试图建立一个不受政府控制的土地登记机构,在实践中是不会被政府本身承认的。当然,有人会说争辩说,可以在公共区块链上给政府留一个后门钥匙;当然有人会反驳说这种做法是小题大做,私有区块链的效率更高。关于私有区块链,我在后面会作介绍。
2. 验证者是公开的
因为验证是公开的,所以并不存在,来自中国的一些矿工出于共谋原因而致的51%攻击风险。
3.交易成本更便宜
交易只需被几个受信的高算力节点验证就可以了,而不是需要数万台笔记本的确认,因此交易成本会便宜。当下公共区块链的每个交易的费用超过0.01美元,这是个非常值得重视的问题,但也要注意,长远来看,随着可扩展的比特币技术的进步,它会有所改变,该技术有望将公共区块链的费用降低一到两个数量级,大致与高效的私有区块链系统差不多。
4. 节点可以很好地连接
节点互相可以很好地连接,故障可以迅速通过人工干预来修复,并允许使用共识算法减少区块时间,从而更快完成交易。公共区块链技术的进步,例如以太坊1.0概念和后来的权益证明机制,可让公共区块链达到“即时交易”的目标。但私有区块链仍是会更快,所以造成的延迟误差永远不会消失,正如光速并不遵循摩尔定律那样每两年翻一番。
5.隐私
如果读取权限受到限制,这样私有区块链还可提供更好的隐私保护。
考虑到上述情况,私有区块链似乎看起来更适合为机构所用。然而,对于机构,公共区块链仍存在着很多价值,这就是公共区块链一直提倡的自由、中立和开放。
公共区块链的优点
公共区块链的优点可以归结为两大类:
1. 保护用户,免受开发者的影响
在公共区块链中程序开发者无权干涉用户,所以区块链可以保护使用他们开发的程序的用户。从天真的角度来看,的确难以理解为何程序开发者会愿意放弃自己的权限。然而,较为超前的经济分析为此提供了两个理由:借用Thomas Schelling的话语,妥协是一种力量。第一,如果你明确地选择做一些很难或者不可能的事情,其他人会更容易信任你并与您产生互动,因为他们自信那些事情不大可能发生在他们身上。第二,如果你是受人或其他外界因素的强迫,无法去做自己想做的事,你大可说句“即使我想,但我也没有权力去做”的话语作为谈判筹码,这样可以劝阻对方不去强迫你去做不情愿的事。程序开发者们所面临的主要的压力或者说风险,主要是来自政府,所以说“审查阻力”,便是公共区块链最大的优势。
2.网络效应
公共区块链是开放的,因此有可能被许多外界用户使用和产生一定的网络效应。举一个特定的例子,就拿域名托管来说吧。现在,如果A想卖给B一个域名,就有个需要待解决的风险问题:如果A首先出售了域名,但B可能还没给钱;或者如果B给钱了,但A还没出售域名。为解决这个问题,我们要设立中心化的托管中介,但须支付三到六个百分点的手续费。然而,如果我们在区块链上拥有一个域名系统,并使用这个区块链的货币,那么我们可建立交易费低至0的智能合约:A向该系统出售域名,系统马上将域名出售给首先支付资金的人,而且因为这系统是建立在公共区块链上所以值得信任。但注意为了使交易过程更高效,要将来自完全不同行业的完全不同的资产寄放在同一公共数据库上——这在私有区块链上是不可能轻易做到的。同样的例子可以是土地登记和产权保险,但注意若想可交互操作,要使用能被公共区块链验证的私有区块链,这样可通过跨链完成交易。
必要性
在某些情况下,这些优点并不需要,但在其它场合又显得非常重要——重要到有时值得我们去等待是原来3倍的确认时间或者支付高达0.03美元的手续费(一旦可扩展技术成为现实,手续费只需0.0003美金)。但也要看到如果能创建基于公共区块链之上的私有智能合约,或者能实现在公共和私有区块链之间的跨链交易,我们就可将两者特性很好结合使用,至于具体选择那套方案就视乎你的所需了。有时,公共的会相对较好,但有时又需要一定的私有控制。这好比现实世界的情况,一切依你所需。
----
原文:
https://blog.ethereum.org/2015/08/07/on-public-and-private-blockchains/作者:Vitalik Buterin
译者:ivanjianjian
BTC:3HAqfF9nrCMQHrBTgRe76BwxYreDxBG6RC
责编:洒脱喜
稿源(译):巴比特资讯
文章为作者独立观点,不代表巴比特立场。