哈希游戏- 哈希游戏平台- 哈希游戏官方网站所谓分布式是指区块链由多个独立的主体参与,每个主体形成一个可以发布或接收数据的节点,所有节点共同形成一个信息传输网络,而数据记录被网络上的所有节点一致地接收,并在区块链上保存。而区块链的数据库功能的实现机制,就是通过“区块”和“链”来达到:数据通过密码学方法产生数据区块进行存储,把区块通过一定规则按照时间顺序链在一起。区块链的实现所依靠的主要技术是数字签名、时间戳技术(这两者的本质是前文所述的哈希算法、非对称算法和公钥基础设施)和共识算法(共识算法的机制有多种可行方案,由于不影响本文的讨论,因此不作赘述)。
简单来说,区块链存证的流程是:发送数据信息的节点将数据用哈希算法生成哈希并通过私钥加密后向全网广播;接收信息的节点对收到的数据信息进行检验,检验通过后,数据记录被纳入一个区块中;全网所有接收节点对该区块执行共识算法;通过共识算法,该区块被正式纳入该网络的区块链中存储,即全网的所有节点均表示接受该区块,将该区块视为全网区块链的最新区块,后续制造的区块将以该区块链为基础继续延长。全网的所有节点始终视最长的区块链为正确的链,并持续以此为基础验证和延长它。
因此,可以认为区块链的安全性主要依靠节点丰富性和随着时间推移累积的大数量区块来实现。如果这两点无法满足,区块链的安全性无法得到保证,其存储的数据真实性也就无从谈起。此外,区块链只意味着被输入到区块链中的信息被诚实地记录并储存,这些来自区块链系统之外的信息,在输入区块链之前是否可信则不能由区块链系统保证。比如,电子合同双方先完成了合同的沟通、交换、签署、认证环节,随后再利用区块链记录并存储,那么这些先前环节留下的记录是否真实、完整,还需要进一步证明。
目前市面上提供区块链存证服务的第三方电子合同平台所使用的区块链一般是联盟区块链,有的第三方平台纳入法院等主体作为节点,以避免共识篡改的可能性,增加证据的可信度。这一方法是通过纳入可信度高的节点参与信息共识验证,杜绝共识篡改的可能性来保证区块链的可信度。但私有区块链纳入这类节点在实践中有一定难度且成本较高。因此实践中可以考虑成为第三方电子合同平台的用户,接受其建立的区块链存证的相关服务,加入已经包含了司法机构等具有公信力的机构的联盟区块链。
实践中,第三方平台介入缔约过程(电子签名身份认证、合同订立过程中的电子文件交换、电子合同的签署、时间戳认证)的时间点很可能不同。此外,由于各个第三方平台的运营模式不同,对电子证据固定的时间点可能在证据形成的同时,也可能在证据形成之后。如果缔约人在第三方平台介入之前自行完成了例如电子签名认证等环节,或是第三方平台不提供实时固定证据的服务,而是在缔约人已经形成证据后,再传输给第三方平台进行固定、保存,那么缔约人必须对这些证据的来源和证据如何形成、第三方平台固定前如何存储、如何传输给第三方平台向法院作出说明。
另外,由第三方平台固定的证据,附加了一层技术保障,将电子证据置于第三方及其技术的保障之下。市面上大多数的第三方平台都采取了Hash算法、非对称算法、密码传输技术、分布式存储、与国家法定时间源绑定、与CA合作获得经认证的数字签名、区块链存证等技术,并遵循相关技术标准。上述技术目前为业界公认具有可靠性,能够保证电子证据自固定之后的完整性,保证所固定的电子证据自取证之日起至提交法庭期间保持完整、不被篡改、未被损毁,且能够说明取证时间。
市面上大多数第三方平台提供的是平台型SaaS服务(Software as a Service,软件即服务,即厂商将应用软件统一部署在自己的服务器上,用户根据自己实际需求,通过互联网向厂商定购所需服务,而无需自行维护运营软件)。SaaS模式下的数据安全问题主要是3个问题:(i)SaaS平台的数据丢失不可还原;(ii)SaaS平台的数据被第三方以网络侵入等方式非法获取;(iii)SaaS平台恶意泄露、篡改用户数据。
哈希算法是指任何能够将任意大小的数据不可逆地转化为固定字节的数字摘要(hash value,或称哈希)并输出,并且哈希与数据原文一一对应的算法。数据电文的签名方/发送方使用哈希算法对原文生成一个哈希(hash value),然后使用电子签名系统的私钥(private key)对该哈希加密,生成数字签名,随后将该原文和数字签名发送给接收方;接收方使用一个与私钥不同但与私钥唯一对应的公钥(public key)解密数字签名,得出哈希;接收方随后对原文使用同样的哈希算法生成一个新的哈希,将2个哈希比对,如果相同,则数据确由发送方产生、且在传输过成功没有被篡改,数据传输成功。(参见图1)
发送方能够进行数字签名的前提,是发送方掌握着一套非对称秘钥(相互关联的私钥和公钥)。根据《电子签名法》等相关法律的规定[10],发送方通常先向具有资质的电子签名认证机构申请电子证书(digital certificate),该证书包含了发送方的身份信息和公钥。每当发送方对某份数据电文签名,该认证机构将确认签名为发送方所谓并向接收方告知用于核验解密的公钥。公钥基础设施就是支持这一套电子认证机制的以电子签名认证机构为中心搭建的包括硬件、软件、人员和规范的体系,用于实现和管理密钥和证书的产生、管理、存储、分发和作废。
为发送方签发电子证书认证的电子签名认证机构必须具有相关资质:必须符合《电子签名法》、《商用密码管理条例》、《计算机信息系统安全保护条例》等法律,至少拥有《商用密码产品生产定点单位证书》、《商用密码产品销售许可证》和《商用密码产品型号证书》。最重要的,只有经过我国工信部许可的机构才能从事第三方电子认证服务。因此,如果企业选择自建电子合同订立系统,所使用的电子签名必须经有工信部资质许可的电子认证机构签发电子证书。
需要对特定数据电文进行时间戳认证的用户使用哈希算法将数据原文生成一个哈希,然后将该哈希发送给第三方时间戳服务机构。自此之后,任何对该数据电文的修改都必须和该第三方机构重新沟通。第三方机构将收到的哈希和其他信息,包括该机构的权威时间下的哈希接收时间,结合后用该机构的私钥加密,产生一个时间戳通证(timestamp token)。随后,第三方机构将时间戳通证发回给用户。如果此后数据电文的接收方需要验证文件是否经过篡改(准确来说,是验证从第三方机构接收该数据后,数据是否被篡改),该接收方需要首先使用哈希算法将其接收的数据电文生成一个新的哈希,然后使用第三方机构的公钥解密时间戳通证、获得其中的哈希,最后将两份哈希比对,如果相同,则说明其所接收的数据电文是自时间戳认证以来未经篡改的。
实践中,企业订立电子合同涉及“电子合同订立”和“电子合同信息存储”两个环节,对于潜在纠纷中的举证问题,后者的重要性不可忽略。值得注意的是,《意见稿》规定了“隔离原则”[11]:“电子合同订立系统设立人是合同缔约的一方当事人时,该设立人不得同时作为第三方存储该电子合同。”因此,如果企业选择自建电子合同订立系统,应当注意纳入第三方完成电子合同的存储。该设计背后的含义应该不是担心由防篡改的电子合同被一方篡改,而是担心缔约一方因道德风险诱发的物理毁损电文数据的载体。