解密区块链生态的技术信任
1
区块链的核心价值
区块链的发展如火如荼,也产生了大量的区块链体系文章介绍从区块链的底层技术、网络结构、共识算法等等做的很多表述,但在其中我常常被问到的问题是:区块链的技术体系之外,最想问的问题是它的核心价值是什么?是更好的性能、更方便的连接、更可靠的技术,还是其他的因素,关于这个问题,我想经济学人这本在全球通俗经济领域的龙头杂志总结得非常到位,其实就是一个词:信任。
诚然,区块链技术带来了很多更好的机制,如各方更好地进行数据协作、信息同步、实时的点对点清结算体系,甚至一些去中心化的协作体系,但这些部分,从技术的层面来讲,中心化的系统其实都可以做到,甚至从纯技术角度来说做得更好,而区块链的核心价值在于建立了一种新的信任体系。
自有人类协作以来,信任一直是我们在经济、金融、社会协作,甚至人的生活当中,为之付出最大成本的协作因素,各类的金融风控、法律法规、协作机制、合同签订、资格审查、组织投票等等,中间积压了大量的成本环节,其实都是在为了一个目的:信任,获取信任、建立信任、培育信任、审核信任……
既然“信任”如此核心重要,那自然而然产生一系列关于“信任”问题:信任是从哪里来的?区块链带来的信任是哪一种信任?在没有区块链之前,或者更早的历史进程中各种“信任”的来源又是哪里?这些“信任”在区块链的新生态下还有作用吗?他们与区块链之间是互相抵制的,还是相互协作的?在区块链的生态下“信任”会以怎么样面貌体现出来?这些“信任”怎么样融合起来提供服务?……
这样的问题很多,每个问题也很大,甚至每一个问题背后都涉及到一系列的,历史,政治,人文,技术,等等各种因素,,虽然本文是一篇文要信任展开的文章,但也只能做到抛砖引玉的基本介绍,本文尝试简要的描述信任的来源及其背后的机制、技术和体系,把信任分为三个维度来描述:技术信任、法制信任、社群信任。
2
技术信任1技术信任的来源
-
技术信任的来源已久板面的做法和配料
技术信任其实由来已久,我们生活中也有很多现有的技术信任体系,CA认证、电子签名、电子存证、生物识别等等,这些都提供了相应的技术性方案在特定的业务应用范围进行资产,这些机制,也或多或少依然依赖于某些可信的第三方或权威机构,作为特定场景或特定领域中的信任源。
-
区块链带来的变化
区块链体系带来了去中心化分布式的共同维护的技术信任,在多方对等的情况下共同进行信息维护,进行协作总数,达成共识,对各类协作中的资产数据,进行可靠控制,和一定手段下的保护,因此,他带来的新技术竞争不是单业务或单点的信任变化,而是一个体系化的生态型变化,这也是很多人觉得区块链具有变革性的要素所在。
区块链体系在通过对等网络带来了多方维护、对等性的体系之外,也带来了新的问题挑战,就是在一个对等的去中心化体系当中,一个群体如何更好地对各项协作的事务、交易等进行相应的决策以达成共识,因此,“共识”是区块链体系当一个最核心的技术机制要素。
2.2共识、共识、共识
共识可以说是一个信任体系下最重要的点,在大部分中心化体系下,共识是由借由权威的第三方中心机构的信任来完成,而在对等的体系下,是借助一系列的制度安排或技术手段来完成,所以共识协议是区块链信任体系当中的核心。
-
共识的起源
人类简史-智人的协作
共识,从自有人类开始进行协作以来就一直存在,在赫拉利的“人类简史”一书中中,就描述了智人群体可以在协作中,通过语言或者某种交流手段对某些想象中的事物达成共识,从而进行更好的协作,这也是智人和其他动物本质性的不同,也是自然最终成为这一星球上主宰的重要因素,因此,想象和共识一直是人类群体协作,甚至是生存的基础。
雅典城邦的泛民主
共识在发展当中慢慢形成的政治体制的一部分,也诞生了很多不同类型的政治性共识体制,如最早的希腊城邦民主制,“民主”这一词,在很长时间在西方世界是一个贬义词,因为在古希腊实行的一人一票的城邦民主,也产生了很多暴民政治,错误的大多数人通过惩罚了正确的少数人,因此,一人一票的泛民主制度适用的范围是整体公民的理性意识较强,以及相对群体理念与价值观差异性不大的体系当中,如现在的法国,依然用了接近于一人一票的政治共识体系。
代议制民主
而更多的国家,为了避免泛民主体制下的产生的暴民政治因素,又逐步发展出自己独特的代议制民主制度,局部的投票人制度,参议院和众议院的分离制衡制度,以及如美国的三权分立制,这些体系也是为在建立信任制约和共识,而做的更大范围的协作。
生活中的共识(都有决策人)
而生活中的我们也会遇到不少共识机制,小到一个家庭,可能是家庭会议,或者某一个家长责任制,大到一个公司的董事会,或者董事长决策制,都会需要这样对共识和决策的一些机制,所以,“共识机制”这个听上去有点技术性的专业名词,其实在我们的生活中身边时时刻刻地发生着。
没有老大的生活
区块链因为对等体系的机制,单一中心化的决策机制转换成立一个相对对等的决策群体来进行,事务的决策和共识,通俗点说就是没有老大的生活,因此,共识的机制的选择和设计,在区块链的体系当中,对用技术来支撑共识这件事,就显得尤为重要,
所以,任何共识机制,没有绝对的最优机制,更多的是在不同场景下,找到相对最优或更适合的,这一思路也可以扩展到对区块链共识机制的技术设计与选择中去。
-
区块链中的共识
区块链发展至今,已经在实践中应用和发展了多种共识机制,有很多技术上的来源和传承,也有很多独创的机制,如起源于比特币的结合了技术和经济激励的共识机制,在后续的发展中,更多不同类型的共识机制在区块链系统中得到应用,每类共识都有自己独特的应用场景,当然也有自己特有的优缺点,所以在共识的选择根据业务场景选择不同的机制就显得尤为重要。以下是对部分区块链共识机制的简要总结与分析:
共识的探索远没有结束,在以上描述的现在的主流各类区块链共识机制下,依然有不断的创新在探索,如,基于分群组签名的非交互性共识机制,基于硬件体系结合的分布式共识,还有一些在探索当中的创新的共识机制,更多地融合了技术因素、经济激励因素、与其他的声誉评价因素的创新型的共识体制。
2.3密码信任
在技术性的环节当中,密码学扮演了非常重要的角色,很多局部的信任点或信任体中,都需要大量的密码学支持,在区块链的生态当中,把密码学成为区块链的技术信任的基石之一。
当然,在区块链产生之前已经具备了一个比较成熟的密码学体系了,而不同的区块链系统基于其业务特点,也创新性将密码学机制用到区块链中,这里列一些简单的例子,可以看到传统密码学机制在区块链中提供的密码信任。
-
哈希函数和数字签名
哈希函数和数字签名算法是区块链系统中使用最多的两个密码算法。哈希函数可以交易数据的完整性。在数字签名算法中,签名者利用私钥对交易进行签名,任何节点都可以用签名者的公钥来验证,并且只有拥有私钥者才能够制造出合法的签名。
-
地址隐私
在比特币中,用户地址是公开的,如果用户使用一个固定地址的话,那么交易到该地址的多笔交易是可以被关联在一起,严重暴露了用户隐私。Peter Todd等人设计了隐形地址机制(stealth address)。在隐形地址中,交易发起方计算一个临时随机密钥对(e, P = e*G),利用接收方的公钥Q = d*G,运用Diffie-Hellman密钥交换协议的变体,计算出一个共享公钥K,且K的私钥k仅有接收方可以计算得到。最后将公钥K作为真正的交易接收地址。
-
交易流程隐私
在比特币中,要发起一笔合法交易,我们需要引用UTXO(未花费余额),通过生成一个合法签名来使用该UTXO的金额,由于交易数据是公开的,由此可以计算到每个地址的交易图。以CryptoNote为代表的数字货币体系,采用可追溯环签名算法(traceable ring signature)来对交易签名,可以模糊货币的“流通路线”。在环签名算法中,只要使用一组公钥中的某一个私钥,就可以生成一个合法签名,并且无法从签名得出是由具体哪一个私钥产出的。因此,利用环签名,一笔交易中的多个UTXO都可能是下一笔交易的输入,也就模糊了货币的“流通路线”。当然,要防止双花,还必须使用可追溯的环签名算法。在可追溯环签名算法中,由一个私钥签发的两个签名是可以被关联起来的,因此,只要一笔UTXO被花了两次的话,就一定被同一个私钥签发了两个不同的签名,因此就可以被发现的,从而解决双花问题。
-
交易数据隐私
为了保护交易数据的私密性,通常需要将交易数据进行加密。但同时,还需要保障交易的合法性,又需要让交易通过验证人群体的验证,在很多场景下,交易合法性通常表现为交易的输入总和等于输出总和,交易中的每一个金额都大于0,小于一个上界。在这个场景中,可以应用加法同态加密算法(如Paillier同态加密算法或Pedersen承诺方案)。由于交易金额是以密文形式存储,所以还必须提供密文对应的明文确实是在合理区间的一个零知识证明,也就是区间证明。区间证明可以使用环签名算法来实现。
-
密码学机制带来的可信随机数
在分布式的体系中,获得真正的分布式体系认可可信的随机数也一直是个关键点,有区块链系统应用阈值签名算法和签名接力机制网络实现不可破坏、不可操纵、不可预测随机性,也是对密码学机制的创新性应用。
从以上这些例子可以看出,区块链在对传统密码机制的应用上既有基础性的基本应用,也探索出不少和场景结合的创新性应用,解决实际遇到的信任问题以及信任与隐私的矛盾问题。