写点什么

谷歌提交新的区块链技术专利申请

  • 2018-04-08
  • 本文字数:1735 字

    阅读完需:约 6 分钟

3 月 22 日,谷歌公司向美国国家专利局提交了一份专利申请,这份专利与使用区块链平台来保护用户账号数据的安全性有关。

谷歌打算使用区块链来记录签名,并用签名来验证保存在数据库中的数据,这样就可以知道数据是否遭到篡改,如果是,还可以知道何时被篡改。为了实现这个功能,他们需要开发一种“封口”日志(“封口”通常用于识别有包装的物品是否被拆封过)。

专利文件中提到,谷歌将会使用两个区块链,其中一个区块链由分户总账上的记录签名组成,另一个则用于保存经签名验证过的信息:

这种方式要求在目标区块链中增加一个新的区块,并把新区块链接到已有区块和第二个区块链的区块上,新区块的签名是基于其他两个区块的签名生成的。目标区块链和第二个区块链有可能是区块格子的一部分。

尽管谷歌近日宣布其平台禁止一切与数字加密货币相关的广告,因为他们认为这类广告通常带有欺诈性质,但他们还是相信区块链技术能够给他们已有系统带来好处。

以下内容摘自专利文件,对谷歌所提交的专利进行了描述。

背景

区块链技术通常会被用于提供安全的审计链或日志链。区块链由持续增长的数据记录组成,这些记录以区块的形式存在,每个区块又包含了一批事务。每个区块通常带有时间戳和一个指向上一个区块的头部链接。因为当前区块的信息依赖了上一个区块,所以在不修改上一个区块信息的情况下,是很难篡改或伪造当前区块信息的。

专利概要描述

要在保证封口安全的情况下支持区块链的高效伸缩和频繁的日志查询,虽然很难实现,但还是存在这个可能性,而且还有望进一步提升安全性。

记录封口信息需要用到额外的电子设备,这个设备分别识别出目标区块链和第二个区块链中两个区块的签名,然后添加一个新的区块到目标区块链中,这个新区块的签名是基于之前识别出的两个签名生成的。目标区块链和第二个区块链有可能是区块格子的一部分。

目标区块链和第二个区块链可以使用分布式存储来实现,甚至可以有不同的数据结构。

新区块可以包含一到多个日志记录,日志记录可以是这几种类型:机器日志、数据访问日志、性能日志、操作日志、分户总账条目、认证日志或授权日志。

识别第二个区块链中的区块可能包含:识别与区块格子中的区块关联的唯一性标识符;随机打散唯一性标识符,生成新的标识符清单;识别标识符清单中的第一个标识符;标识符清单的第一个标识符对应的区块当就是第二个区块链的区块。

新区块可以包含一到多个日志记录,这些记录带有所有者标识符,而来自第二个区块链的区块所包含的一到多个日志记录与这些所有者标识符关联。

新区块的签名是在第一个签名和第二个签名的基础上通过加密方式生成的。

为新区块生成签名可能包括:识别新区块所包含的一到多个日志记录的信息,基于这些信息进行第一次加密操作,生成一个散列值;基于已生成的散列值、第一个签名和第二个签名进行第二次加密操作,生成新区块的签名。

后续或许还需要通过检查区块格子是否发生过篡改事件来验证区块格子的正确性。

验证区块格子的正确性可能包括:识别区块格子中包含最旧记录的区块,检查这个区块的签名是否与包含最旧记录区块的签名匹配;对于区块格子里的一到多个区块,先得出与其关联的签名,这个要通过计算当前区块和上一个区块的签名获得;最后检查得出的签名是否与包含最旧记录区块的签名匹配。

验证区块格子的正确性也可能包括:识别区块格子的一个子格;识别子格中包含最旧记录的区块;检查这个区块的签名是否与包含最旧记录区块的签名匹配;对于子格里的一到多个区块,先得出与其关联的签名,这个要通过计算当前区块和上一个区块的签名获得;最后检查得出的签名是否与包含最旧记录区块的签名匹配。

验证区块格子的正确性还可能包括:识别出区块格子中所有的区块;随机打散这些区块,并生成新的区块清单;从头到尾遍历区块清单,对于清单中的每一个区块,基于当前区块和上一个区块(如果存在)的签名生成新的签名,并检查这个签名是否与区块关联的签名匹配。

进行封口记录的系统可能需要一个额外的电子设备和一个计算机能够读懂的存储媒介,这个媒介里包含了一到多个指令,一旦指令被执行,就会触发这个电子设备做出一到多个如上所述的动作。

描述示意图

图 1. 区块链示例

图 2. 封口记录的流程示例

图 3. 区块格子示例

图 4. 执行程序指令的硬件示意图

感谢杜小芳对本文的审校。

2018-04-08 18:132645
用户头像

发布了 731 篇内容, 共 473.6 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

王者荣耀商城异地多活架构设计

地下地上

架构实战营

Zabbix 6.0 源码安装以及 HA 配置

耳东@Erdong

zabbix ha 7月月更 zabbix 6.0

C++ Workflow 异步编程框架 - 性能优化上篇

1412

c++ GitHub 开源 异步编程 workflow

分布式事务的性能设计

穿过生命散发芬芳

分布式事务 7月月更

排序子序列与倒置字符串

未见花闻

7月月更

uni-app进阶之自定义【day13】

恒山其若陋兮

7月月更

Flutter 使用 AnimatedSwitcher 做场景切换

岛上码农

flutter ios 前端 安卓开发 7月月更

长安链学习研究-存储分析wal机制

长安链

你学会如何将项目部署到Linux系统上了吗?要不我带你耍耍。

Java学术趴

7月月更

Mysql 温故知新系列「触发器详解」

安逸的咸鱼

MySQL 7月月更

Linux tar打包

工程师日月

Linux tar 7月月更

模块1 作业

ArkUI开发框架组件的生命周期详解

坚果

HarmonyOS OpenHarmony Open Harmony 7月月更

群里的初级工程师求助说,要采集采招数据,必须给他安排上

梦想橡皮擦

Python 爬虫 7月月更

zookeeper-watcher的javaApi相关使用

zarmnosaj

7月月更

C#入门系列(二十二) -- 面向对象之多态

陈言必行

7月月更

C++ Workflow异步调度框架 - 性能优化网络篇

1412

c++ 开源 workflow 异步调度 网络框架

实习是步入社会的一道坎

KEY.L

7月月更

Istio XDS配置生成实现

阿泽🧸

envoy 7月月更

模块7(王者荣耀商城异地多活架构设计)

Geek_701557

Okaleido或杀出NFT重围,你看好它吗?

BlockChain先知

【萌新解题】四数之和

面试官问

LeetCode

如何在Linux中比较多个文件?这12个优秀工具了解一下!

wljslmz

Linux 7月月更 文件比较

函数初认识-下

芒果酱

C语言 7月月更

Qt | 控件之QComboBox

YOLO.

qt 7月月更

Setup的使用技巧

bo

Vue 前端 7月月更

读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)

蔡农曰

Java 后端 JVM 后端技术 Java 开发

Vue3 状态管理 Pinia 快速入门指南

程序员海军

Vue 状态管理 7月月更

Vscode 搭建 C / C++ 开发环境

攻城狮杰森

c c++ vscode 开发环境 7月月更

现场可程式化逻辑闸阵列 FPGA

贾献华

7月月更

谷歌提交新的区块链技术专利申请_Google_Guillaume Belisle_InfoQ精选文章