当前位置:首页 > 物联网 > 区块链
[导读] 区块链是分布式的、去中心化存储的一种链式数据结构。它是一个分布式的帐本,所有的记录由多个节点共同完成,每个节点都有完整的帐本。区块链本身具有的最显著的特征是:分布式、去中心化、信息不可篡改。

区块链是分布式的、去中心化存储的一种链式数据结构。它是一个分布式的帐本,所有的记录由多个节点共同完成,每个节点都有完整的帐本。区块链本身具有的最显著的特征是:分布式、去中心化、信息不可篡改。

数据库是按照一定数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。数据库的特性有:减少数据的冗余度、数据的独立性、数据实现集中控制。

区块链从本质上来讲也是一个数据库,是一个去中心化的数据库。但是对数据的查找速度、数据格式化处理方面有天生的不足。

本文将结合区块链与传统数据库,设计一种全新的基于区块链技术的数据库应用平台,该技术不仅具有区块链的分布式、去中心化、可审计的特性,同时兼备传统数据库的快速查询、数据结构优美的特性。两者的结合使得数据库的恢复变得快速、数据可靠性得到质的飞跃。

设计原理

区块链上所存储的数据,我们统一称为交易。

在本设计中,把对数据库操作的每一条指令都记录到一条交易中,即一个交易对应一个数据库操作,区块链网络会以交易的形式记录下所有对数据库的操作。

对于配置了数据库的区块链节点,在区块链网络记录交易的同时会完成对数据库的操作。对于未配置数据库的网络结点,交易只会记录到本节点的区块中。

已经配置数据库的节点,可以通过配置从区块链网络上的第一个区块开始搜索,去获取数据库表对应的交易,根据这些交易去再次执行数据库操作,从而生成对应的表,获得与其它区块链网络节点一致的数据库表内容。

设计方案

· 区块链网络的选择:

最常见的区块链网络就是BitCoin网络,但是BitCoin网络在实际应用中有两个缺点:

1. 速度慢:一笔交易被全网验证通过需要大约10分钟的时间,真正得到安全地确认需要大约一个小时。

2. 区块的生成需要矿工来完成,这个过程要经过大量的计算,对资源浪费比较严重。作为改进,Ripple的出现解决了BitCoin网络存在的不足,Ripple网络通过自己独有的UNL方案的引入,使得Ripple网络的节点能有效地验证自己收到消息的真伪,不需要经过大量的计算即可生成区块,其每一条交易从发出去验证只需要3-8秒。

基于Ripple与BitCoin的对比,我们选择Ripple作为本系统的区块链网络。

· 整体结构及流程

ChainSQL的实现主要分成三个部分:

区块链网络:各个节点N构成Ripple网络,完成区块链网络的架设。

普通数据库:在需要生成数据库表的节点对数据库进行配置。

客户端:可选择自己创建一个区块链节点接入网络,然后向这个节点发送数据,如图1中C2。也可以直接向网络发送交易,如图1中C1。

我们先架设区块链网络,这时已经可以向网络发送数据库操作的交易了,不需要配置任何的数据库,如图1中C1。

客户需要查看网络上的数据库表或者想真实看到传统意义上的数据库表时,需要在本地创建一个区块链节点NC2,连入网络,同时在NC2配置数据库DB,这时发往区块链上的数据库操作就会实时地在DB中反应出来,如图1中C2。

客户不想对表进行操作,仅想查看其它客户创建的表时,需要在本地创建一个区块链节点NC1,同时在NC1配置数据库,在配置文件中设置需要同步的数据库表名与所属用户,即可得到对应的数据库表。

· 具体设计

1. API接口的提供:

在区块链的应用层提供API接口供用户调用,用户向区块链发出交易命令就像操作数据库一样。

2. 先入库再共识:

基于区块链的应用有个基本的做法就是交易要先经过区块链网络进行共识,然后交易才能知道是否有效。我们在处理时:在一定条件下,先由本地节点验证交易,然后写入数据库,数据库写入成功后,再发到区块链网络上进行共识。如果共识不能通过,则回滚数据库操作。这样的设计以便于用户快速地得知自己SQL语句执行的结果。

如果节点已经配置了数据库及对应的表。区块链网络在接收到数据库操作交易的数据时,会直接传导到对应的数据库进行数据库操作,这样就实时反应用户对数据库的操作。

3. 根据配置进行数据库表的恢复

在某一区块链节点配置数据库,把存放在区块链网络中的数据库交易取出,按这些操作去执行数据库,达到重建一张表的目的。

区块链网络上的某一个节点,可以是全记录节点(拥有区块链网络中的所有交易数据),也可以是部分记录节点。

本地节点获取数据的时候,如果有对应表的数据库,则直接从本地获取数据库操作交易数据;如果本地是部分记录节点时,本地缺少某个区间的区块,这时只要从其它节点去获取对应范围内的数据库操作交易数据即可。

· 设计要点

安全性设计:以用户为管理单元,即一张表默认只隶属于一个用户(表的创建者),其它用户想对本张表进行操作,得让表的所有者对其授权。

数据库的操作与数据库表的分离:操作以交易的形式记录在区块链网络中,而真实数据在数据库中查看。

特性与应用场景

· 历史记录不可更改

传统的数据库中,对于记录的更改及删除可由管理员或者黑客随意操作。在 ChainSQL 中,由于在区块链网络上记录了对数据库某张表的所有操作记录,则单独对数据库进行更改不会改变区块链网络上的记录。区块链网络交易的不可更改性决定了 ChainSQL数据的不可篡改。

· 数据可在任意时间恢复到任意地点

只要启动一个区块链网络节点,与区块链网络连接,配置好对应的数据库,即可恢复区块链网络中存在的任意一张表。

· 数据的插件式管理

本 地 可 以 配 置 任 意 常 用 的 数 据 库,包 括:MySQL,SQLite, Oracle 等。

· 简单编程模式

通过简单的 API 或者 JSON,可以在网页或者APP 上对数据库进行写入及读取。

· 满足审计要求

对数据库表的操作记录全部记录在了区块链网络中,区块链对交易存储的特性使得我们可以知道交易发生的时间、具体内容。审计人员只需要从可靠的区块链网络节点中去恢复一张数据库表即可完成对数据的审计。

· 快速区块链应用的开发

任何想用真实数据库来存储数据的应用,同时想兼顾区块链特性的应用,都可以应用 ChainSQL,通过调用 ChainSQL 提供的接口来快速完成。

总结

ChainSQL 将区块链与传统数据库相结合,构建了一种基于区块链网络的日志式数据库应用平台。该技术兼备了两种系统的优点,能随时随地恢复数据库表。ChainSQL 不仅将传统数据库的特性进行了增加,同时将基于区块链的应用开发变得简易。

ChainSQL 中采用的先入库再共识的做法大大增加了数据入库的速度,增强了用户体验。可以随时随地对数据库表的恢复功能使得审计变得更加的方便。是进行基于数据库进行安全开发的良好平台。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

物联网设备数量呈指数级增长,其身份认证安全与区块链智能合约的可靠性成为制约行业发展的关键瓶颈。本文将从区块链物联网身份认证的底层原理出发,结合Hyperledger Fabric智能合约漏洞扫描与性能基准测试技术,系统阐...

关键字: 区块链 物联网 身份认证

在万物互联的M2M(机器对机器)通信时代,设备间的安全交互成为核心挑战。传统中心化认证体系因单点故障、数据泄露风险及高运维成本,难以满足物联网设备指数级增长的安全需求。区块链技术凭借去中心化、不可篡改和智能合约自动执行等...

关键字: 区块链 M2M

当前电力行业正经历着前所未有的变革。新型电力系统的建设加速推进,分布式新能源、电动汽车、储能设备等新型电力元素大规模接入,使得电力系统的供需互动更加复杂。与此同时,区块链技术凭借其去中心化、不可篡改、可追溯等特性,在金融...

关键字: 电力鸿蒙 区块链

香港2025年4月13日 /美通社/ -- 香港应用科技研究院 (应科院) 于第50届“日内瓦国际发明展”中成绩斐然,荣获16个奖项,其中包括1项评审团嘉许金奖、4项“金奖”、7项“银奖”及4项铜奖。今届获奖项目涵盖人工...

关键字: 人工智能 感测器 区块链 模型

在马来西亚获得政府间(G2G独特 认可的人工智能实验室将汇聚全球领先区块链、人工智能及机器人企业的合作 马来西亚吉隆坡2025年4月11日 /美通社/ -- 马来...

关键字: 人工智能 智能实验室 区块链 身份验证

在数字化时代,物联网(IoT)和区块链技术都备受关注,前者将无数设备连接成庞大网络,后者则以去中心化、不可篡改等特性重塑信任机制。当这两者相遇,碰撞出了创新的火花,区块链技术在物联网领域展现出巨大的应用潜力,为物联网的发...

关键字: 物联网 区块链 数字化

对于奢侈品牌,假冒伪劣产品和恶意灰色市场交易是一个长期存在的挑战。事实上,如今假冒市场被视为全球最大的非法贸易领域。经合组织(OECD)估计,2019 年其规模约为 4640 亿美元,占世界贸易总额的 2.5%,显然,对...

关键字: NFC防伪技术 半导体 区块链

区块链科普系列活动(一) 北京2024年12月24日 /美通社/ -- 在这个日新月异的科技时代,区块链与先进计算正以前所未有的速度推动着各行各业的变革。为了助力区块链及先进计算领域的创业者、从业人员把握时代脉搏,引领...

关键字: 区块链 亚马逊 数字化 AWS

区块链技术在物联网中的应用日益广泛,其去中心化、数据不可篡改和透明性等特点为物联网带来了诸多优势。以下将详细介绍区块链技术在物联网中的几个主要应用领域:

关键字: 区块链 物联网
关闭