【全文】
2018 年 9 月 7 日,最高院发布《最高人民法院关于互联网法院审理案件若干问题的规定》,第 11 条首次规定了区块链证据。2021 年 1 月 21 日,最高院发布《关于人民法院在线办理案件若干问题的规定(征求意见稿)》,其中第 14 条至第 17 条,对区块链证据做了更细致的探索。国内一些法院,也先后在审判实践中认可过区块链证据。
区块链证据属于电子证据大类,因证据数据全部或部分存储在某个区块链上,因此称为区块链证据。基于区块链不断发展的技术特征,这种证据具有非常广泛的应用前景,相信在未来,区块链证据会非常普遍。
(一)任何区块链,无论比特币、以太坊还是其他区块链,系统的核心是一个数据库。
从技术视角看,此数据库呈现链式结构。数据库中记载着 Token 交易记录和应用信息,Token 又称为令牌、凭证、通证、代币、虚拟币,例如比特币就是比特币区块链的 Token,因此该数据库也被称为“账簿”。同时,区块链创造者们还开发了一组程序专门管理维护这个数据库。于是,这个“数据库”以及“管理该数据库的一组程序”一起合称为“区块链系统”,也简称为“区块链”。
如果将区块链比作一辆火车,那么车厢内装载的“货物”,就是虚拟币交易记录以及应用信息。与火车不同的是,区块链这辆火车一旦装载了“货物”,就永远不会将“货物”卸下,新的交易记录和应用信息产生时,区块链会自动生成“新车厢”去装载这些新交易记录,所以整个区块链会不断增长下去。
(二)区块链具有“去中心化”、以及“不可篡改”的特征。
在日常生活中,大多数信息系统是“中心化”的。例如,在银行信息系统中,有且只有一个数据库(不考虑备份数据库,下文称为账簿),记着所有储户的资金余额和交易记录。
这个账簿仅为银行拥有,任何储户都没有账簿的副本。如果该账簿被毁损、篡改且无法恢复,储户就会丢失存款余额和交易记录。
区块链是“去中心化”的。区块链的每个客户端,也称为节点,都会从区块链获取一份账簿副本,并不断更新,因此,每个节点都拥有相同的、完整的、准确的、最新的账簿副本。
这相当于,每个银行储户都有一份和银行一模一样的账簿。因此整个区块链不存在“中心”,每个节点都是“中心”,是“去中心化”的。
区块链是“不可篡改”的。如果某个节点,修改自己的那一份账簿副本,意图为自己增加虚拟币余额,或者修改应用信息,意图达到其他目的,这些行为都是没有用的。
因为,其他每个节点都拥有完整、独立、准确、最新的账簿副本,它们会借助自己的账簿副本,发现这种篡改,然后会广播通知其他节点“某个节点是个骗子,它篡改了它自己的账簿,大家不要相信它的数据”,最终整个区块链都会不信任这个节点,从而能够杜绝篡改。
在理论上,除非整个区块链系统的超过 51% 的节点都被统一控制,才有可能成功篡改数据,但在现实中,对于成熟稳健的区块链系统来说,其节点数目极其庞大,能被篡改的概率非常小。
一份极简版的区块链证据,制作过程可以很简单:“证据制作人首先准备好原始电子证据,然后计算出该电子证据的哈希值,然后将该哈希值传输到某一个适格的区块链上即可。”
原始电子证据仍然由证据制作人保存,其哈希值由区块链保存。质证时,从区块链取出哈希值,验证原始电子证据是否被篡改过。
例如,某个人写了一本书,书稿的文件名是 abc.docx,他用哈希软件对这个文件进行哈希计算,得到一个哈希值,然后将这个哈希值上传到某个适格的区块链上,而作为原始证据的书稿文件 abc.docx,仍然保存在作者的电脑中或其他存储介质中。
这个哈希值相当于书稿文件 abc.docx 的数字指纹,如果修改了 abc.docx 的内容,哪怕仅仅修改一个字,其哈希值就会改变。例如将“ ABCDEFGHIJ ”的大写 A 改成小写 a——“ aBCDEFGHIJ ”,哈希值也会变化(见下图)。。
将该哈希值上传到某个合格的区块链后,理论上,这个哈希值会永久存储在这个区块链上(除非整个区块链系统消失、毁损),而且区块链能够自发保障这个哈希值不被篡改。
诉讼或仲裁时,对提交的原始电子证据 abc.docx 进行哈希计算,获得一个哈希值,然后和以前存证到区块链的哈希值对比,如果两个哈希值相同,则能证明原始电子证据,在区块链存证之日之后没有被篡改过。
如果两个哈希值不同,则证明原始电子证据,在区块链存证之日之后被篡改过。
(一)应核实整个区块链系统自身是否可靠。存储在某一个区块链上的证据,其证据真实性,依赖于区块链系统自身的可靠性,并不是任何一个区块链都可以用于证据存证。
一份保存在区块链上的证据,之所以能够产生证明效力,依赖于一个前提,就是这个区块链系统具备“不可篡改性”,如果已经失去“不可篡改性”,那么这个区块链系统上存储的证据当然也就不可信了。
通常,任何数据一旦保存至某一个合格的区块链中,就无法篡改,但有几种例外情况,质证时,可以提出质疑。
1.区块链系统的技术原理决定,如果超过 51% 的节点被统一控制,区块链就会失去“不可篡改性”,区块链上存储的数据将不可信。
任何一个区块链系统,在其早期发展阶段,节点数很少,而且大部分节点被统一管理、维护、测试、修正,51% 的节点很容易被统一控制,因此,在某一个区块链诞生初期形成的存证,其效力值得质疑。
同样道理,如果某一个区块链,遭遇了某种破坏事件,致使其位于互联网上的大部分节点被毁,节点数目骤降,那么存储在该区块链上的所有存证效力都将不可信。
即使后来节点数目逐渐增加恢复,但是,在破坏事件发生日之前形成的存证,仍然不可信。因为,根据区块链的技术机制,新增节点都是从旧幸存节点复制区块链数据,而这些旧幸存节点的数据已经是不可信数据了。
如果某一个区块链遭受了大范围的针对性攻击,比如专门的病毒、木马等等,且波及到很多节点。那么,这个事件是一个质疑区块链存证效力的理由。
2.如果某一个区块链是私有链,也叫私链,则意味着该区块链的大部分节点,大概率被控制在少数人或组织中,其存储的区块链证据的效力,值得质疑。
私有链的最显著特点是,普通公众无法自由加入。另一个可能的特点是,普通公众基本没听过这个区块链的名称。
与之相对的是公有链,也叫公链,比如比特币、以太坊,这些区块链都可以自由加入,任何人下载一个该区块链的客户端软件,然后连接互联网,就可以加入到区块链,成为该区块链的一个新节点,公有链无法拒绝任何人的加入,也无法将任何节点驱逐出区块链。
私有链上的存证,原则上不可信。除非这个私有链有法定的存证效力,也就是说,除非法律明文规定,或有权机关明文规定,明确认可了某些机构管理的私有链。或者有其他补强证据证明,这个私有链像公有链一样可靠。
(二)哪些区块链比较可靠呢?或者说,如果要制作一份区块链证据,应当选择哪些区块链呢?最理想的方法是,对候选区块链实施技术分析,然后再做出选择判断,但这很不现实,除非律师、法务精通区块链的开发技术。为此,本文给出一种简单、粗暴、但比较有效的选择方法,这些方法不需要技术判断。
对于公有链。证据制作者或者质证方,去观察备选区块链的 token,了解它们是否在世界范围内被广泛交易,如果被广泛交易,该区块链比较可信。token 的交易价格越高,这个区块链通常越可信。
Token 又称为令牌、凭证、通证、代币、虚拟币。例如,比特币是比特币区块链的 token、以太币是以太坊区块链的 token。如果某一个区块链的 token,在世界范围内被广泛交易,这意味着在互联网中,存在着数量庞大的不受统一控制的自由节点。
这些自由节点,基于区块链的技术原理,能够客观的自发的保障这个区块链的“不可篡改性”。目前来说,比特币区块链、以太坊区块链都还是比较可信的。(特别提示:根据我国相关法律法规,虚拟币交易不受法律保护,且很容易触犯法律,违法风险极高!)
对于私有链。必须被法律明确认可,或者被有权机关明确认可,才能用于存证区块链证据。这种区块链证据的效力,不是来源于区块链自身的技术特性,而是来源于法律赋予的效力。从技术本质看,它可能已经不算是严格意义上区块链证据,它实质上是一种被特别认可的电子证据。据了解,国内一些法院,已经开始试点建设用于存证的区块链系统。
(三)核实区块链存证是否被正确下载、以及比对。援引前文案例,诉讼时,相对方通常至少要提交 3 个基本证据:“书稿文件 abc.docx、书稿文件 abc.docx 的哈希值、以前存证在区块链上的哈希值”。
在质证时会进行比对,以证明其证据的有效性。有时候,可能会提交额外 2 份证据,分别是:“计算哈希值的软件、读取区块链存证的软件”。
对于第 1、2 份基本证据,即“书稿文件 abc.docx、书稿文件 abc.docx 的哈希值”,质证方不应使用对方使用的哈希计算软件,应当从互联网上找到不同的哈希计算软件(互联网上有很多免费软件、网站),应当亲自对书稿文件 abc.docx 进行计算,核实对方提交的哈希值是否正确。
对于第 3 份基本证据,即“以前存储在区块链上的哈希值”,同样道理,不应使用对方使用的“读取区块链存证的软件”,质证方应当从互联网上找一个不同的“读取区块链数据的软件”(互联网上有很多免费软件、网站),亲自从区块链中下载存证,验证对方提交的“存证在区块上的哈希值”,是否和自己亲自下载的一致。
因为,软件的内部运行机制,对于使用者来说是黑盒。通常,质证方根本无法知道,对方提交的软件,算法是否正确,计算是否有错误,甚至,该软件是不是根本就在伪造数据。所以,原则上,质证方应当保持职业怀疑,应当如上文所述,不使用对方的软件,应当亲自验证。
(四)厘清区块链证据的证明范围。援引前文案例。假设发生了著作权诉讼,当事人声称自己是某书的真正作者,起诉了质证方的当事人,认为侵犯了其著作权。
当事人提交了 3 份证据。第 1 份证据是书稿文件“ abc.docx ”,该 word 文档的属性显示“?创建时间是 2014? 年 ?4 ?月 ?9? 日,??20:41:24”。第 2 份证据是,诉讼时计算出的书稿文件“ abc.docx ”的哈希值。第 3 份证据是以前存证在区块链的哈希值,时间戳显示是“ 2016 ?年 ?5 ?月? 9 ?日,?11:41:24”。
假设,质证方核对了书稿文件“ abc.docx ”,也计算了该文档的哈希值,也从区块链取出存证的哈希值进行比对。假设这些都没有问题,是否可以证明对方当事人自 2014 ?年 ?4 ?月 ?9 ?日就开始创作书稿了?
事实上,当然不能证明。案例中的区块链证据,只能证明书稿文件“ abc.docx ”,在区块链存证之日(即 2016? 年? 5 ?月 ?9 ?日)已经存在,且存证之后没有修改过,也就是说只能证明,书稿文件“ abc.docx ”形成的时期不晚于 2016 ?年 ?5 ?月 ?9 ?日,但不能够证明“ abc.docx ”在 2014 ?年 ?4 ?月 ?9 ?日就已经形成了。
案例中的区块链证据,并不能证明原始证据自身的真实性,即书稿文件“ abc.docx ”这个原始证据是否真实,因为 word 文件的创建时间是很容易伪造的。即使书稿文件“ abc.docx ”的创建时间是伪造的,只要将书稿文件“ abc.docx ”的哈希值存证到区块链上,只要存证后不再修改“ abc.docx ”,那么它的哈希值自然会和区块链存证的哈希值相同。
因此,质证时,要注意区块链证据的证明范围边界,厘清区块链证据和其他关联证据之间的逻辑关系,这一点有时候可能会被忽略。
区块链系统类似于一种信息基础设施,目前仍然在持续不断地迭代演进,已经从 1.0 时代走进了 2.0 时代,区块链证据的应用场景也将更加的多样化,所以本文无法面面俱到。如果读者朋友对区块链证据、计算机信息技术有什么疑问或想法,欢迎添加我的微信,我会尽力解答,与大家共同交流、合作。