写点什么

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

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

    阅读完需:约 6 分钟

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

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

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

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

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

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

背景

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

专利概要描述

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

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

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

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

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

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

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

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

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

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

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

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

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

描述示意图

图 1. 区块链示例

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

图 3. 区块格子示例

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

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

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

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

关注

评论

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

2022-Java后端工程师必会知识点-(Lunix)

自然

Lniux 8月月更

Serverless开源架构方案

阿泽🧸

Knative 8月月更

linux重要的目录之etc

入门小站

数据中台建设(八):数据服务体系建设

Lansonli

数据中台 8月月更

2022-Java后端工程师必会知识点-(Docker)

自然

Docker 镜像 8月月更

万物智联时代,悄然走入生活

这不科技

鸿蒙 OpenHarmony

C++面向对象封装特性的实例分析与应用扩展(一)

CtrlX

c++ 面向对象 后端 代码 8月月更

Nacos配置中心之事件订阅

急需上岸的小谢

8月月更

浅聊缓存函数

掘金安东尼

前端 8月月更 高阶函数

不想当Window的Dialog不是一个好Modal,弹窗翻身记...

hiisea

前端 前端开发 前端架构 antd 前端框架

开源一夏 | VuePress的简单使用

坚果

开源 8月月更

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之二:编码实现

程序员欣宸

Java LeetCode 8月月更

面试突击71:GET 和 POST 有什么区别?

王磊

Java 常见面试题

Sass/Scss、Less 是什么?

CRMEB

开源一夏 | 教你快速实现“基于Docker快速构建基于Prometheus的MySQL监控系统”

知识浅谈

开源 8月月更

Java J.U.C 学习笔记-使用篇(一)

U2647

程序员常说的“左手锟斤拷,右手烫烫烫”是怎么回事?

桑榆

bug 8月月更

鲲鹏devkit开发套件

乌龟哥哥

8月月更

手撸Router,还要啥Router框架?让react-router/vue-router躺一边凉快去

hiisea

vue.js 前端 开源项目 前端框架 React

关于 01 背包问题

HelloWorld杰少

8月月更

行业 SaaS 微服务稳定性保障实战

阿里巴巴云原生

阿里云 微服务 云原生 可观测

SRv6网络演进面临的挑战

穿过生命散发芬芳

8月月更 SRv6

git 安装与体验

Jason199

git 签约计划第三季 8月月更

磁盘管理-Linux系统磁盘管理

Albert Edison

Linux 磁盘 8月月更

Linux工具之Vim编辑器

TimeFriends

8月月更

Java网络编程IO模型 --- BIO、NIO、AIO详解

Bug终结者

Java io 8月月更

是什么,让中国成为一台超级计算机?

脑极体

2021-Java后端工程师必会知识点-(分布式RPC框架Dubbo)

自然

RPC 8月月更

【LeetCode】使数组中所有元素都等于零Java题解

Albert

LeetCode 8月月更

SAP Analytics Cloud 和 SAP Cloud for Customer 两款 SaaS 软件的集成

汪子熙

SaaS 云平台 系统集成 8月月更

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