Jonathan Ward

区块链的终结问题是由于技术限制,它已经成为区块链技术被广泛采用的障碍。用外行的话来说,终结时间可以看作是事务首次提交到网络并被确认为有效之间的等待时间。为了成功地革新我们的经济体系,区块链必须实现实时终结,提供与集中式支付系统类似的体验。

在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的突破使急速闪电共识成为现实的更多相关文章

  1. Fetch.AI 首席技术官Toby Simpson参与AMA活动

    感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...

  2. 阐述Fetch.ai的能源市场优化

    原文链接:https://fetch.ai/explaining-fetch-ais-energy-market-optimization/ 阐述Fetch.ai的能源市场优化 2019年11月4日 ...

  3. Fetch.AI的最新发布speaks your language

    更新增强长期网络的稳定性 包括新的Etch功能,使我们的代码比以往对开发人员更加友好.我们现在支持太阳下的每一种语言,包括普通话,希腊语和希伯来语-甚至表情符号 介绍我们很高兴地宣布我们最新的技术更新 ...

  4. AI案例

    https://www.bilibili.com/read/cv830627     到底什么是人工智能?人工智能能做什么?这是大家最关心的问题,但说到真正能够理解的话,还是只小部分专业人士.这篇文章 ...

  5. AI翻译离无障碍交流有多远

    AI翻译服务通过硬件.软件连接千千万万个应用场景,会打破语言不通的尴尬局面吗?会是人工翻译的终结者吗? 世界这么大,我想去看看!十一长假临近,梦想中的你背起行囊,自由行走在异国的大街小巷.然而现实的画 ...

  6. AI小白快上车!这是发往高薪职位的车!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云AI中心发表于云+社区专栏 AI到底有多火?看看下面这组数据: 腾讯研究院<2017全球人工智能人才白皮书>报告中提 ...

  7. AI本质就是“暴力计算”?看华为云如何应对算力挑战

    随着AI人工智能技术的飞速发展,相关的AI应用场景已经拓宽至各行各业.你可能想象不到的是,现在大家手上的智能手机的运算能力,甚至比美国航空航天局1969年登月计划中最先进计算机还高出几百上千万倍乃至更 ...

  8. 腾讯自动化测试的AI智能

    引子: 本文是林奕在腾讯 DevDays 2018 分享内容的脱敏整理,介绍了 CSIG 测试开发中心(前 SNG 测试开发中心)在自动化测试领域所做的智能化尝试. 大致分成下面几部分: 使用AI面对 ...

  9. p​o​s​t​m​a​r​k​使​用

    一.Postmark原理 Postmark是由着名的NAS提供商NetApp开发,用来测试其产品的后端存储性能. Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是: ...

随机推荐

  1. 【1】svn 指令总结

    [1]svn log 1.svn log 2. [2]svn di [3]

  2. 创建sudo -i免密权限账户

    项目原因,服务器需要创建普通用户,但又不能让用户拿到root密码. 创建用户 [root@bogon ~]# groupadd connect [root@bogon ~]# useradd -g c ...

  3. ubuntu12.04 串口登录系统配置

    原文转自:http://blog.csdn.net/g__gle/article/details/8663239 1) Create a file called /etc/init/ttyS0.con ...

  4. .net core 部署到windows服务上的方法

    前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序, ...

  5. 自动完成 APP【字典树(Trie树)+dfs】

    自动完成 APP 传送门  来源:upc12786 题目描述 奶牛 Bessie 很喜欢用手机上网聊天,但她的蹄子太大,经常会按到好几个键造成不必要的麻烦(丢死人了,你下辈子还是不要当奶牛了).于是 ...

  6. nodejs使用redis实现单例锁

    一个while(true)下使用redis的setnx命令,创建一个唯一标识,在操作执行完后,删除这个标识. 注意resource_name用一个常量,而my_random_value使用一个随机值. ...

  7. idea创建项目

    选项详解如下: Create New Project:创建一个新的工程.Import Project:导入一个现有的工程.Open:打开一个已有工程.比如:可以打开 Eclipse 项目.Check ...

  8. RedHat服务器安装

    为什么选择 RedHat 市场占有率商业化比较高 厂商的支持比较丰富 新手建议ubuntu 进行上手 等熟悉了Linux环境可以选择自己喜欢的发行版 (有些Geeker就是认为Ubuntu太易于使用了 ...

  9. 多语言工作者の十日冲刺<6/10>

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺--第六天(05.05) 作业正文 ...

  10. JSON Web令牌(JWT)介绍与使用

    手机端接口开发会遇到一个问题是,接口登录后需要返回一个Token.token首先有一点必须唯一,每次请求都需要把token给带上.基于必须唯一的特性,很多朋友在开发是都选择了uuid.是不是token ...