写点什么

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

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

    阅读完需:约 6 分钟

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

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

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

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

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

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

背景

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

专利概要描述

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

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

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

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

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

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

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

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

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

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

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

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

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

描述示意图

图 1. 区块链示例

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

图 3. 区块格子示例

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

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

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

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

关注

评论

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

浅谈你对单例类中使用volatile关键字的理解 | 超级详细,建议收藏

bug菌

volatile volatile原理 三周年征文 三周年连更

软件测试/测试开发丨接口测试用例之间参数调用

测试人

软件测试 自动化测试 接口测试 测试开发 测试用例

网站SEO排名不稳定怎么办?

海拥(haiyong.site)

三周年连更

Kubernetes 多集群网络方案系列 2 -- Submariner 监控

Se7en

Mac上实用的工具分享

IT蜗壳-Tango

三周年连更

To B第六年,腾讯过分温柔

脑极体

腾讯

一文读懂Spring中的AOP机制

老周聊架构

三周年连更

C生万物 | 函数的讲解与剖析【内附众多案例详解】

Fire_Shield

C语言 三周年连更

一文上手文档智能Document Mind

六月的雨在InfoQ

OCR 文档理解 文档转换 三周年连更 Document Mind

参与开源之夏 x OpenTiny 跨端跨框架 UI 组件库贡献,可以赢取奖金🏆!这份《OpenTiny 开源贡献指南》请收好🎁!

Kagol

开源 Vue 前端 UI组件库

StoreKit:iOS应用内推广其他App

珲少

IPv6地址分类

穿过生命散发芬芳

ipv6 三周年连更

HTTP报文的组成

阿泽🧸

HTTP 三周年连更

markdown格式基础用法

乌龟哥哥

三周年连更

消息队列常见的使用场景

程序员大彬

Java、 消息队列

挑战 30 天学完 Python:Day7 数据类型 - 集合 set

MegaQi

Python 挑战30天学完Python 三周年连更

进程与线程、并行和并发有啥区别 | 社区征文

共饮一杯无

Java 多线程 三周年征文

Mysql常用数据类型及其默认值

will

MySQL varchar 数据类型 tinyint

FastAPI 快速开发 Web API 项目: 响应模型与错误处理

宇宙之一粟

Python FastApi 三周年连更

软件测试/测试开发/接口测试丨Android 高版本无法抓取 HTTPS

测试人

软件测试 自动化测试 接口测试 测试开发

iOS MachineLearning系列(1)——简介

珲少

ER 图是什么?这一篇让你搞懂 ER 图!

产品海豚湾

数据分析 产品设计 ER图 产品架构 业务梳理

Fragment——底部导航栏的实现

芯动大师

Fragment QRadioButton 三周年连更

如何管理你的python包 | python小知识

AIWeker

Python python小知识 三周年连更

抖音起诉某刷量软件侵权获胜,如何严厉打击刷量、数据造假现象

石头IT视角

Vue3 响应式语法糖

程序员海军

Vue 3 三周年连更

NoClassDefFoundError 和 ClassNotFoundException 有什么区别 | 社区征文

共饮一杯无

NoClassDefFoundError 三周年连更 ClassNotFoundException

如何检查 Linux 内存使用量是否耗尽?这5个命令堪称绝了!

wljslmz

Linux 三周年连更

一文了解 Go 标准库 math 和 rand 的常用函数

陈明勇

Go golang math 三周年连更 rand

css水平垂直居中各种方法实现方式

肥晨

三周年连更

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