2023区块链数据模型技术与应用研究报告.pdf
《2023区块链数据模型技术与应用研究报告.pdf》由会员分享,可在线阅读,更多相关《2023区块链数据模型技术与应用研究报告.pdf(31页珍藏版)》请在咨信网上搜索。
1、区块链数据模型技术与应用研究报告区块链数据模型技术与应用研究报告(2023 年)年)中关村区块链产业联盟2023年11月中关村区块链产业联盟2023年11月前言前言区块链技术的集成应用在新的技术革新和产业变革中起着重要作用,全球主要国家都在加快布局区块链技术发展。以习近平同志为核心的党中央高度重视区块链发展,多次强调要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。随着以“数字新基建、数据新要素、虚拟新经济”为核心特征的数字经济发展的全面来临,全球各国和产业界都高度重视区块链基础设施推动数字经济发展的重要动能,欧
2、盟区块链服务基础设施EBSI、印度国家区块链框架 NBF 等国家级重大工程先后启动建设。“星火链网”是我国为持续推进产业数字化转型,利用区块链自主创新能力而谋划布局的数字经济“新型基础设施”,以代表产业数字化转型的工业互联网为主要应用场景,以网络标识这一数字化关键资源为突破口,推动区块链的应用发展,发挥实现新基建的引擎作用。为了进一步凝聚产业共识,推动区块链基础设施规模化发展,启动了“星火链网”系列报告编制工作,希望能够有助于产业界和学术界凝聚共识,更好地发挥区块链作为基础设施的作用,为技术和产业变革提供创新动力。本报告聚焦“区块链数据模型”方向,通过理清“区块链数据模型”概念,分析“区块链数
3、据模型”核心挑战和发展路径,将有助于推动区块链基础设施与数据模型融合化部署,优化区块链基础设施性能,推动区块链基础设施规模化落地。目录目录一、区块链数据模型整体概述.1二、区块链数据模型重点问题.3三、区块链的数据模型关键技术.5(一)区块链数据模型整体框架.5(二)账户数据模型.7(三)区块数据模型.11(四)交易类数据模型.15四、区块链数据模型应用实践.17(一)中国信通院:星火链网账户模型.17(二)布比科技:区块数据模型实践与应用.21(三)中国信通院:星火链网交易类数据模型.22五、区块链数据模型总结展望.25(一)强化区块链数据模型与隐私计算融合,推动数据隐私安全.25(二)加速
4、区块链数据模型与物联网技术融合,实现数据安全可信.25(三)推动区块链数据模型与传统技术融合,加快可信数据应用.26图 目 录图 目 录图 1 区块链架构体系.5图 2 区块链数据模型分类.6图 3 UTXO 模型.7图 4 账户余额模型.9图 5 账户余额模型的账户类型.10图 6 DAG 结构图.13图 7 星火链网整体架构.17图 8 星火通账户模型示意图.19图 9 DNA 平台架构.19图 10 并行快速的多链分片.22图 11 安全可插拔智能合约基础框架平台 ISparkVM.24表 目 录表 目 录表 1 UTXO 数据模型的字段描述.8表 2 外部账户与合约账户的区别.11表
5、3 区块模型的整体结构.14表 4 区块头数据结构.14表 5 区块体数据结构.14表 6 常见交易数据格式.15表 7 常见合约数据格式.161一、区块链数据模型整体概述一、区块链数据模型整体概述随着区块链技术的蓬勃兴起,类似金融、物流及医疗等行业的应用案例借助着其可溯源,安全性和去中心化等特点纷纷加速落地,每个相关行业的不同机构之间可以共同维护和共享参与方的数据,确保每个参与角色都能够对提案进行背书,并通过一定的共识算法和排序服务来促成不同节点上分布式账本内容的一致性。同时,区块链也以其特殊的数据结构,使得区块链具有数据传输以及信任管理的能力。区块链将数据区块以顺序相连的方式组合成的链式数
6、据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。每个区块中的数据可以包括交易信息、合约代码、状态变化等,这些数据的组织方式和存储规则构成区块链数据模型的基础,本文主要针对区块链链上数据模型展开研究。链上数据涉及到区块链如何组织、存储和检索数据,是区块链网络中的数据结构,用于记录和维护交易、合约和其他信息。区块链数据模型的研究影响区块链的性能、安全性和可扩展性,现阶段,区块链数据模型主要体现以下特征:数据模型作为区块链底层架构保证系统平稳运行。不同于隐私计算,网络技术,跨链技术等区块链的功能基础。数据模型作为一种数据规范,是实现区块链技术的重要基础。区块链技术利用数据模型能够整合各个
7、模型层次的数据,形成统一规范的标准数据库,实现信息技术与垂直行业的打通连接,共同构成数字经济的重要举措。同时,伴随着区块链技术在各行各业的快速布局与应用,规范2化的数据模型更有利于区块链技术的拓展与管理。加速区块链技术的平稳推进。数据模型作为区块链数据范式保证信息顺利交互。区块链数据模型是保存区块链数据的一套“模具”,把所有的数据,按照“模具”的形状、规格、关系装载起来。优秀的“模具”设计,可以将数据装载的整整齐齐,调理清晰。反之,“模具”设计的不好,数据会存在大量的冗余,杂乱无章;用数据的时候,如同拆解一团乱麻,耗费大量的时间和资源。在数字化不断推进的社会,作为“灵魂”的数据,必须要快速流动
8、与交互。统一规范的区块链数据模型能够有效缓解数据孤岛,子链交互等诸多问题。数据模型作为区块链数据容器保证信任可靠传输。设备从物理世界收集数据并传输到数字世界,数据的真实、准确、完整、安全是一切数字世界的基础。就公共基础设施而言,错误的数据会导致治理的混乱;就企业而言,混乱的基础数据可能导致预测出现偏差,使竞争走上错误的轨道;由物理属性、实体间交互和未来状态组成的新数据流可以实现在数字世界和物理世界之间无缝交换。数据模型能优化区块链数据的分级授权和共享,依托区块链防篡改、可追溯的特性,可以在保持数据的可信和安全的情况下,实现数据传输。3二、区块链数据模型重点问题二、区块链数据模型重点问题区块链数
9、据可以支持在开放网络环境中的去中心化管理,但是其自身模型设计方面仍然面临着诸多问题。其核心问题体现在数据存储、事务处理性能、查询处理优化等方面。去中心化存储崛起,导致区块链数据具有差异化存储结构。在区块链系统中,数据以区块作为基本存储单位。为了方便数据的存取,多数区块链系统利用 LevelDB 这一基于 Key-Value 结构的数据库存取数据,而部分区块链系统则选择利用文件系统或关系型数据库进行存储。不同的数据模型对应产生不同的数据存储区域划分及其固化模式,而且与传统的分布式数据库或其他去中心化存储系统相比,区块链网络中的节点均需存储数据的备份,使得数据存储在区块链框架下产生新的挑战。快速事
10、务执行要求,需要区块链数据模型支持并发运行。在区块链中,智能合约的一次执行相当于数据库中的一个事务。在传统的数据库中,事务处理需满足 ACID 特性(原子性 Atomicity、一致性Consistency、隔离性 Isolation、持久性 Durability)。在区块链系统中,分布式架构的一致性要求导致事务运行速度大大降低。为了提高系统的吞吐量,部分区块链的数据模型需要支持事务处理并发机制。但是,区块链系统的并发控制与分布式数据库的并发控制相比有诸多不同。一是区块数据模型的差异将导致针对事务的并发控制需要考虑区块的提交方式。二是部分区块链中的事务处理流程与数据库中的事务不同。因此如何设计
11、合适的区块数据模型,对事务的4执行效率有重大影响。链上查询效率低下,促使区块链数据模型支持快速查询。由于区块链应用于不可信的环境,其查询处理的过程可归类为一般查询处理和可信查询处理。一般查询主要针对的是溯源查询等。可信查询处理对查询结果的验证技术需要数据拥有者产生一个利用私钥生成的签名,后续会利用该签名进行验证。另外,基于传统数据库生成的签名往往基于的是静态数据库,而区块链是一个动态的分布式数据存储系统,合适的区块链数据模型可以有效提高区块链系统的查询效率。5三、区块链的数据模型关键技术(一)区块链数据模型整体框架三、区块链的数据模型关键技术(一)区块链数据模型整体框架以工业互联网与区块链为代
12、表的新型基础设施逐步成为我国面向未来,打造科技创新驱动、提升数字竞争力的重要保障,也是应对后疫情时代下经济复苏的必要举措。随着区块链技术的不断发展,区块链数据模型的技术价值日益提升。在区块链技术的 5 层体系架构中,数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性。数据层相当于区块链四大核心技术中的数据结构,即“区块+链”的结构。从初始区块起,区块链系统将一直在新添加的区块,每个区块包含了哈希值、随机数、认证交易的时间戳、交易信息数据、数据签名等,是整个区块链系统中最底层的关键技术。图 1 区块链架构体系数据层的信息模型是指节点记录应用信息的逻辑结构
13、,区块链的信息模型主要包括 UTXO 模型和账户余额模型。区块链数据的关联6验证结构则是依托区块链的基本数据单位“区块(block)”。区块由区块头和区块体两部分组成,区块体包含一定数量的交易集合;区块头通过前继哈希连接维持与上一区块的关联从而形成链状结构。基于传统数据层的数据模型要求,在图 2 中,区块链数据模型整体被分为:账户数据模型,区块数据模型以及交易类数据模型。图 2 区块链数据模型分类尽管现阶段区块链系统拥有不同的数据模型,但任何区块链数据模型设计与实现通常具备以下特性:数据语义具有完备性数据语义具有完备性:能够完整描述交易过程和结果,包含提交者身份、交易内容等信息,并能通过所有区
14、块重现世界状态。数据来源具有可验证性数据来源具有可验证性:区块头或元数据中包含区块生成信息、哈希链等信息,用于验证区块的合法性与正确性。数据格式具有可扩展性数据格式具有可扩展性:区块数据结构中考虑向未来兼容的可能性,通过预留字段或模糊字段等手段,为扩展功能留出空间。数据结构具有兼容性数据结构具有兼容性:区块数据结构出现变更时,能够向下兼容旧版本的节点运行时;同时不同的节点实现能够通过兼容的数据结构进行通信。7(二)账户数据模型(二)账户数据模型目前的区块链技术中,账户数据模型主要有两种形式,一种是以比特币为代表的 UTXO 模型UTXO 模型。另一种是以以太坊为代表的基于账户余额模型账户余额模
15、型的记账模式。UTXO 模型通过链式拓扑的方式组织所有交易数据的输入和输出,每一个交易的输出最终都能追寻到一个货币源头,也就是当前比特币被挖出时的区块的第一笔交易。比特币通过UTXO 模型作为其交易信息底层存储的数据结构。基于账户余额模型的记账模式和现在银行卡记账方式类似,通过记录交易者的账户与余额信息从而实现合约事务的顺利进行。1.UTXO 模型图 3 UTXO 模型UTXO 模型是未花费的交易输出的记账模型。UTXO 模型是未花费的交易输出的记账模型。它是比特币交易生成及验证的一个核心概念。交易构成了一组链式结构,所有合法的比特币交易都可以追溯到前向一个或多个交易的输出,这些链条的源头都是
16、出块奖励,末尾则是当前未花费的交易输出。由于在 UTXO中没有账户的概念,所以系统可以并行地处理交易,同时不可变的账本能够在比特币节点快速更新时,也能清晰的记录整个网络中每8一笔交易数据的快照,使得整个区块链交易清晰透明。当需要计算某个地址中的余额时,系统会遍历整个网络中的全部相关区块,验证交易与余额。表 1 UTXO 数据模型的字段描述字段名称描述版本字段名称描述版本Version交易规则输入数输入数Tx_In交易输入列表的数量输入列表输入列表Tx_In_List一个或多个交易输入输出数输出数Tx_Out交易输出列表的数量输出列表输出列表Tx_Out_List一个或多个交易输出锁定时间锁定时
17、间Lock time锁定时间从结构来看,交易主要的两个单元字段就是交易的输入和输出。输入表示着交易的发送方,输出表示着交易的接收方及给自己的“找零”,在各类区块链浏览器上能看到的输入比特币之和与输出比特币之和之差就是这笔交易的矿工费。由于所有交易的输入必然是前面某笔交易的输出,所以交易最核心的字段是交易的输出。UTXO 模型的用户利用新的地址用于转账和交易,新地址与原地址之间的关系很难被追踪,更好地保证用户的隐私;UTXO 模型理论上来说可以并行地利用不同的 UTXO 签发多笔交易,并广播到网络中;以比特币为例,在比特币进行交易时,每一次交易的输入值都必须全部花掉,不能只花掉部分。比如,转账地
18、址需要 10 个比特币,输出比特币的钱包地址中只有 10 个比特币,发起一个交易就可以9把比特币转到目标钱包地址中。但钱包地址中有 15 个比特币,那从输出钱包地址中转 10 个比特币至目标地址,同时转 5 个比特币给自身新的钱包地址。2.账户余额模型图 4 账户余额模型账户余额模型:账户余额模型:相比于 UTXO 模型,账户余额模型是一种非常容易理解的区块链应用模型,它与我们生活中的账户模型非常相似,只是为了保证账户的安全,使用了签名以及 nonce 的机制阻止恶意的攻击。这种基于账户余额模型的应用包含所有账户余额的全局状态,在进行转账时,需要由节点对账户的余额进行验证,判断当前账户是否有足
19、够的余额进行转账。现阶段,采用账户余额模型的区块链,其包含两种账户:外部账户和合约账户。外部账户(externally owned accounts),由密钥控制。外部账户创建流程:首先要创建随机私钥(以以太坊为例:64 位 16 进制字符/32 字节);其次从私钥推导出公钥(以以太坊为例:128 位 16 进制字符/64 字节);最后从公钥推导出地址(以以太坊为例:40 位 16进制字符/20 字节):合约账户(contract accounts),由智能合约的代码控制。合10约账户不是通过公私钥对控制的。一个合约可以调用另外一个合约,所以要通过 nonce 值记录调用的次数。合约账户不能主
20、动发起交易,所有的交易只能由外部账户发起,外部账户发起交易如果调用合约账户,合约账户可以发送 message 调用另外一个合约,但是合约无法自身发起交易。图 5 账户余额模型的账户类型以以太坊为例,账户模型包括四个字段:一个随机数(nonce)、账户的余额(balance)、存储(storageRoot)、合约代码(codeHash)。Nonce:Nonce:如果账户是外部账户,nonce 代表从此账户地址发送的交易序号。如果账户是合约账户,nonce 代表此账户创建的合约序号。Balance:Balance:此地址拥有余额的数量。StorageRoot:StorageRoot:Merkle
21、Patricia 树的根节点 Hash 值。MerklePatricia 树会将此账户存储内容的 Hash 值进行编码,默认是空值CodeHash:CodeHash:此账户虚拟机代码的哈希值。对于合约账户,就是被 Hash 的代码并作为 codeHash 保存。对于外部拥有账户,codeHash域是一个空字符串的 Hash 值。只有合约账户才有代码,其中存储的是 codeHash。这个字段在生成后是不可修改的,这意味着智能合约代码是不可修改的。11表 2 外部账户与合约账户的区别项外部账户合约账户私钥项外部账户合约账户私钥无余额余额代码代码无签名签名无控制方法控制方法私钥外部账户的合约账户余额
22、模型的优点在于:每一笔交易都需要有一个签名,交易的输入和输出都是地址,能够节省存储空间;因为创建交易时不需要对过去的 UTXO 进行签名,可以从任何时间点开始同步区块的状态,利于编写轻量级客户端。无论是 UTXO 模型还是账户余额模型,都能够很好地解决区块链世界中的“安全”问题,保证交易的合法,从原理上杜绝一些可能的攻击行为,实现原理的不同其实也只是由于出发点不同,在设计时权衡了利弊。(三)区块数据模型(三)区块数据模型1.链式结构模型由区块按照发生的时间顺序,通过区块的哈希值串联而成,是区块交易记录及状态变化的日志记录。每个区块有自己的时间戳,每个时间戳应当将前一个区块的时间戳纳入其随机散列
23、值中,这样就形成了链条。共识算法是为了维护系统中只有一条唯一的合法链,任何分叉链都被视作对系统的攻击。正是基于此种考虑,比特币系统产生新块的时间被设定为 10 分钟,系统需要足够的时间保证新块12被传递给所有的用户节点,保证最长链的产生者会有更多的竞争者,保证系统会有更少的分叉。区块链的链式结构具有以下优势:安全性:区块链的链式结构以其不可篡改性而闻名。每个区块都包含前一个区块的哈希值,这种连接方式使得一旦数据被写入区块链,很难修改。数据的安全性和可信度很高,适用于需要高度安全性的应用,如数字货币和金融交易。可预测性:区块链的共识机制通常比较简单,例如,比特币使用的工作量证明(Proof of
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 区块 数据模型 技术 应用 研究 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Stan****Shan】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Stan****Shan】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。