Fetch.ai的突破使急速闪电共识成为现实
区块链的终结问题是由于技术限制,它已经成为区块链技术被广泛采用的障碍。用外行的话来说,终结时间可以看作是事务首次提交到网络并被确认为有效之间的等待时间。为了成功地革新我们的经济体系,区块链必须实现实时终结,提供与集中式支付系统类似的体验。
在Fetch.ai,我们一直在研究终结问题,并很高兴地宣布一个密码学突破,将使交易确认的速度得到巨大的改善,同时也提高了安全性。我们最近发表的论文解释了这是如何实现的。在这篇Medium文章中,我们概述了引导共识设计至最先进水平的历史,以及我们的密码学技术创新如何推动该领域向前发展。

任何持有过比特币的人都会熟悉,花一个小时等待他们的交易得到确认。与黄金相比,或作为稳定价值存储的实物资产,比特币交易速度相对较快,成本较低。但与此同时,没有人愿意等一个小时去买一杯咖啡。而未来的经济系统,如物联网设备网络,将需要比任何第一代区块链都更快、更经济几个数量级的微交易。
最近的区块链设计试图通过切换到权益证明(PoS)来克服比特币的工作证明(PoW)共识机制的费用和低效,其中节点通过质押代币而不是证明能源(或工作)已经被消耗。PoS的一个优点是它使块的生成速度比PoW更有规律,因此也更快。
快速地区块生产意味着可以更快速地将事务输入到块中,这是加速其确认的一种方法。权益证明加快事务终结的另一种方法是引入决定论,这样在向链中添加更少的块之后,一个块就完成了。比特币对终结的概率定义意味着一笔交易不可能像确认那样得到保证,但六个区块已经成为比特币大多数用户所接受的终结操作定义。
以小时记的等待比特币交易结束是由于需要六个区块确认,以及大约10分钟的区块时间。
结束时间=区块确认数×块时间
在大多数PoS系统中,块确认的数量最多为两个,而块生产时间可以减少到秒,从而导致终结时间也是几秒。这种速度下的性能将允许区块链与集中支付系统竞争。这些集中系统使用一个需要几天时间才能完成的结算过程,但通过在商家、支付提供商和银行之间使用可信的通信渠道,会给人一种速度快的错觉。需要注意的是,区块链设计的大多数方面都涉及不同的权衡。在概述了PoS的优点之后,我们现在继续讨论它的一些局限性,以及Fetch.ai的新密码学方案如何推进该技术的发展。
具有确定终结性的PoS方案的特点是有资格参与共识验证器的公开记录。因为验证器的身份是已知的,所以在将一个块添加到链之前,它们可以相互通信来确定它的有效性。这个想法是基于实用的拜占庭容错(pBFT)协议家族的基础,这些协议支持加密货币,如EOS、Neo和Tendermint。
这些PBFT衍生协议提供了即时的终结,但引入了两个额外的问题。首先,额外的通信开销限制了共识可以支持的验证器的数量。这取决于共识的细节,但上限从少数到最多可能是几百个验证器。第二个问题是,验证器提出块的顺序通常以常规模式发生,因此下一个块生产者的身份是预知的。这使得验证器容易受到分布式拒绝服务(DDoS)攻击,从而阻止它与网络的其他部分通信。这些DDoS攻击可以通过将共识节点隔离在一个负载均衡的岗哨节点墙后面来抵抗,从而使其能够在攻击期间继续运行。然而,这实际上增加了运行验证器节点的成本。
pBFT的另一个替代方法是允许验证器提出块,然后使用投票(或公证)以确认哪些区块有效。这种方法可以应用于Fetch.ai最小智能体共识中使用的区块链或瞬态有向无环图(DAG)。在这一系列协议中,区块产生的可预测模式被一个无偏置的、加密的安全分散随机信标(DRB)所取代,DRB隐藏下一个块产生者的身份,直到最后一刻。这复制了PoW挖矿固有的随机性,但没有巨大的财务和环境成本。这一特性,加上内置的冗余验证器(可通过该验证器授权来生成块),使这些协议对DDoS攻击的抵抗力大大增强,从而使其能够支持更多的验证器,并且与BFT协议相比,通常可提高块产生率。
DRB的核心是一个加密协议,它涉及将验证器群的消息聚合到单个伪随机值中。伪随机意味着该值是确定性的,但具有与真正随机过程相似的性质。DRB的另一个关键特性是,任何单独的验证程序都无法预先对其进行预测。这个过程似乎几乎“神奇”,但这些技术有一个非常健全的数学基础,我们将在后面的一篇文章中更详细地解释。
Fetch.ai DRB以两种方式超越了现有的最新BLS方案。首先是它使DRB的计算速度至少快了三倍,从而提高了创建块的最大速率。这样既提高了吞吐量,又提高了交易的确定性。第二个优点是,我们DRB的安全性已使用更严格的密码模型进行了验证,这限制了攻击者破坏系统的范围。我们目前正在准备一份描述加密方案的文件,供一次大型安全会议进行同行评审。我们预计,这项创新以及应用多智能体系统理论来优化成本,将使Fetch.ai区块链实现其未来数字经济的目标。
同时,我们非常相信不断上升的潮流可以提振所有人,提供区块链技术的好处远比任何单个项目的成功都重要。因此,我们已经在Github上为DRB提供了一个经过优化并充分记录的C ++实施档案,并在Apache 2.0许可证下发布。在接下来的几周中,我们还计划进行外部安全审核,并将提供与其他编程语言的绑定,以使该技术能够得到尽可能广泛的应用。最后,我们还将接触到其他我们钦佩的项目,分享这种令人兴奋的新技术的好处。
如果您有兴趣将我们的DRB集成到您的项目中,我很高兴在Telegram或Twitter上收到您的想法和评论。正如我之前提到的,我还将在接下来的几周内写另一篇Medium文章,描述DRB背后的更多理论,所以请继续关注后续的更新。
Fetch.ai的突破使急速闪电共识成为现实的更多相关文章
- Fetch.AI 首席技术官Toby Simpson参与AMA活动
感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...
- 阐述Fetch.ai的能源市场优化
原文链接:https://fetch.ai/explaining-fetch-ais-energy-market-optimization/ 阐述Fetch.ai的能源市场优化 2019年11月4日 ...
- Fetch.AI的最新发布speaks your language
更新增强长期网络的稳定性 包括新的Etch功能,使我们的代码比以往对开发人员更加友好.我们现在支持太阳下的每一种语言,包括普通话,希腊语和希伯来语-甚至表情符号 介绍我们很高兴地宣布我们最新的技术更新 ...
- AI案例
https://www.bilibili.com/read/cv830627 到底什么是人工智能?人工智能能做什么?这是大家最关心的问题,但说到真正能够理解的话,还是只小部分专业人士.这篇文章 ...
- AI翻译离无障碍交流有多远
AI翻译服务通过硬件.软件连接千千万万个应用场景,会打破语言不通的尴尬局面吗?会是人工翻译的终结者吗? 世界这么大,我想去看看!十一长假临近,梦想中的你背起行囊,自由行走在异国的大街小巷.然而现实的画 ...
- AI小白快上车!这是发往高薪职位的车!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云AI中心发表于云+社区专栏 AI到底有多火?看看下面这组数据: 腾讯研究院<2017全球人工智能人才白皮书>报告中提 ...
- AI本质就是“暴力计算”?看华为云如何应对算力挑战
随着AI人工智能技术的飞速发展,相关的AI应用场景已经拓宽至各行各业.你可能想象不到的是,现在大家手上的智能手机的运算能力,甚至比美国航空航天局1969年登月计划中最先进计算机还高出几百上千万倍乃至更 ...
- 腾讯自动化测试的AI智能
引子: 本文是林奕在腾讯 DevDays 2018 分享内容的脱敏整理,介绍了 CSIG 测试开发中心(前 SNG 测试开发中心)在自动化测试领域所做的智能化尝试. 大致分成下面几部分: 使用AI面对 ...
- postmark使用
一.Postmark原理 Postmark是由着名的NAS提供商NetApp开发,用来测试其产品的后端存储性能. Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是: ...
随机推荐
- Python 报错:NameError: name 'ctypes' is not defined
使用python中的ctypes模块可以很方便的调用windows的dll(也包括linux下的so等文件) 引入ctypes库 有两种方法 from ctypes import * import c ...
- Java——int、double型数组常用操作工具类
学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿. public class ArrayUtils { //求 ...
- Android学习笔记使用Notication 显示通知
实现步骤 代码实现 创建MainActivity和DetailActivity(点击通知后要跳转的Activity),两个Activity的布局文件就是添加一张全屏的背景图,老规矩,不粘贴. Main ...
- rust 学习之旅一, rust编程环境相关
Mac rust环境 rust安装: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rust更新: rustup upd ...
- 【Key】 Windows 95 到 Windows10所有KEY 包括OEM系统
部分可能不准确,请见谅,数据源自Baidu,由noogai00整理,数据为Microsoft.所有 Windows 95 02398-OEM-0030022-5886409297-OEM-002128 ...
- 微服务配置中心 Apollo 源码解析——Admin 发送发布消息
内容参考:https://www.toutiao.com/a6643383570985386509/ 摘要: 原创出处http://www.iocoder.cn/Apollo/admin-server ...
- ImageLoader在Gridview中的使用
原理和ImageLoader在Listview中的使用一样,只有下面的几点变化 主页面的布局 <?xml version="1.0" encoding="utf-8 ...
- leetcode1028 从先序遍历还原二叉树 python 100%内存 一次遍历
1028. 从先序遍历还原二叉树 python 100%内存 一次遍历 题目 我们从二叉树的根节点 root 开始进行深度优先搜索. 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是 ...
- Python3-pymysql模块-数据库操作之MySQL
博客转载 http://www.cnblogs.com/alex3714/articles/5950372.html 代码示例 import pymysql conn = None cursor = ...
- 为Linux主机安装图形化桌面环境
本文主要介绍在Linux实例中,centos 7 以及ubutun 14如何安装图形化桌面环境. CentOS 7 此处以安装MATE桌面环境为例,步骤如下. 说明:在安装重启后,如果卡在启动页面,需 ...