络谱中间件产品功能概要

1 中间件产品说明

络谱区块链中间件产品,是为了加速区块链技术落地而专门设计的产品,作为 BROP tool 的主要部分共同发布。它可以用于与传统MIS、ERP、CRM等各类业务系统对接。在联盟链场景下,通过使用智能合约,减少业务开发中集成区块链的基础工作,从而降低学习成本和开发成本。

本文的目标读者是希望将区块链技术引入到产品中的系统架构师及各类技术人员。因此,本文将不会对区块链原理进行讲解,但会提到相关特性。

下文中将分为两个章节,分别介绍中间件产品的实际形态,及中间件提供的功能。

通过对这些问题的描述,帮助用户快速了解中间件的整体背景和可能的使用方法,帮助区块链相关的开发团队快速评估如何引入中间件产品。

2 中间件产品形态

一个独立的Java 应用服务。
通过MongoDB数据库实现对区块链数据进行索引的能力,数据库的数据同步来自区块链账本。
提供一组简单的页面,用于对区块链中的数据信息进行检索、查询。
提供一组Web界面,进行常用的文件上链、文件鉴定等功能。
通过消息队列的形式对外发布信息,业务开发者可以通过订阅消息获得及时的通知。

3 功能介绍

3.1 为区块链提供统一的快速开发接口

区块链中间件产品的首要设计目标是简化用户的开发,区块链开发中的第一个环节就是与区块链的接口交互。目前行业中并没有标准的区块链接口规范,各种区块链接口的设计也各不相同。
络谱中间件产品将区块链原生操作进行封装,通过一组统一的接口方案为用户提供全面的区块链功能。这些接口涵盖合约的编译、部署、交易发送、信息查询等功能。

3.2 为数据建立索引,提供灵活的查询接口

区块链节点的数据以区块为单位,形成链表进行存储。这样的数据存储结构虽然便于定位和验证,但通常只能根据没有业务意义的key 进行检索。区块链本身的设计并不关心业务内容,导致了区块链不能满足业务系统的检索需求。

中间件提供一种同步机制,分析区块链上的数据,并建立一套高效的索引数据库。用户对业务数据的查询,可以在这套索引数据库中完成。业务系统将查询请求发送到中间件的查询接口,就可以方便、快速地检索到需要的业务数据。这在相当大程度上,减少了各个业务系统在接入区块链技术时需要进行的二次开发工作。

3.3 向业务系统提供关于区块链事件通知

区块链是一项帮助企业间建立更强信任的技术,所以区块链的接口设计应该兼具通信和存储的功能。对于业务系统来说,通常需要感知与自身业务相关的数据变化。而目前市面上大部分区块链系统都只是单纯地存储数据,不具备通知数据变化的机制。

中间件与底层区块链之间通过同步机制建立紧密联系。利用这种联系,中间件会及时发现区块链上正在发生的数据变化,并将这些变化封装成各种“事件”,通知给业务系统。上层业务系统可以通过监听这些事件了解到区块链上的数据变化。这样的机制能大大地降低业务系统的开发和运行成本,简化业务系统的复杂度。

3.4 为存证记录提供权威的时间信息

区块链的各种常见业务中,存证和交易等场景都带有较强的时间属性。中间件为用户的存证、信息登记提供了简单的时间戳接口,时间戳数据来自中国科学院国家授时中心,帮助业务系统方便地添加权威时间信息。

时间戳接口服务帮助用户方便地为存证信息添加时间戳,这个信息会随着存证信息一起记录到区块链上,同时,因区块链具备不可篡改特性,为存证信息提供清晰且强有力的证明和支持。

3.5 精简区块链索引,降低运维成本

区块链技术通过充分的冗余备份,实现了账本数据的见证和高可用,但因此造成的成本也是显而易见的。当区块链网络成熟之后,节点和中间件可以分担进行数据见证和数据索引。业务参与方可以选择只关注应用层数据的索引,通过中间件所获取必要的数据后,再向具有可靠数据的区块链节点发起请求,进行数据验证。然而,整个区块链账本中有很多数据与业务系统本身并不相关,中间件在建立数据索引时,还提供了数据过滤功能,只将与业务相关的账号、合约信息编入索引,帮助业务系统降低运维成本。

目前中间件支持通过简单参数配置实现过滤区块链数据的功能,其中,支持的特定规则主要是根据合约和合作方账户进行过滤。未来,研发团队还将陆续推出更多的过滤规则和更灵活的配置方式。

3.6 提供交易重试和调度机制

在研发基于区块链的系统过程中,我们发现了一些困扰开发者的问题。

第一,业务系统在向区块链发送交易时,需要进行编码、签名以及发送等操作。因此区块链确认交易时会产生一段时间的延迟,导致用户在发送操作后通常不会同步得到结果。然而用户需要关心各个步骤和操作中的异常、失败和重试等各种情况。这类需求非常普遍。第二,区块链相对传统的中心化系统,吞吐带宽和并发交易数有限,业务开发者通常需要对交易进行调度,避免出现交易高峰。

针对这类场景,中间件提供交易重试和调度机制,该机制可以将交易进行存储,以及对交易异常、失败、重试等情况进行相关处理。这样,用户只需要关心交易是否已经发送到中间件,而无需关注交易上链过程中各个阶段的情况。当业务出现高峰时,可以由中间件来限制交易的发送时间,极大地简化了业务系统的复杂度。

3.7 简化大文件存证流程

区块链是一项适合保存数据的技术,但它的设计重点在于防篡改和可追查,所有的节点都完全对等地存储账本里的所有数据。在这样的方案下,对大文件的防篡改能力成为一种技术成本相当高的场景。然而,通常几兆字节的数据已经被认为是相当大的体积。

针对广泛的业务需要,中间件系统为文件存储进行了更多的定制,使得文件系统与区块链功能结合起来,为业务方提供了一套统一的文件存储接口,可以帮助用户将所有文件作为区块链的附件,存储在文件服务器中。用户只要向中间件发送自己签名的文件,即可快速进行保存,并将文件保存结果发送到区块链上,从而实现大文件的防篡改、反抵赖的能力,极大地简化了在防伪、存证等领域引入区块链技术的工作。

分散式公钥基础设施

翻译自《Decentralized Public Key Infrastructure – A White Paper from Rebooting the Web of Trust》

摘要

今天的互联网把在线身份的控制权交给第三方。电子邮件地址、用户名和网站域名是通过DNS、X.509和社交网络借用或“租借”的。这导致了整个互联网范围内严峻的可用性和安全性问题。本文描述了一种可能的替代方法,称为分散式公钥基础设施(DPKI),它将在线身份的控制权返还给他们所属的实体。通过这样做,DPKI解决了许多困扰传统公共密钥基础设施(PKI)的可用性和安全性问题。DPKI在PKI生命周期的每个阶段都有优势。它使得在线身份无许可bootstrapping(自举:程序语言编译器用自身的语言及其特性来编译自己)成为可能,并提供了更简单的更强大的放法创建SSL证书。在使用中,它可以帮助“Johnny”最终加密,这要归功于公钥管理的降级,以确保分散的数据存储。最后,它还包括恢复丢失或损坏的标识符的机制。

  • 简介——为什么是DPKI

互联网促进了全球个人之间的通信和交易,是通过诸如电子邮件地址、域名和用户名等标识符进行的。但谁来控制这些标识符?如何管理?他们之间的安全通信是如何促进的?

现代社会,第三方机构(如DNS注册服务机构,ICANN,X.509证书颁发机构(CA)和社交媒体公司)负责创建和管理在线标识符以及它们之间的安全通信。不幸的是,这种设计显示出严重的可用性和安全缺陷。

1.1在线标识符的控制和管理

在设计DNS和X.509 PKIX时,互联网无法以可靠、分散的方式就注册管理机构(或数据库)的状态达成一致。因此这些系统指定可信第三方来管理标识符和公钥。现在几乎所有的互联网软件都依赖这些可信第三方。因此,网站域名并不属于注册它们的组织(注意:它们属于第三方,如ICANN,域名注册机构,证书颁发机构以及任何能够影响、强制或入侵它们的任何人)。同样,网站上的用户名并不属于这些用户。

这些可信第三方(有时缩写为TTP)作为可破坏的CPoF,每个都可能有损害整个互联网的完整性和安全性。 因为这些标识符的控制权是给予TTP的,所以其可用性也受到损害。这些与可靠性和可用性有关的问题会导致其他问题:

  • 一些公司花费大量资源来对付由不当行为造成的安全漏洞;
  • 许多网站仍然不支持HTTPS;
  • 对于大多数网民来说,真正安全和用户友好的交流仍然遥不可及。 [参考:“为什么约翰尼不能加密”

出于所有这些原因,DPKI的基本原则是身份属于他们所代表的实体。这就要求设计一个分散的基础设施,其中每个身份不是由可信第三方控制,而是由其所有者控制。

1.2在线交互的安全性

在线交互通过安全传递公钥得到保护。这些密钥对应于身份。这些身份所代表的实体(称为委托人)使用相应的私钥来解密发送给它们的消息,并且证明他们发送了消息(通过用私钥对其进行签名)。

PKI系统负责公钥的安全传送。但是,常用的X.509 PKI、PKIX破坏了这些密钥的创建和安全传递。

1.2.1第三方面临的挑战:寻找“正确的密钥”

在X.509 PKIX中,通过创建由CA签署的密钥来保护Web服务。然而,在PKIX中生成和管理密钥和证书的复杂性使得网络托管公司自己管理这些密钥的创建和签署,而不是将其留给客户。这从一开始就产生了主要的安全问题,因为它导致私钥在CpoF(网络托管公司)的积累,使得有权访问该密钥存储库的任何人都可能以几乎无法察觉的方式危害与这些网站的连接的安全性。

X.509 PKIX的设计还允许世界各地约1200个CA模拟任何网站。CA的强制或妥协的风险使情况进一步复杂化。由于这些危险,用户不能确定他们的通信没有被允许进行MITM(中间人攻击)的欺诈证书所破坏。 这些攻击非常难以发现; 像谷歌这样的产生网页浏览器的公司有时可以识别他们自己网站上的攻击,但是它们不能阻止对任意网站的攻击。

解决方法已经被提出。HPKP是一种IETF标准它允许网站告诉访问者在一段时间内“扣住”他们收到的公钥(忽略任何其他密钥)。但是这种机制对于网站管理员来说很难使用,因此在实践中可能不会使用太多。HPKP容易受到“敌意锁定”的影响,并且在合法的情况下,如果密钥需要被合法替换,则存在破坏网站的风险。更糟糕的是,HPKP的某些实现使第三方在没有用户同意的情况下覆盖任意指针的做法变得轻而易举。

1.3 PKI的可用性

即使可以信任权威第三方,目前的PKI系统也存在重大的可用性问题。 Brigham Young大学的一个小组调查了Mailvelope的可用性,Mailvelope是一种浏览器扩展,支持通过Gmail等第三方网站进行GPG加密通信。他们的研究表明参与者之间的安全通信尝试的失败率高达90%。研究发现,公钥管理是用户无法正确使用软件的主要原因。

TextSecure / Signal – 由爱德华斯诺登认可的安全和信息易用性的安全邮件系统 —由于无法顺利处理公钥更改而导致可用性问题。如果用户删除并重新安装应用程序他们的朋友将被警告其公钥“指纹”已更改。这种情况与MITM攻击无法区分,很少有用户能够理解或费力去验证他们收到了正确的公钥。

1.3.1消息妥协的危险

 

由于传统PKI的可用性挑战,今天大多数网络交流都是未签名和未加密的。这在主要的社交网络上尤其明显。由于PKI的复杂性,社交网络不会以任何方式加密用户的通信,除非通过HTTPS发送它们来依赖PKIX。由于邮件未经过签名,因此无法确定用户是否真正说出他们所说的内容,或显示的文本是否是数据库泄密的结果。同样,用户通信的存储方式使任何有权访问这些数据库的人都可以阅读 – 危害用户隐私并给社交网络带来巨大责任风险。

  • DPKI解决网络信任问题

答案不是放弃PKI,而是寻找替代方案:DPKI,未来的分散式公钥基础设施标准。

DPKI的目标是确保与PKIX不同,任何单一的第三方都不可能危及整个系统的完整性和安全性。通过技术使信任分散化,使地理和政治上不同的实体可以就共享数据库的状态达成共识。DPKI主要关注分散的key-value数据存储,称为区块链,但它完全能够支持其他提供类似或具有更安全属性的技术。

被称为矿工(或验证节点)的第三方依然存在,但它们的作用仅限于确保区块链(或分歩式账本)的安全性和完整性。这些矿工通过遵循议一致性协议得到财政激励。偏离协议会导致经济惩罚,而与协议的一致性通常会产生经济回报。由中本聪创造的比特币是第一个这样成功的协议。它基于工作证明,其中“矿工”的能量消耗用于保护数据库。

通过在区块链中注册标识符,可以像任何其他类型的交易一样,授予委托人直接控制和拥有像网站域这样的全球可读标识符。在key-value数据存储中(注意:在这种情况下,“key”是指数据库查找字符串,而不是公钥或私钥),委托人使用标识符作为查找密钥。

同时,区块链允许将任意数据(例如公钥)分配给这些标识符,并允许这些值以安全的方式在全局可读,而不易受PKIX中可能出现的MITM攻击的影响。 这是通过将标识符的查找值链接到该标识符的最新和最正确的公钥来完成的。

在该设计中,标识符的控制权返回给委托人。对于任何一个实体来说,破坏整个系统的安全性或者损害不属于它们的标识符都不再是轻而易举的。这就是DPKI如何能够解决困扰DNS和X.509 PKIX的安全性和可用性问题。

区块链及其共识协议的完整描述超出了本文的范围。第5节“标识符和公钥的安全性”讨论了它们的一些安全属性,附录“轻客户端详细信息”描述了这些区块链中的数据如何从移动设备安全地访问,而这些移动设备本身并没有完整的区块链副本。

  • DPKI威胁模型

与传统的PKI系统一样,DPKI假定一个持续的活跃对手Mal经常试图欺骗一个委托人Alice信任另一个委托人Bob的错误密钥。这可以采取发现Bob的错误标识符(例如,在twitter.com上找到错误的帐户)或一旦知道标识符就缓存错误的密钥的形式。

假设Mal是一个计算有限的对手,他能够妥协或迫使集中的可信PKI方欺骗Alice信任错误的密钥。这已经被证明是可行的,就像DigiNotar的情况一样,并且在国家行为者迫使其辖区的CA签署无效密钥的情况下也是如此。另外,假设Mal能够改变或阻止Alice和Bob之间交换的消息的约束分数(小于100%)。 这在今天也是可行的,并且通过ISP级审查,通过请求重新定向以及为了破坏像BitTorrent这样的现有文件共享技术而执行的分组修复攻击,从已知的Tor出口节点发送黑洞数据包, 并阻止对政治敏感资料的HTTP访问。

鉴于Mal的权力,DPKI的两个设计原则变得明显:

  • 如前所述,每个委托人必须完全控制其当前的标识符/公钥绑定。如果只有委托人可以修改他们的标识符,那么Mal就不得不攻击每个委托人。这与传统的PKI相反,Mal只需要危害一个CA来欺骗许多委托人。
  • 该系统必须完成全有或全无的任何进展:每个主体必须见证其他主体对其标识符/公钥绑定的更新,否则无人会观察到任何更新。这是必要的,以防止Mal可能发生的网络级攻击,如果她检查某些主体的更新,则通知整个网络她的存在。这使得针对特定用户或密钥对的针对性攻击极其昂贵,因为它使Mal攻击任何人的唯一方式是立即攻击所有人。

如前所述,DPKI通过使用安全的分散式key-value数据存储库来实现这些设计原则,以承载标识符和公钥之间的绑定。有关详细信息,请参阅第5节“标识符和公钥的安全性”。

  • 注册和标识符

如前几节所述,DPKI的核心是分散式key-value数据存储区,可用作标识符注册表,允许委托人的公钥与其标识符安全关联。只要这种注册在有效状态,并且委托人能够保持对其私钥的控制权,则任何第三方都不能对该标识符拥有所有权,而不诉诸直接胁迫委托人。

DPKI没有指定应该使用哪种类型的标识符,并且认识到可能有不同的方法(例如,用户名或UUID),这些方法在易用性、持久性、唯一性、安全性和其他属性方面可能不同。

对于DPKI使用key-value存储,必须具有以下属性:

  • 无权写入。任何委托人都可以广播符合语法规则的消息。系统中的其他同等权限的人不需要准入控制。这意味着分散的共识机制。
  • 叉选规则。给定两个更新历史,任何委托人都可以通过检查确定哪一个是最“安全”的。

这些需求可以通过区块链来满足,例如Namecoin,Ethereum,甚至可能是比特币(通过Blockstore等技术)。

4.1 DPKI注册要求

在DPKI中标识符注册与DNS不同。虽然注册商可能存在于DPKI中,但他们必须遵守DPKI的目标中出现的几项要求,以确保身份属于他们所代表的实体:

  • 私钥必须以分散的方式生成,以确保其在委托人的控制之下(例如,通过委托人的设备上的开源客户端软件)。这意味着明确禁止代表委托人在服务器上生成密钥对的注册服务。否则将重新创建§1“简介 – 为什么DPKI”中提到的问题。
  • 软件必须确保委托人始终控制其标识符和相应的密钥。委托人可以将其标识符的控制权扩展到第三方例如,为了恢复目的),但这必须始终是需要明确的、知情的决定,而不是软件的默认,隐含或误导行为。永远不要以不安全的方式存储或传输私钥。
  • 软件必须尽最大可能确保没有任何机制能够允许单一实体在未经其同意的情况下剥夺委托人的标识符。这意味着:
    • 一旦在区块链内创建了一个名称空间(例如,通过以太坊的智能合约),它就不会被销毁。同样,命名空间不能包含黑名单机制,这将允许任何人使不属于它们的标识符失效。
    • 注册和更新标识符的规则必须是透明的,并且必须以一种简单的、难以忽略或误解的方式(例如先到先得、拍卖)表达给用户。特别是,如果注册受制于到期政策,则必须明确告知委托人,这可能导致委托人失去对标识符的控制权。
    • 一旦完成设置,命名空间规则就不能改变以引入任何新的更新或恢复标识符的限制,否则将有可能在未经其同意的情况下标识符脱离委托人控制。同样,用于更新或更新标识符的客户端软件也不能被修改以引入用于更新或恢复标识符的新限制。
    • 默认情况下,用于管理标识符的软件必须确保用于创建、更新、恢复或删除标识符的所有网络通信都是通过分散的对等机制发送的。 这也是为了确保单个实体(如注册服务商)不能阻止标识符被更新或恢复。

我们推荐DPKI基础设施也努力确保:

  • 至少有一类标识符在正确注册后不会过期。
  • 至少有一类中立注册政策可供所有公众以及希望提供注册服务的任何服务提供商使用。

4.2 DPKI注册机制

注册标识符可能有两种类型的密钥与它们相关联:密钥对用于注册和更新与标识符相关联的数据以及与标识符(子密钥)关联的公钥。

建议委托人使用子密钥对消息进行签名。它们可以直接或间接存储在数据存储中:

  • 直接存储意味着公钥本身直接存储在DPKI数据存储中。对于大多数区块链来说不太可能的,因为一些密钥非常大,大多数区块链不可能存储或非常昂贵。
  • 间接存储意味着指针(例如,URI)与公钥指纹一起存储(或其本身包含)。
  • 标识符和公钥的安全

在DPKI中,标识符通常是查找密钥,映射到只能由具有相应私钥的实体(或多个实体)修改的值。在这样的系统中,可能发生的最坏情况是:

  • 发送查找键的过期值响应查找。
  • 标识符的所有者由于审查而无法更新其值,并且一旦标识符到期,他们就会失去所有权。

这些问题可以通过使用轻客户端(稍后讨论)和审查规避工具来解决。

虽然可能性极低,但也有可能为标识符发送错误的值。例如,如果由工作证明保护的区块链拥有能够压倒诚实节点并在注册点之外扭转历史的对手,则可能发生这种情况。但是系统的所有参与者都能够检测到这种攻击,因为这会导致一个非常长的链的孤立。

这类问题很可能是由于区块链的集中化引起的,是更大的安全问题。

5.1 防止集中化

权力下放的程度对系统的安全起着重要作用。中心化系统容易受到操纵、审查和妥协。它们代表了用户必须信任的SPoF。当中心化系统停机时,所有用户都失效。

虽然区块链可能从分散开始,但不一定会以这种方式结束。这意味着需要一个简单的衡量标准,告诉我们“分散式数据存储”是否仍然是分散的:

你必须敲多少门才能与系统的用户达成妥协?

我们可以粗略定义衡量大多数区块链分散度量的指标,方法是对以下实体进行计数(当整个系统时中心化的,每个实体作为SPoF):

  • “开发者” – 控制区块链行为(源代码)的参与方数量。
  • “节点” – 区块链副本的数量,以完整节点的数衡量。
  • “验证者” – 区块链采矿者/验证者的人数,他们负责创建新块和授权交易。

由于任何一个组织的妥协导致系统的妥协,我们将区块链的分散化定义为:

Decentralization(Blockchain) = MIN(“Devs”, “Nodes”, “Validators”)

更通俗的说,用户可以通过它提供的服务质量(QoS)来推断数据存储的分散。例如,如果用户注意到他们突然无法更新他们的标识符,这可能表明由于集中化而导致的审查。

5.1.1防止中心化的数据存储不可知协议

如果DPKI将特定区块链指定为其“事实上分散的数据存储区”,那么它将会在该区块链上施加集中化压力。更糟糕的是,如果区块链由于对链条缺乏兴趣而被放弃,那么使用事实上的数据存储可能会破坏DPKI。对特定区块链进行编码支持的软件开发人员将不得不花费大量精力重写该软件以迁移到不同的区块链。 同时,可能存在严重的安全问题或QoS问题。

因此,使用不可知协议访问分散数据库是确保整个DPKI运作和下放的基本要求。如果不同的数据存储更好地满足他们的需求,则不可知协议使用户和开发人员能够更轻松地进行迁移。这种可能性的存在创造了一个分散的数据存储市场,相互竞争以满足用户的需求。

5.2 安全访问区块链数据

大多数终端设备由于所需的资源而无法运行完整节点,那么客户如何安全地访问该区块链?

一种解决方案是做一个区块链版本的集合,其中一组“区块链公证人”告诉用户区块链维护的特定对象的状态,并且客户端软件检查一组可信的公证人之间的一致性协议。这条路线可以说是区块链技术的主要目的:消除对可信中介的需求。

幸运的是,还有另一个技术解决方案:轻客户端协议。轻客户端下载较小的区块链部分,足以提供比受信任中介提供的更强的安全保证,而且足够小,可供任何现代设备使用。 附录“轻客户端详细信息”中讨论了轻客户端协议如何工作的详细示例。

对于没有轻客户端的区块链,缺省值应该是基于可信节点的随机抽样的类似于Convergence的一致共识。这些节点都应该看到相同的链,所以如果其中一个节点不同意,则表明有什么不对劲并且应该报告事件。

一般来说,建议采用模块化设计,其中设备可以任意与区块链对话并使用该链可用的最安全的技术。可能没有单一技术提供最大的安全性,在这种情况下,最少数量的技术被结合起来以提供设备维持的最高级别的安全性。

5.3防止审查

最后,DPKI的安全必须解决审查问题:数据存储是否可供最终用户访问。 如果ISP正在审查它,区块链就没用了。

审查制度规避技术,如网状网络,代理和洋葱路由,可以用来绕过区块链网络的审查。

一个独立但相关的问题是对区块链引用的数据进行审查,比如当一个哈希值存储在标识符的值中,而由该哈希值表示的数据存储在别处。在这种情况下,除了在各种不同的存储机制上查找散列之外,还可以使用相同的技术(例如,洋葱路由,代理)[参见IPFS,Blockstore]。

  • 恢复丢失的标识符私钥管理

标识符的强大可靠可以使这些标识符非常有价值。标识符可以用来认证用户到他们房子的门,他们的车等。这些标识符开始代表“王国的钥匙”。 如果这些标识符丢失或受损,那将是灾难性的。 因此,解决这个问题对DPKI的成功至关重要。
6.1两种形式的丢失

由于其重要性,必须通过建立在DPKI之上的任何身份系统来最小化对主密钥的使用。事实上这是身份系统已经采用的方法,如Blockchain ID。不使用主密钥对消息进行签名,而是为每个使用该标识符的新服务创建子密钥。

这意味着有两种类型的密钥可能会丢失或泄露:

  • 主私钥,用于控制与标识符关联的数据。丢失此密钥可能意味着失去对您的在线身份的控制权。
  • 子密钥,它们被链接到标识符并被存储为标识符数据的一部分。

主密钥和子密钥的安全性和恢复属性稍有不同。以下是两种可能性的概述; 对这个话题的全面处理超出了本文的范围,留待未来进行。

6.2 恢复主密钥

将主密钥控制为标识符的人是标识符的主人。

有多种机制可用于在分散系统中恢复主密钥。

6.2.1重组主密钥碎片

通过将主密钥碎片分发给可信实体,委托人可以防止主密钥丢失。 Shamir Secret Sharing和Threshold Signatures是两种可用于生成和重组这些碎片的技术。

如果发生丢失,委托人将向M个实体索要N个主密钥的碎片。N是恢复所需的不同碎片的数量。在收到N个碎片后,主密钥将被成功恢复。

然而,这种技术在主密钥泄露的情况下对保护委托人没有多大作用。

6.2.2防止妥协

妥协的危险来自单一实体拥有任何时间点的主密钥。我们可以通过确保任何单一实体在任何时间点都不拥有主密钥来解决此问题。

例如,我们可以设想一个系统,在注册后,用户选择他们信任的五个实体来保护他们的身份。这些实体可以由可信任的人、组织或甚至设备来代表。虽然他们像权威一样行事,但他们从不强迫任何人,而且总是由委托人自己挑选。

然后主密钥短暂生成,分解成碎片,发送到这些实体,并立即销毁。可以使用阈值签名方案来代替Shamir Secret Sharing,以便主密钥不需要在任何给定设备上完全重新组合。

6.2.3使用智能合约

一些区块链(如以太坊)支持任意计算。在这种情况下,委托人可以建立与其偏执狂水平成正比的恢复机制。

作为一个简单的例子,像Google这样的公司可以通过使用智能合约来更新其价值的名称空间来保护他们对区块链域的控制。智能合约只能在接收到由10个实体中的6个签名的消息时才能够编码,或者遵循任何其他任意逻辑。

6.3恢复和/或撤销子密钥

子密钥泄露或丢失不如主密钥泄露或丢失更严重,因为验证通常使用当前标识符的子密钥集来完成。如果子密钥丢失或被破坏,主密钥可以简单地用于在区块链中安全地生成和替换旧的子密钥。但根据它们的使用方式,旧的子密钥可能仍然需要恢复或撤销。

如前所述,主密钥的重要性意味着通过标识符的子密钥签署的消息来验证标识符,而不是由主密钥签署的消息。但由于这些消息通常与标识符本身相关联,所以它们实际上由主密钥签名(因为主密钥直接与标识符相关联)。 因此,主密钥仍可用于签署和传播撤销一个或多个历史子密钥的消息。

恢复丢失的子密钥可以使用前面描述的分片机制来完成。或者与上述基于分组的恢复方案一样,委托人可以选择将其标识的权限指定给一个组。这个组有能力签署属于标识符的新子密钥,并签名表示旧密钥已被泄密并被撤销的消息。

  • 结论

在本文中,我们讨论了如何通过全球可读的标识符(如网站域)在线管理身份。我们在互联网的两个主要身份管理系统中发现了各种安全和可用性问题:DNS和X.509 PKIX。 我们将这些问题的根源确定为这些系统的中心化,他们阻止这些标识符代表的实体真正控制它们,从而使第三方有危害其安全的可能性。

然后,我们展示了如何通过使用分散式键值数据存储(如区块链)来解决DNS和PKIX的安全性和可用性问题,以便为分散式公钥基础结构(DPKI)创建规范。在描述DPKI的属性时,我们发现DPKI即使在资源受限的移动设备上也能正常工作,并且能够通过保护组织免受私钥丢失或损害来保护标识符的完整性。

我们未来的工作是通过像IETF这样的互联网标准机构为DPKI制定完整的规范。

 

附录:轻客户端

信息类型

轻客户端想要知道什么样的信息?

以下是一些例子

  • 确定特定记录创建或首次出现的时间
  • 查找当前与帐户ID关联的公钥
  • 查找IP地址和当前与域名关联的其他数据
  • 了解密钥的撤销(没有找到替换密钥的特定流程)
  • 确定开发人员为特定软件包发布的最新版本

更通俗的说,我们可以将其分解为三类问题:

  • 证明存在性:证明在T时刻发生了某种事件。
  • 证明不存在:证明在时间T_1和T_2之间没有发生特定事件。
  • 证明状态:证明应用程序的“状态”可能是应用许多事务的复杂“状态转换”规则的结果,在时间T时等于X。

这些大致按照难易程度的顺序排列。 证明存在是最容易的,证明状态是最难的。

安全等级

一般来说,区块链顶部的轻客户端协议可以提供三种安全级别:

  • 最大的安全性:如果轻客户端进行查询,并且任何节点回应该查询的有效答复,则(如果我们可以检测到阻止预留攻击),轻客户端可以立即得到(i)查询的正确答案, 或(ii)答复无效,应予以忽略。
  • 1-of-N信任安全性:如果轻客户端进行查询,并且它被接受为安全假设,即至少有一个诚实的节点在T秒内能够正确响应,那么轻客户端可以在T秒后得到正确答案,不管有多少个离线/故障/拜占庭节点。
  • N/2-of-N 信任安全性:如果轻客户端进行查询,它必须选择一些信任的节点(比如说100),然后从该列表中随机抽样3个左右的节点,并要求响应一致。 只要所有3个节点不共谋,它就会得到正确的答案 如果任何节点处于脱机状态,则可以继续随机搜索联机节点,直到检查到某个节点的上限阈值,并且一旦达到该阈值时发生严重故障并出现错误。

作为这些模型如何应用的例子:假设存在一个有权撤销和替换密钥的单一主密钥(或一组主密钥),考虑“找到与帐户相关联的当前公钥”的简单情况。 假设我们有一个区块链,其中只有交易被放置在Merkle树中。然后,一个轻客户端发送一个请求,要求网络提供一个Merkle证明最近一次交易取代了公钥。 如果客户收到答案,它知道:

  • 有了最大的安全保证,这是过去某个时刻的有效密钥。这是“存在证明”问题。
  • 凭借1-of-N信任安全保证,这仍然是有效的密钥。(理论上可能存在一个更新的替换交易,但100%的合谋或审查可能导致客户不知道它)。这是“不存在证明”问题。

对于需求更复杂的协议(例如,实施复杂的名称注册规则),我们被迫处理更普遍的“证明状态”问题。 如果我们使用仅记录事务的简单区块链,客户端只会以N / 2-N信任安全保证的方式知道答案。但是,如果我们的区块链,状态位于Merkle树中,那么客户可以通过最大的安全保证来学习绝对的事实。

由于不同区块链对Merkle证据的使用程度不同,我们提出的解决方案是开发一种抽象协议,通过该协议可以使用不同的区块链(因为没有单个区块链被100%保证不会有致命缺陷,我们需要一个类似于用于加密算法选择的抽象模型),并根据区块链的功能自动尝试提供最佳安全级别。公证人可以作为支持者,但存在客户端可以安装以支持特定区块链的区块链插件。根据区块链是否支持针对特定类型问题(存在证明,证明状态等)的强大安全保证,这些插件可以智能地进行区块链查询,从而提供尽可能高的安全性。

轻客户端协议

轻客户端协议通常分两个阶段工作。

首先,轻客户端仅下载链的一部分,通常是块头。对于包含元数据的每个块,块头通常包含非常少量的信息(通常为80-600字节),例如(i)工作随机证明; (ii)包含诸如事务的数据的密码散列树的根,例如Merkle树; 和(iii)区块链可能跟踪的应用程序的状态。

其次,客户端使用区块链的基础共识算法(例如检查工作证明或证明签名)来验证块头。之后,客户端将块头视为“可信”。 它应用加密技术,将块头中的数据用作“根散列”,从中可以验证关于存储在区块链中的其余数据的声明。

获取链头

瘦客户机端的首要任务是下载并验证块头。假设一个工作网络连接,这很容易。 例如,在工作证明的情况下,客户端向网络请求尽可能多的块头,网络返回,客户端检查以确保每个块头具有有效的工作证明,然后确定 “最长”的有效块头(其中“最长”表示“代表最累积的工作”)。 存在更高级的使用跳过列表的协议,以至于客户端甚至不需要下载每个块头,尽管对此的深入讨论超出了本文的范围。

这种机制的主要挑战很简单:如果网络连接受到威胁会怎样? 潜在地,互联网服务提供商可以通过审查答复来告诉用户关于官方链的反馈,并告知用户他们自己的分支。 通过工作证明协议,人们可以通过注意到块生产率的降低来统计检测到这一点; 然而,需要更多的研究来确定最佳和最可靠的方法来做到这一点。

Merkle树进行验证

在轻客户端成功接收到一小段“可信”数据后,它必须能够验证关于区块链中其余数据的声明。这依靠Merkle树。 Merkle树是一种散列算法,其中大量“数据块”一次散列几块,然后将所产生的散列放入小组中,并且递归地散列直至该过程生成一个哈希值,称为根。 这个简单的描述显示如下:

这种方法的好处是可以通过Merkle分支来证明树中任何单数据块的成员资格,Merkle分支是树中节点的子集,其值在计算根散列的过程中使用。

仅使用这组节点,轻客户端就可以验证树中特定块是否具有特定的证据。 该方案能够确保抵碰撞; 为了让攻击者欺骗该方案,攻击者需要打破潜在的散列函数。有许多不同种类的Merkle树,包括简单的二叉树和更高级的设计,例如允许有效插入和删除操作的Merkle Patricia树,但基本原理是相同的。

自主主权身份的崛起

翻译自《The Inevitable Rise of Self-Sovereign Identity》

摘要

互联网没有建立标准化的、明确的身份识别方式或组织。网站只提供本地帐户的用户名和密码,这是一直以来的主要解决方案。

随着互联网的扩展,人们每天使用越来越多的服务。这种基于垂直库的方法,用户必须为每个与之交互的站点维护身份,这种方式已经不能维持下去。这不仅仅是个人可用性的灾难,还为黑客创建了大量的数据蜜罐 – 违反这些会影响所有互联网服务的信任。

为了解决这个问题,我们试图在不同的联合模型中连接不同的身份库。但产生了无意的副作用,例如集中控制少数供应商,通过无意的共享增加数据泄露以及引发隐私问题,但实际上并未给予个人真正的控制权。

与此同时,世界各地的组织不得不收集、存储和保护各自独立的个人数据,经济效率低下至临界点。

互联网的下一步发展将是建立一个共同的身份层,允许人们、组织和事物拥有他们自己的主权身份 —一个他们拥有和控制、不能剥夺的数字身份。自主权身份是生态系统的自然演变,其运行速度超过其支持能力。

本文着眼于这一演变过程,以及自主权身份如何能不仅引发新一轮创新浪潮,而且为全世界每个人提供建立便携、安全和可控身份的方法,这种身份本质上是他们自己的。

网络缺失的身份层

微软公司身份首席架构师金卡梅隆表示:“互联网是在没有身份层的情况下创建的。”他的意思是互联网的寻址系统基于识别网络上的物理端点(机器)。 人们不是网络上的端点。因此,互联网无法唯一地识别人。

由于互联网无法识别人,因此网站和应用程序必须完成这项工作。不幸的是,大多数应用程序开发人员只关心自己的需求,这就是为什么用户名和密码如此深深地嵌入网络结构中的原因。 然而,人们普遍承认,除了糟糕的用户体验之外,人们不能也不会使用用户名和密码来保证他们的安全。

缺乏安全、便携、用户可控的身份会带来可怕的后果。这意味着一个人的身份和个人数据只存在于他或她使用的每个特定网站或应用程序的背景中。停止使用网站或应用程序,这个人的数字化存在就没有意义了。用户对其身份和数据的控制必须在逐个应用程序的基础上进行。

超越网站来看,数百万组织获取、存储、管理和保护大量用户数据的全球成本与持有此类数据相关的责任一起增加。 全球数据重复的严重导致的低效率是惊人的。估计仅英国身份保证流程的成本每年超过33亿英镑。如果按人口数量推算,这相当于美国220亿美元。这仅仅是为了初步证明 – 存储、保护,违规和监管的成本更大。

随着用户信任度下降,监管负担也在增加。渗透和破坏的风险每天都在增加,扼杀创新。但迄今为止,还没有可信的替代方案。

缺失身份层带来的影响

随着越来越多的日常生活依赖于数字服务,这种缺失身份层的影响变得越来越严重。

  • 企业必须为其部署的每个平台(实体店,网页,移动应用)开发和管理不同的安全体系结构。
  • CTRL-Shift估计英国身份保证流程的总成本超过33亿英镑。 他们估计,如果人们能够控制自己的身份数据,这可能会降至5亿英镑。
  • 包含敏感和机密信息的每个被盗记录的平均零售成本为165美元。
  • 客服中心通话量的30-40%与密码和账户恢复有关。
  • 美国每分钟有25人成为身份盗窃的受害者,导致2015年1310万消费者损失150亿美元。
  • 由于用户名和密码问题,18%的顾客放弃购物车。
  • 82%的企业与假冒用户斗争,平均有10%的面向网络的组织用户群将是假冒的。

没有身份层,答案是建立一个内部数据库。一个关于客户数据库,无论他们喜欢与否,以及数据是否有相关性。

有些组织比其他组织有更好的数据库,所以复杂的、昂贵的机制已经发展到将数据从一个库传递到另一个库,无论是否经用户同意,并且通常伴随着无意或不需要的数据泄漏。

用户是这种数据库的受害者。由于每个组织花费稀缺资源尝试创建完美的用户注册过程,所有用户都看到的是另一个网站或应用程序它们需要与他们希望使用的最后50个服务中输入的细节相同的细节。 而他们还记得另一个用户名和密码。

用户没有自己的合并数字身份,他们只有几十或几百个分散在不同组织中的碎片,无法有效控制,更新或保护它们。

从用户的角度来看,这种情况已经达到了不可持续的荒谬程度。用户名和密码的不断挑战已成为鸡尾酒会的对话主题。从欺诈者的角度看,这种情况已经达到了不可阻挡的机会水平。

低效率让监管机构站了出来。为了应对将数据从一个库转移到另一个库的趋势,对用户的最大利益使用粘附合同以及经常缺乏明确的知情同意,更严格的监管正在实施。 “欧盟通用数据保护条例”261页是最新的监管条例。其目的在于控制一个行业的过度行为,这个行业被更多数据的承诺所陶醉。直接后果将是为了维持数据控制器和数据处理器的较高成本,增加了身份生态系统中已经很大的成本和效率低。

用户也将首当其冲,因为注册过程在合规性竞赛中进行了修补,出现了尴尬的用户体验。与即将到来的内容相比,极其恼人的欧盟cookie接受法规与此无法相比。

有些事情必须改变。

互联网身份的演进

互联网身份的演变是试图满足三个基本要求的结果:

1.安全 — 必须防止身份信息被无意泄漏;

2.控制 — 身份所有者必须控制谁可以查看、访问他们的数据以及用于什么目的;

3.可移植性 — 用户必须能够在任何他们想要的地方使用他们的身份数据,而不是绑定到单一提供商。

Christopher  Allen在文章“自主权认同之路”中对在线身份进行了清晰的剖析,并对其进化路径进行了规划。他的分析描述了4个发展阶段。

集中

绝大多数互联网身份都是集中的。这意味着它们由单独的实体拥有和控制,例如电子商务网站或社交网络。在其领域内,集中身份识别能够正常工作,但它一直在挣扎着跟上当今用户与之互动的快速增长和各种在线网站和服务的步伐。

最严重的是,因为用户不拥有他们的身份记录,可以在任何时候被剥夺。 以下是主要网站条款和条件:

雅虎可能会在没有通知您的情况下立即取消或限制您访问您的雅虎帐户,以及某些雅虎服务和任何关联的电子邮件地址。

如果您违反本声明的文字或精神,或为我们制造风险或可能的法律风险,我们可以停止向您提供全部或部分Facebook服务。

我们保留在任何时候以任何理由修改或终止本服务或您访问本服务的权利,恕不另行通知,且不对您承担任何责任。[Instagram]

我们有权随时(但无义务)删除或拒绝分发服务中的任何内容,暂停或终止用户,并收回用户名,而不对您承担任何责任。[Twitter]

由于大多数人在网上的唯一身份是集中的,因此删除一个帐户可以有效地清除一个人的在线身份,这些身份可能是花费数年的时间培养并对他们有重大价值,并且无法替代的。

联合

联盟是解决集权问题的一个答案。最简单的情况是,联盟为中央身份提供一定程度的可移植性,例如,用户能够使用某个服务的凭证登录到另一个服务。 在更复杂的层面上,可以允许不同的服务共享有关用户的详细信息。

联盟在大型企业中很常见,单点登录机制允许用户使用一个用户名和密码访问多个独立的内部服务,例如人力资源、工资单等。在消费者互联网中,联盟可以在诸如Facebook登录等服务中看到,其中网站使用户能够使用他们的Facebook凭证创建账户并登录。

高可信度的联盟正在成为一个新的市场。英国政府已将数字身份证明工作外包给了一些身份提供商,他们检查用户的详细信息,如果通过相关测试,则为他们创建一个账户。然后用户可以使用该帐户登录到支持该计划的多个政府服务,称为“GOV.UK验证”。

尽管联盟看似可移植,但仍然存在联合网络中心的身份提供者的权力。事实上,如果该帐户是许多其他第三方服务的关键,那么对将中心化联合帐户删除或受到损害的用户所产生的影响要深远得多。

以用户为中心

Kim Cameron,Reinhard Posch和Kai Rannenberg在2008年的一篇论文中描述了“以用户为中心的身份元系统”。它详细介绍了系统的框架设计,该设计用户控制自己的数据,将数据积累起来,并将其发布给第三方。

在文中作者指出:“用户控制的核心要求是,从声明提供者到依赖方的信息流只在用户请求时发生。” 个人在他们自己的数据存储中填充了他们可以允许其提供给其他组织的信息,并在这样做时保留记录。

以用户为中心的身份最常表现以另一端独立个人数据存储以及另一端的大型社交网络的形式。然而,整个范围仍然依赖用户选择个人身份提供者并同意他们经常单方面的附加合同。

一些现有的以用户为中心的实施方案在将数据从一个库移动到另一个库时也容易受到意外数据泄露的指控,交易用户将其个人数据交换给第三方以提高便利性的意愿。 因为是利润驱动的业务,用户成为买卖产品,损害独立性并限制真正的便携性。

独立的个人数据存储也存在,它们更接近Cameron等人在其2008年论文中阐述的愿景。他们正确地宣传个人控制、许可和同意的价值观,并提供非常有效的用户界面。但问题依然存在,在成熟的个人数据存储生态系统中,依赖方需要连接许多此类提供商才能覆盖广泛的客户群,从而导致复杂耗时的集成,没有规模效应。

自主权

自主权身份是这一演变的最后阶段。它提供了三个必需元素:个人控制、安全性和完整的可移植性。它从上述三个阶段中去除了集中的外部控制。身份所属的个人(或组织)完全拥有、控制和管理他们的身份。从这个意义上来说,个人是他们自己的身份提供者—没有外部方可以声称为他们“提供”身份,因为它本身就是他们的身份。个人的数字化存在与任何单一组织无关。没有人可以剥夺你的自主权身份。

可以把自主权身份当成自身控制的身份交易的数字记录或容器。您可以自己添加更多数据,或请其他人这样做。

您可以在部分或全部时间显示部分或全部内容。您可以记录与他人共享数据的许可,并轻松促进共享。它持续存在并不依赖于任何第三方。在身份交易中对您提出的声明可以自我主张,或由第三方主张,其真实性可以由依赖方独立验证。

在2016年的一篇文章中,Phil Windley将自主权身份描述为“身份认证互联网”,与互联网本身一样,它具有三个优点:没有人拥有它、每个人都可以使用它、任何人都可以改进它。与互联网一样,向自主权身份的转变也是从孤岛思路转向层级思路(图3)。正是因为数据被封闭在孤岛中,传统的身份识别方法一直都与可移植性有关。已经出现了将数据从一个库转移到另一个库的复杂机制和相互竞争的标准,但没有一个获得重大的牵引力。当库持续存在时,个人仍将依赖于拥有和管理其数据的组织。

蓬勃发展的自主权身份的使用引发了后silo世界。每个组织都可以有单一连接到互联网的身份层,并立即从已经存在的所有组织中受益,而不是维护自己独立的用户数据存储,用一套API连接到其他此类孤岛。如果成千上万的新组织加入该网络,则不需要额外的工作就可以从中受益。

自主权身份的崛起

为了创建互联网长期缺失的身份层,需要新的、值得信赖的基础架构,使得身份所有者不仅能够共享身份,而且能够在完全许可情况下共享关于人、组织和事物的属性。

为了使身份真正具有自主权,这种基础设施需置于分散信任的环境中,而不属于任何单一组织甚至小型组织控制的环境。分布式账本技术(DLT)使这成为可能的突破。

它使多个机构、组织和政府能够首次通过形成一个非常像互联网本身的分散式网络一起工作,数据在多个位置复制,以抵御故障和篡改。分布式账本技术已经存在了一段时间,像比特币和以太坊这样的新型DLT已经使其潜力得到了更大的发挥,特别是在分散化和安全性方面。

当与分布式密钥管理和点对点共享加密声明相结合时,DLT最终使自主权身份成为可能。在这个身份层中,发现机制、请求路由、数据交换和记录事件的机制普遍存在,没有单个实体被控制。

为了定义“自主权身份”,Christopher  Allen的自主权身份的十大原则可以归纳为三个部分:

安全性

身份信息必须保持安全

可控性

用户必须控制谁可以查看和访问他们的数据

可移植性

用户必须能够在任何他们想要的地方使用他们的身份数据,而不是绑定到某个提供商

保护 存在 互通
持续存在 持续存在 透明度
最小化 控制 访问
许可

2016年Caribou Digital / Omidyar关于私营部门数字身份的论文中阐述了分散平台的力量,作者描述了以下内容:

“开放,分散的系统使个人能够完全拥有和管理自己的身份,导致”自主权“身份系统的概念。这些系统使用分布式账本和加密技术的组合来创建不可变的身份记录。个人创建一个身份“容器”,允许他们接受任何组织(包括州)在任何组织都可以参与(例如颁发凭证)的网络化生态系统中的属性或凭证。

每个组织都可以根据经过验证或认证的组织来决定是否信任容器中的凭证; 换句话说,抵押公司可以接受由全球领先的银行发行的证书,但不能接受当地银行发行的证书。重要的是,这种模式不需要启动基于状态的凭证(国家凭证可以在以后添加,也可以根本不添加),这消除了应用障碍。”

Consult Hyperion在其2016年关于数字身份市场状态的文章中提到了他们称为“没有IDP”的模型,该模型没有集中式身份提供者(“IDP”)。取而代之的是“由个人控制的公民数字身份”。 承认“技术承诺高度隐私但未经证实”的主要风险,他们继续说:

区块链提升了隐私增强的标准。具体而言,数字身份在区块链中的起点是一个不可关联的安全身份(公私钥对),它只与具有明确用户行为的交易、数字资产或其他数据相关联。对个人可以选择创建的身份数量也没有限制,可能允许用户防止不必要的交易链接。“

在该模型中,担任“身份提供者”的组织仍然扮演着角色 —只是演变为“身份证明者”的角色。换句话说,仍然需要有人进行检查,确定一个人是谁,他们说他们是谁,担任现实世界和数字世界的桥梁。保证标准仍然需要得到满足,依赖方仍需要能够信任这种保证。这种检查的简单性将会改变,大多数人可以简单地授予访问验证数据以满足任何给定标准的权限,以及个人为了拥有数字身份不受任何信任壁垒的影响。

总而言之,如果自主权身份是互联网身份演变的自然结果,那么发布它需要分散信任、可移植性、安全性以及没有单点故障或控制。密码安全的分布式账本技术提供了实现这一目标的机制,为未来的互联网提供身份层。

不只是证据固定:络谱在司法领域的应用探索(理念篇)

日前,最高法司法解释明确通过区块链收集的证据应当确认,引起业内广泛关注。

《最高人民法院关于互联网法院审理案件若干问题的规定》正式实施,该规定第十一条写明,“当事人提交的电子数据,通过电子签名、可信时间戳、哈希值校验、区块链等证据收集、固定和防篡改的技术手段或者通过电子取证存证平台认证,能够证明其真实性的,互联网法院应当确认。”

这就明确了通过区块链固定的电子数据的法律效力,说明我国司法领域对于区块链的态度开放,未来围绕证据固定的区块链应用或将不断出现。

其实,区块链不止能能用于证据固定领域。

中钞区块链技术研究院基于络谱可信登记开放平台,与合作法院落地区块链在破产案件处理中的应用。区块链技术在数据存证、投票管理等重点环节发挥了关键作用。现将司法领域应用的思考分享出来,希望与和您共同探讨。

今天分享的是理念篇。从理念上看,区块链有助于实现司法体质改革目标。

司法是国家司法机关及其司法人员按照法定程序行使法定职权,具体运用法律处理案件的专门工作。十八届三中全会确定了司法体制改革的目标:深化司法体制改革,加快建设公正高效权威的社会主义司法制度,维护人民权益,让人民群众在每一个司法案件中都感受到公平正义。将区块链应用于司法领域将有助于从技术角度实现司法工作的公平正义。

一是区块链和司法都追求公正,是司法应用区块链技术的价值观基础。司法公正是司法的主要目标之一,其内涵即是要在司法工作的过程和结果中体现公平、平等、正当、正义的原则和精神。我国法院院徽用一柱华表支起一架天平来表现公平正直,而区块链用对技术的信任代替对交易对手的信任,即是实现了技术上公正的协议,使技术扮演了一切交易的公正可信第三方的角色。而智能合约是自动执行的数字契约,对公正判定契约执行结果则更为看重。因此公正是司法和区块链的共同追求。

二是司法注重程序正义,是司法领域应用区块链的重要需求。司法注重权力过程的形式性和程序性,程序公正是司法公正的重要体现。我国最高法,最高检多次下达文件或表示以“看得见”的方式实现司法公正,实现阳光司法。而区块链是一个对全网节点透明的网络,所有程序按照既定规则执,行,防止任何人作恶,是符合公开透明的计算范式。利用区块链技术改进现有司法程序,进一步提升司法工作的信息化水平,实现司法的程序公开透明。因此不同于很多经济领域的应用,在一些较高信用的经济主体上,区块链的去信任并无太大应用价值。而司法领域即使做到了公正,因程序正义的要求,也对区块链技术有较高的需求。

三是区块链有助于解决司法工作中的一些特殊问题。如电子证据方面,电子数据证据的不稳定性一直影响着电子证据法律效力。区块链技术是一个不可篡改的数据库,能够实现电子证据的固化,从技术层面提升电子证据的法律效力;如智能合约,形式上与司法审判极为相似,都是基于一定的规则,做出决定或审判,只不过智能合约依据的是代码,而司法审判依据的是法律。智能合约具有高度的客观中立性,在一定程度上具有高效性。从长期来看,对于调节各类民事关系,有着重要价值。

司法体制的改革离不开公共法律服务科技的创新,以科技成果引领智慧司法行政技术装备发展。区块链技术有望提升司法工作信息化水平,提升工作效率的同时,提升程序正义的水平,符合司法体制改革的目标要求,因此有着独特的应用意义。

(未完待续)

络谱平台九月初发布新版本

九月初,络谱平台发布新版本,v1.7.2,本次更新后,络谱平台形成完整的异构多链平台。主要功能更新包含以下内容:

合作方控制台

新增数据托管服务统一入口,申请服务更便捷;

新增存证合约黑白名单模式显示,以及可查询合作方写入权限,业务动态,尽在掌握;

区块链浏览器

支持多链切换,不用记忆多个URL;

支持按存证项目关键词查询存证;

中间件

增加存证记录写入权限查询接口,便于查询用户是否有某个存证合约的写入权限;

除上述更新外,本次更新也在文档中心增加了历史版本说明,帮助用户了解每个版本的主要变化。