长安链可验证数据库,保证数据完整性的可信存证方案

近日,长安链发布“可验证数据库”实现了链上链下协同存储及数据完整性保证,显著提升长安链存储能力的可扩展性。

可信存证是联盟链最典型的应用场景,被广泛应用在司法、工业、农业、贸易等领域。联盟链的存证应用主要分为两个阶段:存证和用证。存证阶段由相关参与方将原始数据或其散列值写入到区块链,用证阶段由用户或司法机关从区块链上取回数据,或由相关参与方提供数据并通过区块链验证其散列值。

但是原始数据上链和散列值上链这两种方式都存在一定的不足:原始数据上链会占用大量的存储,每个节点都需要保存数据副本,远高于分布式系统“两地三中心”的冗余要求,因此对所有节点都会造成极大的存储压力和开销;散列值上链能够在一定程度上压缩链上存储成本,但是在查询链下存储的数据时,通过散列值只能验证参与方提供数据的真实性,而无法确保参与方提供了全部相关数据,即数据查询结果的全面性无法得到保证。

图片

可信存证典型应用场景

“区块链可扩展性关键技术研究”是由未来区块链与隐私计算高精尖创新中心任务团队针对可信存证等联盟链应用场景特点,兼顾链下业务系统数据存储和链上智能合约完整性验证的需求,实现并开源了链下可验证数据库及配套智能合约。这一成果主要从两个方面解决区块链的存储扩展问题:一是区块链参与者将数据写入具有Merkle B+树索引结构的链下数据库,并将根节点信息定期上链,使链上数据规模极小且增长速度只与时间相关。二是智能合约能够查询链下数据,并且能够在查询结果的基础上通过 Merkle证明和范围证明验证查询结果的正确性、真实性和全面性。

图片

链下可验证数据库索引结构

可验证数据库支持以数据库模式独立运行和作为MySQL存储引擎加载运行两种运行方式,用户可以通过可验证数据库内置的命令行终端或者使用MySQL开源生态工具与数据库交互,大大降低了业务开发人员的使用和迁移成本。同时,本成果提供了配套的智能合约,用户可以通过调用智能合约完成数据库查询任务下发和查询结果的完整性验证。因此在存证等区块链典型场景中能够在确保数据可信、可用的前提下,降低存储成本,并可根据存储需要弹性扩展存储能力。

图片

链上链下交互过程

数据完整性能够通过Merkle证明和范围证明保证。本项目的Merkle证明与Merkle树中的Merkle证明是相同的,范围证明由查询条件边界和Merkle证明共同组成。由于存储引擎中的数据记录是有序的,因此只要查询结果中包含查询条件边界,范围证明就能够保证所有满足查询条件的记录都已经包含在查询结果中。因此能够通过遍历数据保证其正确性,通过Merkle证明保证其真实性,通过范围证明保证其全面性。此外,由于只需要定期将根节点信息发送到区块链,因此链上数据规模很小且与原始数据的大小和数量都无关。

本项目与其他常用方案的对比如下:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126797.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Cheat Engine7.5】基础教程第三关(步骤4)

文章目录 一、简介二、操作步骤2.1、加载进程2.2、查找健康数据2.2.1、首次扫描(单浮点数100)2.2.2、点击打我,再次扫描数值97.112.2.3、修改数据值为50002.2.4、测试正常 2.3、查找弹药数据2.3.1、双浮点数1002.3.2、点击开火2.3.3、修改数据2.3.4、测试 2.4、通关…

福布斯:Salesforce和ZohoCRM,哪个更适合你?

上周,福布斯发布了《CRM软件指南》,从企业的实际需求出发,通过性价比、功能、可用性、第三方集成、分析工具等多个维度进行比较,最终推选出7家代表厂商。本周,福布斯就其中呼声较高的两家企业Salesforce、Zoho CRM做进…

Java 设计模式——享元模式

目录 1.概述2.结构3.实现3.1.抽象享元3.2.具体享元3.3.享元工厂3.4.测试 4.优缺点5.使用场景6.JDK 源码解析——Integer 类 1.概述 (1)享元模式 (Flyweight Pattern) 是一种结构型设计模式,主要通过共享对象来减少系统中的对象数量&#xff…

振南技术干货集:C语言的一些“骚操作”及其深层理解(3)

注解目录 第二章《c语言的一些“操作”及其深层理解》 一、字符串的实质就是指针 (如何将 35 转为对应的十六进制字符串”0X23”?) 二 、转义符\ (打入字符串内部的“奸细”。) 三、字符串常量的连接 &#xff…

一文了解Nginx及其基本配置

一、关于Nginx Nginx是一个开源的高性能HTTP和反向代理服务器。 Nginx可以用于处理静态资源、负载均衡、反向代理和缓存等任务。 Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。 Nginx具有低内存消耗、高并发能力和良好的稳定性,因此在互联网领域非常受…

泛微E-Mobile 6.0命令执行漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞原理 泛微E-Mobile 6.0存在命令执行漏洞的问题,在…

202205(第13届)蓝桥杯Scratch图形化编程青少组(国赛_中级)真题

202205(第13届)蓝桥杯Scratch图形化编程青少组(国赛_中级)真题 第 1 题 以下程序,小猫在移动完成后不能回到初始位置的是?( ) A: B: C: D: 第 2 题 以下程序,询问…

基于SSM的社区生鲜电商平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

LoadRunner脚本编写之二

下面来回顾一下嵌套循环例子。 Action() {int i,j; //生命两个变量for (i1;i<5;i) //第一重循环&#xff0c;循环5次{if (i3) break; //当i等于3时&#xff0c;跳出本重循环elselr_output_message("i%d",i); //否则&#xff0c;输入i的值for (j1;j<…

VNC连接服务器实现远程桌面 --以AutoDL云服务器为例

VNC连接服务器实现远程桌面 --以AutoDL云服务器为例 针对本地机为Windows 云服务器租显卡跑些小模型很方便&#xff0c;但是当你想做可视化的时候&#xff0c;可能会遇到麻烦&#xff0c;云服务器没有显示输出界面&#xff0c;无法可视化一些检测任务的结果&#xff0c;或者可…

支持在代码编辑器中调试接口,IDEA插件推荐

今天给大家推荐一款IDEA插件&#xff1a;Apipost-Helper-2.0&#xff0c;写完代码IDEA内一键生成API文档&#xff0c;无需安装、打开任何其他软件&#xff1b;写完代码IDEA内一键调试&#xff0c;无需安装、打开任何其他软件&#xff1b;生成API目录树&#xff0c;双击即可快速…

Java进阶(JVM调优)——阿里云的Arthas的使用 安装和使用 死锁查找案例,重新加载案例,慢调用分析

前言 JVM作为Java进阶的知识&#xff0c;是需要Java程序员不断深度和理解的。 本篇博客介绍JVM调优的工具阿里云的Arthas的使用&#xff0c;安装和使用&#xff0c;命令的使用案例&#xff1b;死锁查询的案例&#xff1b;重新加载一个类信息的案例&#xff1b;调用慢的分析案…

银河麒麟等 Linux系统 安装 .net 3.1,net 6及更高版本的方法

确定 系统的版本。华为鲲鹏处理器是 Arm64位的。 于是到windows 官网下载对应版本 .net sdk 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet 2.下载完成后&#xff0c;再linux 服务器 上进入到文件所在目录&#xff0c;建议全英文路径。 然后依次输入以下命令 …

使用切面实现前端重复提交(防抖)

使用切面实现前端重复提交&#xff08;防抖&#xff09; 代码结构定义注解请求锁切面处理器入参对象使用注解 代码结构 原理&#xff1a; 1、前端提交保存操作&#xff1b; 2、后端通过注解指定重复提交的关键字段进行识别&#xff0c;可以有多个&#xff1b; 3、拼接关键字段&…

C#医学检验室(LIS)信息管理系统源码

LIS:实验室信息管理系统 (Laboratory Information Management System简称:LIS)。 LIS 是面向医院检验科、检验中心、动物实验所、生物医疗研究所等科研单位研发的集数据采集、传输、存储、分析、处理、发布等功能于一体的信息管理系统。 一、完善的质控&#xff1a; 从样本管理…

python实现微信新版v3的jsapi支付

python实现微信新版v3的jsapi支付 1、需要从公众号、商户号获取的信息 注意&#xff1a;在商户号的支付授权目录中需要设置好发起支付的界面url&#xff0c;比如我的&#xff1a; http://xxx/paypage/# 商户证书私钥&#xff0c;此文件不要放置在下面设置的CERT_DIR目录里。…

excel中超级表和普通表的相互转换

1、普通表转换为超级表 选中表内任一单元格&#xff0c;然后按CtrlT&#xff0c;确认即可。 2、超级表转换为普通表 选中超级表内任一单元格&#xff0c;右键&#xff0c;表格&#xff0c;转换为区域&#xff0c;确定即可。 这时虽然已经变成了普通表&#xff0c;但样式没有…

【机器学习】七、降维与度量学习

1. 维数灾难 样本的特征数称为维数&#xff08;dimensionality&#xff09;&#xff0c;当维数非常大时&#xff0c;也就是现在所说的维数灾难。 维数灾难具体表现在&#xff1a;在高维情形下&#xff0c;数据样本将变得十分稀疏&#xff0c;因为此时要满足训练样本为“密采样…

如何设计开发一对一交友App吸引更多活跃用户

在当今社交媒体时代&#xff0c;一对一交友App开发正日渐成为发展热点。如何吸引更多活跃用户成为开发者们的首要任务。通过本文&#xff0c;我们将探讨一系列方法&#xff0c;助您设计开发一对一交友App&#xff0c;吸引更多用户的关注和参与&#xff0c;提升App的活跃度。 了…

《012.SpringBoot+vue之在线考试系统》【前后端分离有开发文档】

《012.SpringBootvue之在线考试系统》【前后端分离&有开发文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;idea jdk1.8 maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatisMySQL; 前台&#xff1a;Vue; [2]功能模块展示&…