发布时间:2025-01-30 19:35:17 点击量:
HASH GAME - Online Skill Game GET 300
实施方式的篡改验证方法包括以下步骤:根据多个其它区块的其它区块哈希和固有信息来计算区块哈希,并生成连接了包括所计算出的区块哈希的区块的区块链;当接收到所述区块链中包括的验证区块的验证请求时,对所述其它区块哈希生成证书,该证书被用于重新计算区块的重新计算中,该重新计算区块包括依赖于所述验证区块的区块哈希的区块哈希;以及当接收到所述证书时,使用所述证书来重新计算所述重新计算区块的区块哈希,从而验证所述验证区块。
(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 CN 114365132 A (43)申请公布日 2022.04.15 (21)申请号 4.7 (51)Int.Cl. G06F 21/64 (2006.01) (22)申请日 2019.10.21 H04L 9/32 (2006.01) (85)PCT国际申请进入国家阶段日 2022.03.10 (86)PCT国际申请的申请数据 PCT/JP2019/041396 2019.10.21 (87)PCT国际申请的公布数据 WO2021/079416 JA 2021.04.29 (71)申请人 株式会社东芝 地址 日本东京都 申请人 东芝数字解决方案株式会社 (72)发明人 远藤浩太郎 (74)专利代理机构 永新专利商标代理有限公司 72002 代理人 刘英华 权利要求书2页 说明书8页 附图12页 (54)发明名称 篡改验证方法以及篡改验证系统 (57)摘要 实施方式的篡改验证方法包括以下步骤:根 据多个其它区块的其它区块哈希和固有信息来 计算区块哈希,并生成连接了包括所计算出的区 块哈希的区块的区块链;当接收到所述区块链中 包括的验证区块的验证请求时,对所述其它区块 哈希生成证书,该证书被用于重新计算区块的重 新计算中,该重新计算区块包括依赖于所述验证 区块的区块哈希的区块哈希;以及当接收到所述 证书时,使用所述证书来重新计算所述重新计算 区块的区块哈希,从而验证所述验证区块。 A 2 3 1 5 6 3 4 1 1 N C CN 114365132 A 权利要求书 1/2页 1.一种篡改验证方法,包括如下步骤: 根据多个其它区块的其它区块哈希和固有信息来计算区块哈希,并生成连接了包括所 计算出的区块哈希的区块的区块链; 当接收到所述区块链中包括的验证区块的验证请求时,对所述其它区块哈希生成证 书,该证书被用于重新计算区块的重新计算中,该重新计算区块包括依赖于所述验证区块 的区块哈希的区块哈希;以及 当接收到所述证书时,使用所述证书来重新计算所述重新计算区块的区块哈希,从而 验证所述验证区块。 2.根据权利要求1所述的篡改验证方法,其中, 所述证书包括所述重新计算区块的固有信息、所述重新计算区块的区块哈希以及在所 述重新计算区块的区块哈希的计算中使用的所述其它区块哈希。 3.根据权利要求1所述的篡改验证方法,其中, 所述多个其它区块的其它区块哈希由基于被连接的区块的区块编号而决定的其它区 块编号的集合来确定。 4.根据权利要求3所述的篡改验证方法,其中, n 在将BN设为区块编号、将N设为自然数整体的集合、并将n设为所述BN被2 整除但不被2 (n+1)整除的整数的情况下,所述其他区块编号的集合以如下方式定义: 在BN是奇数时,S(BN)={BN-1}∩N; m 在BN是偶数时,S(BN)={BN-2 m是满足0≤m≤n的整数}∩N。 5.根据权利要求3所述的篡改验证方法,其中, n 在将BN设为区块编号、将N设为自然数整体的集合、并将n设为所述BN被2 整除但不被2 (n+1)整除的整数的情况下,所述其他区块编号的集合以如下方式定义: 在BN是奇数时,S(BN)={BN-1}∩N; n 在BN是偶数时,S(BN)={BN-1,BN-2}∩N。 6.根据权利要求3所述的篡改验证方法,其中, n (n 在将BN设为区块编号、将N设为自然数整体的集合、将n设为所述BN被2整除但不被2 +1)整除的整数、设为p=ceil(sqrt(n))、并设为q=floor(sqrt(sqrt(n))的情况下,所述其 他区块编号的集合以如下方式定义: 在BN是奇数时,S(BN)={BN-1}∩N; 在n≤4时,S(BN)={BN n -1,BN-2}∩N; n‑p n‑q n 在n≥5时,S(BN)={BN-1,BN-2 ,BN-2 ,BN-2}∩N, 其中,ceil(x)为x以上的最小整数,sqrt(x)为x的正的平方根,floor(x)为不超过x的 最大的整数。 7.根据权利要求1所述的篡改验证方法,其中, 所述固有信息包括基于交易记录的信息以及区块编号中的至少一方。 8.根据权利要求7所述的篡改验证方法,其中, 基于所述交易记录的信息是所述交易记录或所述交易记录的哈希值。 9.一种篡改验证系统,具备: 生成部,根据多个其它区块的其它区块哈希和固有信息来计算区块哈希,并生成连接 2 2 CN 114365132 A 权利要求书 2/2页 了包括所计算出的区块哈希的区块的区块链; 第一验证部,当接收到所述区块链中包括的验证区块的验证请求时,对所述其它区块 哈希生成证书,该证书被用于重新计算区块的重新计算中,该重新计算区块包括依赖于所 述验证区块的区块哈希的区块哈希;以及 第二验证部,当接收到所述证书时,使用所述证书来重新计算所述重新计算区块的区 块哈希,从而验证所述验证区块。 3 3 CN 114365132 A 说明书 1/8页 篡改验证方法以及篡改验证系统 技术领域 [0001] 本发明的实施方式涉及篡改验证方法以及篡改验证系统。 背景技术 [0002] 以比特币(Bitcoin)为代表的加密货币已实用化。加密货币的汇款记录被保管在 称为区块链(block chain)的电子帐簿中。在比特币的情况下,通过采用被称为工作量证明 (ProofofWork)的方式,区块链的篡改变得困难。工作量证明是比特币的安全性的基础。另 一方面,作为区块链的应用,开始将不限于汇款的一般的交易(Transaction) 记录在电子 帐簿中。另外,被称为智能合约(smart contrast)的电子合同技术也作为区块链被实用化。 在区块链的应用中,通过不使用工作量证明的一般的共识算法(consensus algorithm)来 维持多个节点 (peer)之间的区块链的一致性的方式也被实用化。这样的区块链被称为许 可型(Permissioned)区块链。 [0003] 现有技术文献 [0004] 专利文献 [0005] 专利文献1:日本特开2017-207979号公报 发明内容 [0006] 发明要解决的技术问题 [0007] 但是,在现有技术中,难以进一步缩短区块链的验证时间。 [0008] 用于解决技术问题的手段 [0009] 实施方式的篡改验证方法包括以下步骤:根据多个其它区块的其它区块哈希和固 有信息来计算区块哈希,并生成连接了包括所计算出的区块哈希的区块的区块链;当接收 到所述区块链中包括的验证区块的验证请求时,对所述其它区块哈希生成证书,该证书被 用于重新计算区块的重新计算中,该重新计算区块包括依赖于所述验证区块的区块哈希的 区块哈希;以及当接收到所述证书时,使用所述证书来重新计算所述重新计算区块的区块 哈希,从而验证所述验证区块。 附图说明 [0010] 图1是表示第一实施方式的篡改验证系统的结构的例子的图。 [0011] 图2是表示第一实施方式的区块链的数据结构的例子的图。 [0012] 图3是表示第一实施方式的区块#24的例子的图。 [0013] 图4是表示第一实施方式的区块链的连接例的图。 [0014] 图5是用于说明第一实施方式的篡改验证方法的例子的图。 [0015] 图6A是表示第一实施方式的篡改验证方法的例子的流程图。 [0016] 图6B是表示第一实施方式的篡改验证方法的例子的流程图。 [0017] 图7是表示第二实施方式的区块链的连接例的图。 4 4 CN 114365132 A 说明书 2/8页 [0018] 图8A是表示第二实施方式的篡改验证方法的例子的流程图。 [0019] 图8B是表示第二实施方式的篡改验证方法的例子的流程图。 [0020] 图9A是表示第五实施方式的篡改验证方法的例子的流程图。 [0021] 图9B是表示第五实施方式的篡改验证方法的例子的流程图。 [0022] 图10是表示第一至第五实施方式的节点以及验证设备的硬件结构的例子的图。 具体实施方式 [0023] 下面,参照附图对篡改验证方法以及篡改验证系统的实施方式进行详细说明。 [0024] 在区块链中,在计算某个区块的区块哈希时,读取并计算紧前面的区块的区块哈 希。由此,哈希的计算连接成链状,作为整体能够得到抗窜改性。例如,在过去的区块的内容 被篡改的情况下,从该区块开始依次反复计算区块哈希值,如果比较与区块链中保存的值 是否一致,则在到达未被篡改的区块时发现不匹配,能够检测篡改。 [0025] 但是,在许可型区块链中,与工作量证明方式相比,由于重新计算区块哈希所需的 时间比较短,因此篡改非常长的区块串的区块哈希是比较容易的。 [0026] 为了检测这种大规模的区块哈希的篡改,必须沿着该长区块串重新计算哈希值, 存在验证花费时间的问题。 [0027] 另外,为了在外部证明过去的区块没有被篡改,需要将一系列的区块哈希值保存 为证书,但是还存在该证书的数据尺寸变大的问题。 [0028] (第一实施方式) [0029] 首先,对第一实施方式的篡改验证系统的结构的例子进行说明。 [0030] [结构的例子] [0031] 图1是表示第一实施方式的篡改验证系统100的结构的例子的图。第一实施方式的 篡改验证系统100具备节点10以及验证装置20。节点10具有生成部11、存储部12以及第一验 证部13。验证装置20 具备第二验证部21。 [0032] 节点10是保管区块链的服务器装置。一般,节点10有多个,在全部的节点10中保管 相同内容的区块链。 [0033] 生成部11生成区块链。区块链是包括一个以上的交易记录的电子帐簿。在第一实 施方式中,作为区块链的结构,假设典型的bitcoin 型。即,按时间序列汇总多个(也可以是 0个)交易记录(transaction 记录),构成区块。对各个区块以时间序列的升序赋予区块编 号。 [0034] 区块哈希是根据包括区块所包括的多个交易记录在内的数据串计算出的哈希值。 哈希值是通过难以逆运算且哈希冲突的概率低的哈希函数计算出的值。区块哈希与区块一 起被记录在区块链中。由于递归地计算区块哈希,所以作为区块哈希的计算对象的交易记 录被认为是该区块以前的全部交易记录。因此,例如,在过去的交易记录被篡改的情况下, 该区块以后的区块哈希全部变化。 [0035] 可以根据交易记录而理论上重新计算区块哈希,但是为了处理效率化的目的,按 每个区块与交易记录一起存储在存储部12中。 [0036] 第一实施方式的区块链可以是基于工作量证明方式的区块链,也可以是许可型的 区块链。 5 5 CN 114365132 A 说明书 3/8页 [0037] 图2是表示第一实施方式的区块链的数据结构的例子的图。第一实施方式的区块 链的数据结构不同于现有技术的区块链的数据结构。在第一实施方式的区块链中包括的区 块50n的区块哈希51n的计算中,不仅使用前一个区块50n-1的区块哈希51n-1,而且使用 不限于前一个区块的多个其它区块的区块哈希(其它区块哈希)。在图2 的例子中,在区块 哈希51n的计算中,使用多个其他区块哈希(前一区块哈希51n-1,…,之前第M个区块哈希 51n-M,…,之前第N 个区块哈希51n-N)、区块编号52n以及交易记录53n。 [0038] 多个其他区块哈希由基于被连接的区块的区块编号而决定的其他区块编号的集 合来确定。多个其它区块哈希例如通过如下定义的集合S(BN)中包括的区块编号来确定。 [0039] 在BN是奇数时,S(BN)={BN-1}∩N [0040] 在BN是被2整除但不被4整除的编号时, [0041] S(BN)={BN-1,BN-2}∩N [0042] 在BN是被4整除但不被8整除的编号时, [0043] S(BN)={BN-1,BN-2,BN-4}∩N [0044] 通常,在 n (n+1) BN是偶数,BN是被2 整除但不被2 编号时, [0045] S(BN)={BN m -2 m是满足0≤m≤n的整数}∩N [0046] 在此,BN表示区块编号,N表示自然数整体的集合。区块编号 BN的区块的区块哈希 根据由各区块编号b∈S(BN)确定的其他区块哈希以及包括在区块编号BN的区块中的特有 信息来计算。 [0047] 返回图1,生成部11根据多个其它区块的其它区块哈希和固有信息来计算区块哈 希,并生成连接了包括所计算出的区块哈希的区块的区块链。 [0048] 固有信息包括基于交易记录的信息以及区块编号BN中的至少一个。另外,在固有 信息中,为了增强耐窜改性,还可以包括随机的字符串等。 [0049] 基于交易记录的信息可以是交易记录本身,也可以是交易记录的哈希值。在使用 交易记录的哈希值来计算区块哈希的情况下,在重新计算区块哈希时,不需要参照原始交 易的内容(交易记录),具有提高非公开性的效果。关于使用交易记录的哈希值来计算区块 哈希的情况,在后述的第四实施方式中说明。 [0050] 存储部12存储由生成部11生成(更新)的区块链。 [0051] 第一验证部13当接收到区块链中包括的验证区块的验证请求时,对用于哈希计算 的其它区块哈希生成证书,该证书用于重新计算区块的重新计算,该重新计算区块包括依 赖于验证区块的区块哈希的区块哈希。另外,向节点10发送验证请求的装置可以是任意的。 第一验证部13向验证装置20发送证书。 [0052] 证书例如包括重新计算区块的固有信息、重新计算区块的区块哈希、在重新计算 区块的区块哈希的计算中使用的其他区块哈希。 [0053] 验证装置20的第二验证部21从节点10接收证书后,使用证书来重新计算重新计算 区块的区块哈希,来验证验证区块。 [0054] [区块的例子] [0055] 图3是表示第一实施方式的区块#24的例子的图。区块#24表示区块编号BN为24的 3 4 区块。区块编号BN=24被2 整除,但不被2 整除,因此S(BN=24)={16,20,22,23}。因此,在 区块#24的区块哈希51a的计算中,使用前一个区块哈希51b(BN=23)、之前第 2个区块哈希 6 6 CN 114365132 A 说明书 4/8页 51c(BN=22)、之前第4个区块哈希51d(BN=20) (BN=20)以之前第8个区块哈希51e(BN= 16)作为多个其它区块哈希。 [0056] 图4是表示第一实施方式的区块链的连接例的图。例如,区块#24 为S(BN=24)= {16,20,22,23},因此区块#24与区块#16、区块 #20、区块#22及区块#23连接。 [0057] [篡改验证方法的示例] [0058] 图5是用于说明第一实施方式的篡改验证方法的例子的图。图5 的例子表示在到 区块#24为止所生成的区块链中,选择区块#5作为验证区块的情况。在图5的例子中,为了验 证区块#5的不篡改性,由第一验证部13以及第二验证部21进行4次的区块哈希的重新计算 (区块哈希#6、8、16及24)和12个其他区块哈希的参照。 [0059] 另外,在图5的例子中,由第一验证部13生成的证书包括重新计算区块(区块#6、8、 16及24)的固有信息、重新计算区块的区块哈希(区块哈希#6、8、16及24)、在重新计算区块 的区块哈希的计算中使用的12个其他区块哈希。 [0060] 图6A及图6B是表示第一实施方式的篡改验证方法的例子的流程图。图6A及图6B的 流程图表示用于实现上述图5的篡改验证方法的流程图的例子。图6A及图6B的流程图的处 理由第一验证部13 执行。 [0061] 首先,第一验证部13对BN0设定验证区块的区块编号,并对 BH0设定验证区块的区 块哈希(步骤S1)。 [0062] 接下来,第一验证部13对BN设定最新的区块编号,并对BH 设定在区块链(节点10) 中存储的该最新的区块编号的区块哈希(步骤S2)。 [0063] 接下来,第一验证部13判定是否是BN=BN0(步骤S3)。 [0064] 在BN=BN0的情况下(步骤S3,是),判定是否是BH=BH0(步骤S4)。在BH=BH0的情 况下(步骤S4,是),第一验证部13判定为验证成功,结束处理。在不是BH=BH0(步骤S4中, 否),第一验证部13判定为验证失败,结束处理。 [0065] 如果不是BN=BN0的情况下(步骤S3,否),第一验证部13对 L设定空列表,并对K设 定1(步骤S5)。接下来,第一验证部13 对H设定存储在区块链(节点10)中的区块编号BN-K 的区块哈希 (步骤S6)。接下来,第一验证部13对列表L增加H(步骤S7)。 [0066] 接下来,第一验证部13判定是否BN-K≥BN0(步骤S8)。在 BN-K≥BN0的情况下 (步骤S8,是),第一验证部13对BN1设定 BN-K,对BH1设定H(步骤S9),并进入到步骤S10。在 不是BN -K≥BN0的情况下(步骤S8,否),不执行步骤S9的处理而进入到步骤S10。 [0067] 接下来,第一验证部13将K的值乘以2(步骤S10)。接下来,第一验证部13判定是否 BN被K整除并且BNK(步骤S11)。在 BN被K整除并且BNK的情况下(步骤S11,是),处理返回 到步骤S6。 [0068] 如果BN不能被K整除,或者不是BNK(步骤S11,否),则第一验证部13对H2设定区块 编号BN的区块哈希(步骤S12),该区块编号BN是使用列表L中包括的值通过规定方法计算 的。 [0069] 接下来,第一验证部13判定是否BH=H2(步骤S13)。在不是 BH=H2的情况下(步骤 S13中,否),第一验证部13判定为验证失败,结束处理。在BH=H2的情况下(步骤S4,是),第 一验证部13 对BN设定BN1,对BH设定BH1,并返回到步骤S3的处理。 [0070] 在验证成功的情况下,第一验证部制作并发送证书,该证书将在执行上述流程图 7 7 CN 114365132 A 说明书 5/8页 时参照的重新计算区块的固有信息、重新计算区块的区块哈希、在重新计算区块的区块哈 希的计算中使用的其他区块哈希全部包括在内。 [0071] 第二验证部接收到证书时,执行图6A及图6B的流程图的处理。此时,从从节点10发 送的上述证书中取得用于计算的区块哈希。即,在验证成功的情况下,第一验证部和第二验 证部进行完全相同的计算。 [0072] 如以上说明那样,在第一实施方式的篡改验证系统100中,生成部11根据多个其它 区块的其它区块哈希和固有信息来计算区块哈希,并且生成连接了包括所计算出的区块哈 希的区块的区块链。第一验证部13接收到区块链中包括的验证区块的验证请求时,对用于 哈希计算的其它区块哈希,生成用于重新计算重新计算区块的证书,该重新计算区块包括 依赖于验证区块的区块哈希的区块哈希。并且,第二验证部21接收到证书时,使用证书来重 新计算重新计算区块的区块哈希,由此验证验证区块。 [0073] 由此,根据第一实施方式的篡改验证系统100,能够进一步缩短区块链的验证时 间。 [0074] 在现有的区块链中,在区块哈希的计算中,通过取入前一个区块的区块哈希,彼此 相邻的区块被“连接”。成为通过跟踪并重新计算该连接链能够验证区块哈希的非篡改性的 机制。 [0075] 在第一实施方式中,在区块哈希的计算中,还取得不限于紧挨着的前一区块的区 块的区块哈希,从而成为不是彼此相邻的区块可能被“连接”的结构。如果跟踪该分离区块 的连接来执行重新计算,则可以跳过位于其中间的区块的区块哈希的重新计算。 [0076] 由此,在采用了第一实施方式的数据结构的区块链中,能够更高速地进行非篡改 性的验证。另外,在第一实施方式中也与以往相同,依然可以沿着彼此相邻的链进行验证。 即,验证的方法不是一种。 [0077] 如果通过第一实施方式的篡改验证方法选择验证的链,则能够大幅削减验证时 间。被验证区块和作为验证基础的未篡改区块越远离,减少效果越大。 [0078] 具体地,可以通过区块哈希的计算次数和参照的其它区块哈希的数量来评估验证 时间。在现有技术的情况下,为了验证相隔10万区块的区块之间,需要计算10万次的区块哈 希,并参照10万个其他区块哈希。 [0079] 另一方面,在第一实施方式的情况下,仅需要平均约16.5次的区块哈希计算和平 均约154个其它区块哈希的参照即可解决。在相隔 100万区块的情况下,仅进行平均约20次 的区块哈希的计算和平均约219个其他区块哈希的参照即可解决。即,验证所需的区块哈希 的重新计算平均为20次,在节点10的外部(验证装置20)进行验证时从节点10传送的其他区 块哈希的数量平均为219个,在验证装置 20进行验证时传送的重新计算区块的数量平均为 20个。 [0080] (第二实施方式) [0081] 接下来,对第二实施方式进行说明。在第二实施方式的说明中,省略与第一实施方 式相同的说明,对与第一实施方式不同的地方进行说明。 [0082] 在第二实施方式中,如下定义上述的集合S(BN)。 [0083] 在BN是奇数时,S(BN)={BN-1}∩N [0084] n (n+1) 在BN是偶数,且BN是被2 整除但不被2 整除的编号时, S(BN)={BN-1,BN- 8 8 CN 114365132 A 说明书 6/8页 n 2 }∩N [0085] 在上述的第一实施方式中,区块编号越大的区块,越有可能与更多的其他区块连 接。另一方面,在第二实施方式中,与1个区块连接的其他区块最大为2个。 [0086] 图7是表示第二实施方式的区块链的连接例的图。例如,由于区块#24是S(BN=24) ={16,23},因此区块#24与区块#16及区块#23 连接。 [0087] 图8A及图8B是表示第二实施方式的篡改验证方法的例子的流程图。第二实施方式 的篡改验证方法与第一实施方式的不同之处在于,追加了步骤S10-2。 [0088] 步骤S1~步骤S10的说明与第一实施方式的图6A的说明相同,因此省略。接下来, 第二验证部21判定BN是否被K×2整除并且 BNK×2(步骤S10-2)。在BN被K×2整除并且BN K×2的情况下(步骤S10-2,是),则处理返回到步骤S10。在BN不能被K ×2整除,或者不是 BNK×2的情况下(步骤S10-2,否),处理进入到步骤S11。步骤S11~步骤S14的说明与第一 实施方式的图6A 及图6B的说明相同,因此省略。 [0089] 根据第二实施方式,在计算验证区块的区块哈希时,将过去区块的区块哈希(其它 区块哈希)的取入数限制为最大为2,因此与第一实施方式相比,实现变得更容易。在第二实 施方式的情况下,为了验证100万区块之前的验证区块,仅计算平均约114次的区块哈希和 参照平均约214个其它区块哈希即可解决。 [0090] (第三实施方式) [0091] 接下来,对第三实施方式进行说明。在第三实施方式的说明中,省略与第一实施方 式相同的说明,对与第一实施方式不同的地方进行说明。 [0092] 在第三实施方式中,如下定义上述的集合S(BN)。 [0093] 在BN是奇数时,S(BN)={BN-1}∩N [0094] n (n+1) 在BN是被2 整除而不被2 整除的编号时, [0095] n n 当n≤4时,S(BN)={BN-1,BN-2}∩N(与前一个区块及之前第2个区块连接) [0096] n‑p n‑q n n‑p 当n≥5时,S(BN)={BN-1,BN-2 ,BN-2 ,BN-2} ∩N(与前一个、之前第2 n‑q n 个、之前2 个、之前第2个的区块连接) [0097] p=ceil(sqrt(n));ceil(x)是x以上的最小的整数,sqrt(x) 是x的正的平方根。 [0098] q=floor(sqrt(sqrt(n));floor(x)是不超过x的最大的整数。 [0099] 但是,在计算上,区块编号=0的区块的被除外。 [0100] 根据第三实施方式,为了验证100万区块之前的验证区块,仅计算平均约31次的区 块哈希并且参照平均约98个其它区块哈希即可解决。 [0101] (第四实施方式) [0102] 接下来,对第四实施方式进行说明。在第四实施方式的说明中,省略与第一实施方 式相同的说明,对与第一实施方式不同的地方进行说明。 [0103] 在第四实施方式中,生成部11针对交易的内容(交易记录)计算交易记录的哈希 值,并且使用该哈希值计算区块哈希。 [0104] 在怀疑区块哈希被篡改的情况下,也许节点10本身原本已经被侵入并被霸占,因 此在节点10内的验证中可能没有意义。因此,非篡改性的验证优选由与节点10独立的其他 计算机(在图1的例子中为验证装置20)进行。为了在其他计算机中进行区块哈希的重新计 算,需要从节点10读出与验证区块的区块哈希关联的其他区块哈希。 9 9 CN 114365132 A 说明书 7/8页 [0105] 在证书中,以规定的顺序存储其他区块哈希以及在要重新计算区块哈希的重新计 算区块中包括的固有信息(例如,交易记录的哈希值以及区块编号等)。证书可以通过向节 点10请求而取得。该证书中包括用于验证的全部数据,因此能够通过在外部计算机中根据 该证书来重新计算区块哈希,由此验证非篡改性。第四实施方式的证书之中不包括原始交 易记录(交易的内容),因此存在记录在区块链中的信息不从证书泄漏的效果。 [0106] (第五实施方式) [0107] 接下来,对第五实施方式进行说明。在第五实施方式的说明中,省略与第一实施方 式相同的说明,对与第一实施方式不同的地方进行说明。 [0108] 在第五实施方式中,对将上述第一至第四实施方式进一步一般化的情况进行说 明。在第五实施方式中,针对每个区块编号BN确定预定的其它区块编号的集合S(BN)。这里, 假设b∈S(BN)满足bBN。必须是BN-1∈S(BN)(排除BN是初始编号的情况) [0109] 根据各区块编号b∈S(BN)的区块的区块哈希的集合、以及该区块中包括的交易 等,通过规定的方法来计算区块编号BN的区块的区块哈希。此时,验证方法例如如图9A及图 9B所示。 [0110] 图9A及图9B是表示第五实施方式的篡改验证方法的例子的流程图。步骤S21~步 骤S24的说明与上述第一实施方式的步骤S1~步骤S4相同,因此省略。 [0111] 第二验证部21对L设定空列表,并对K设定S(BN)的最大编号(步骤S25)。接下来,第 二验证部21对H设定被存储在区块链(节点10)中的区块编号K的区块哈希(步骤S26)。接下 来,第二验证部21对列表L增加H(步骤S27)。 [0112] 接下来,第二验证部21判定是否K≥BN0(步骤S28)。在K≥ BN0的情况下(步骤S28, 是),第二验证部21对BN1设定K,并对BH1设定H(步骤S29),并进入到步骤S30。在不是K≥BN0 的情况下(步骤S28,否),不执行步骤S29的处理而进入到步骤S30。 [0113] 接下来,第二验证部21判定K是否是S(BN)的最小编号(步骤S30)。在K不是S(BN)的 最小编号的情况下(步骤S30,是),第二验证部21对K设定S(BN)的K的次大的编号(步骤 S31),返回步骤S26。 [0114] 在K是S(BN)的最小编号的情况下(步骤S30,是),进入到步骤S32。步骤S32~步骤 S34的说明与上述第一实施方式的步骤 S12~步骤S14相同,因此省略。 [0115] 如以上说明的那样,根据第五实施方式,即使在将其他区块编号的集合S(BN)一般 化的情况下,也能够与第一实施方式同样地进一步缩短区块链的验证时间。 [0116] 最后,说明第一至第五实施方式的节点10及验证装置20的硬件结构的例子。 [0117] [硬件结构的例子] [0118] 图10是表示第一至第五实施方式的节点10以及验证装置20的硬件结构的例子的 图。节点10以及验证装置20具备控制装置401、主存储装置402、辅助存储装置403、显示装置 404、输入装置405 以及通信装置406。控制装置401、主存储装置402、辅助存储装置 403、显 示装置404、输入装置405以及通信装置406经由总线读出的程序。主存储装置 402是ROM(Read Only Memory:只读存储器) 以及RAM(RandomAccess Memory:随机存取存 储器)等存储器。辅助存储装置403是HDD(Hard DiskDrive:硬盘驱动器)及存储卡等。 [0120] 显示装置404显示信息。显示装置404例如是液晶显示器等。输入装置405是接收输 10 10 CN 114365132 A 说明书 8/8页 入的接口。输入装置405例如是键盘及鼠标等。显示装置404以及输入装置405也可以是具有 显示功能和输入功能的触摸面板等。通信装置406是用于与其他装置进行通信的接口。 [0121] 由节点10以及验证装置20执行的程序,以可安装的形式或可执行的形式的文件记 录在CD-ROM、存储卡、CD-R以及DVD等计算机可读取的存储介质中,而作为计算机程序产 品被提供。 [0122] 另外,也可以构成为,将由节点10及验证装置20执行的程序存储在与因特网等网 络连接的计算机上,通过经由网络下载来提供。另外,也可以不下载由节点10和验证装置20 执行的程序,而经由因特网等网络提供。 [0123] 另外,也可以将节点10及验证装置20的程序预先装入到ROM 等中来提供。 [0124] 由节点10及验证装置20执行的程序成为包括上述图1的功能块中的通过程序也能 够实现的功能块的模块结构。该各功能块作为实际的硬件,通过控制装置401从存储介质读 出程序并执行,从而将上述各功能块被加载到主存储装置402上。即,上述各功能块在主存 储装置402上生成。 [0125] 另外,上述的图1的各功能块的一部分或全部也可以不由软件实现,而由IC等硬件 实现。 [0126] 另外,在使用多个处理器来实现各功能的情况下,各处理器既可以实现各功能中 的一个,也可以实现各功能中的两个以上。 [0127] 另外,节点10以及验证装置20的动作方式可以是任意的。也可以使节点10以及验 证装置20例如作为构成网络上的云系统的装置来动作。 [0128] 说明了本发明的几个实施方式,但这些实施方式是作为例子而提示的,并不意图 限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范 围内,能够进行各种省略、置换、变更。这些实施方式以及其变形包括在发明的范围以及主 旨内,并且包括在权利要求书所记载的发明以及其等同的范围内。 11 11 CN 114365132 A 说明书附图 1/12页 图1 12 12 CN 114365132 A 说明书附图 2/12页 图2 13 13 CN 114365132 A 说明书附图 3/12页 图3 14 14 CN 114365132 A 说明书附图 4/12页 图4 15 15 CN 114365132 A 说明书附图 5/12页 图5 16 16 CN 114365132 A 说明书附图 6/12页 图6A 17 17 CN 114365132 A 说明书附图 7/12页 图6B 18 18 CN 114365132 A 说明书附图 8/12页 图7 19 19 CN 114365132 A 说明书附图 9/12页 图8A 20 20 CN 114365132 A 说明书附图 10/12页 图8B 21 21 CN 114365132 A 说明书附图 11/12页 图9A 22 22 CN 114365132 A 说明书附图 12/12页 图9B 图10 23 23