当前位置:首页 > 区块链新闻 > 正文

DFINITY 究竟是什么?与以太坊相比,DFINITY 的定位如何?

来源: 互联网时间:2019-06-17 15:01:26

目前讨论 DFINITY 的文章还是技术的较多, 普通用户不太容易理解。那么项目最重要的是被大家了解和熟知,根据这样的需求,我写了这篇「DFINITY 简明介绍」,主要让大家了解 DFINITY 的历史背景,也好让大家对 DFINITY 有整体的认知。

原文标题:《DFINITY In A Nutshell — A Non Technical Introduction》
原文作者:Dominic Williams,DFINITY 创始人、首席科学家
文章来源:公众号 DfinityFun
翻译:红军大叔、BlockPunk
链闻经公众号「DfinityFun」和作者「骡觅鸥」授权转载

DFINITY 究竟是什么?与以太坊相比,DFINITY 的定位如何?Dominic Williams,DFINITY 创始人、首席科学家

1 起源

和许多区块链项目一样,DFINITY 的起源可以追溯到比特币和它背后的历史。密码朋克组织在过去一直在努力实现的去中心化的数字货币,而比特币正是从多个这类方案中脱颖而出的。1998 年,我在使用 Wei Dai (密码朋克与加密货币技术基础的主要贡献者)的 Crypto++ 库做项目的时候,偶然发现了他的 b-money 提案。

事实上,中本聪在 2008 年发布的比特币协议,首次为独立运行的计算机构建了一个坚不可摧的共享虚拟账本,这种方式令人印象深刻(在点对点网络中实现的)。

在不同地址上的 token 余额,任何人都可以借助附带的访问控制脚本将 token 发送到一个新地址。他建立的经济激励机制,使得任何一个为网络提供算力与安全保证的个体都能获得奖励。

更重要的是,您可以将中本聪惊为天人的创新,看作是引入了一种新的「有状态」去中心化网络协议,这种协议允许独立参与者在不需要由任何人来统一调度的情况下,在整个互联网中达成一致协作,同意并更新共享「状态」(这里是虚拟账本)。

DFINITY 究竟是什么?与以太坊相比,DFINITY 的定位如何?比特币白皮书,第一个提出了一个可行的,有状态的去中心化网络

2 区块链 2.0

中本聪创造比特币,算是点燃了区块链的导火索,但在一段时间之后,部分人开始质疑它所能承载逻辑的单调性,比特币存在较大局限,于是在 2014 年,以太坊进一步建立了区块链 2.0 的基础。

以太坊不再是一个简单的共享账本,而是一个大家共同享有的虚拟化的「区块链计算机」,这是一台坚不可摧的、无法被篡改的计算机。 在这台虚拟计算机上,你可以安装并运行我们称之为「智能合约」的特殊可互操作程序体,因为任何与以太坊交互的人,都可以非常清晰地了解到,以太坊计算机将如何处理逻辑和存储数据。

640 (1).jpeg

一个区块链计算机,没有具体的物理实例,它无处不在 ,这意味你无法通过登陆操作系统,来篡改数据和运行结果。

但写智能合约的工作并不适合每一个人。以太坊计算机的性能和容量,跟之前的比特币一样也有局限,这使得区块链计算机,并不适用于许多潜在的大型商业应用。和比特币的经济机制一样,以太坊也信奉「代码即法律」的宗旨。这意味着,不存在对平台使用或基础网络本身进行的审查、治理与监管,而恰恰相反的是,很多现实世界的企业,都希望对其进行高强度的治理。

为什么信仰「代码即法律」?这有很多原因,其中一个原因是,如果建立起一个治理中心,并整合到到网路空间上的区块链计算机中,就必然会降低系统的安全性,并会与当地法律法规的治理产生联系与冲突。

3 区块链 3.0

640 (2).jpeg区块链神经系统 —— 基于决策的连锁反应, 该决策由神经元的相互「链接」决定

我们来想象一下区块链 3.0 该有的样子,新型的加密技术以及协议和建立了区块链基础的 PoW、PoS 协议一样至关重要。因为它们可以直接解决当前区块链效率、性能与容量的局限,提供无上限地增加计算与存储能力的方法。

此外,想象一下,「代码即法律」被新的「AI 即法律」所取代。链上所有内容都受制于一个去中介的算法治理系统,结合了群体的智慧和传统人工智能技术, 可以冻结那些损害使用者利益的恶意智能合约(例如 ISIS 奴隶市场,许多公司不愿与之共享网络),减轻黑客对托管系统的影响 , 动态优化网络的安全和经济调节参数,透明地升级底层协议和软件,并且不影响现有用户。

现在你大概对 DFINITY 的第三代区块链网络有足够的想象了 —— 「去中心化的智能云」。

640 (3).jpeg阈值接力技术 - 快速扩展区块链性能的新基石

4 DFINITY 的愿景

DFINITY 的愿景主要有两个方面:

一方面在诸如优步、eBay、社交媒体,聊天软件甚至网络搜索这些传统垄断中心上,可能会使用自主软件重构为「开放式商业」,这些软件将使用自己的分布式治理系统进行自我更新。

另一方面,我们希望利用区块链计算机提供的特性,大规模重构现有的企业 IT 系统,并大幅削减成本。

最后一点现在看来并不明显,因为区块链计算机上的计算成本比传统云 (如 Amazon Web Services) 上要昂贵得多。但是,大幅度的削减成本是可能的,因为运行企业 IT 系统所涉及的绝大多数成本来都自于人的成本,而不是计算本身,而 DFINITY 云,将为建立人力成本超低的业务系统提供可能性。

640 (4).jpeg2015 年 1 月,DFINITY 专注于的首要目标,「研究如何进行去中心化的 web 搜索」

DFINITY 旨在探索新的领域,并证明区块链的可能性,远比任何人迄今为止所认识到的更加宏大。新型加密技术,解锁更多可能性。

5 以太坊的 crazy sister

虽然 DFINITY 是一个独立的项目,但它并不是一个极端主义者的思想,而是以太坊的强力支持者。我们希望 DFINITY 的大部分新加密技术,都可以在以太坊网络中使用。同时我们也会在努力打造更多的可共享技术组件。

DFINITY 可部分的视为以太坊的一个姐妹网络,为开发者提供非比寻常的特性,例如「AI 即法律」。我们的目标是在可能的情况下,提供智能合约的兼容,这样开发者就不必再学习新的技能,让开发变得更容易。

6 DFINITY Q&A

常见问题
Q1 DFINITY 是什么?

DFINITY 是一个由客户端计算机组成的公共网络,它提供了一个「去中心化的世界计算云」。在上面可安装和运行程序,这些程序具备传统区块链上「智能合约」系统的所有优点,在设计时就考虑了,底层技术需要支持搭建高弹性的防篡改私有云。这些私有云还提供了托管软件服务,可以调用公共区块链云上的智能合约,这带来了许多额外的好处。

DFINITY 引入了新的密码学技术和协议,旨在提供极致的性能、无限的可扩展性、互操作性。DFINITY 也引入了一种,被称为区块链神经系统的去中心化的智能链上治理体系。

Q2 什么时候才可以用上 DFINITY?

对于那些对去中心化技术感兴趣的人,DFINITY 项目使用的技术组件正在一步步的公开发布(关键技术之一,「阈值签名接力」技术的相关代码已经发布)。 我们希望在 2019 年第二季度末,上线可供完整使用的测试网络,同时上线我们独特的软件框架,AI 算法治理与其他功能,并于在 2019 年下半年上线主网。

Q3 DFINITY 的灵感来自哪里?

DFINITY 最早可追溯到密码朋克精神和去中心化的理想上去。早在 1999 年,DFINITY 的总裁兼首席科学家多米尼克•威廉姆斯 (Dominic Williams),在使用戴维的 crypto++库时,偶然发现了他的 bMoney 提案。2013 年,多米尼克放弃过去的工作,专注于去中心化技术的研究,在 2014 年一直致力于理论研究。DFINITY 这个名称是去中心化 (decentralized) 和无限 (infinity) 两个词的组合,旨在创建一个具有无限规模的去中心化应用程序平台。

Q4 DFINITY 和学术界是否有紧密的关联?

DFINITY 与学术保持着密切的联系。我们团队位于斯坦福大学附近,而多米尼克的设计在很大程度上是依赖 BLS 算法来创建随机性的,这个算法是由 Dan Boneh 教授和他手下的博士们共同设计的。DFINITY 也是斯坦福区块链研究中心的赞助者。此外,我们非常想通过我们的奖学金计划,为愿意做分布式系统研究的学生提供支持。DFINITY 项目欢迎广大的学者来为我们做贡献 , 感兴趣的话可以与我们联系。

技术类问题
Q5 为何 DFINITY 依赖于随机数?

到目前为止,任何一个能建立「虚拟计算机」的安全抗攻击网络中,让大量客户端节点共同协作的唯一方法,是借助密码学来生成随机数。当然,中本聪建立的工作量证明,实则是让矿工相互竞争,共同寻找符合条件的答案,解答的过程,只能通过暴击计算随机数的方式来实现。最后允许找到随机数的矿工,将交易区块添加到链上。

DFINITY 需要更强大,实现过程操作更少的随机性方案,在固定时间内能更有效地产生随机性。随机性的重要性,不仅仅是在确保矿工共识权力、公平发放出块激励等事务中发挥着重要作用,像 DFINITY 这样的,图灵完备的区块链,需要更高级的随机性,因为智能合约可以自动的操作依赖任何条件(包括随机数)的大笔交易。因此通过操纵相关条件,谋取的潜在收益,可能是非常可观的。

我们找到的解决方案是「阈值签名接力」,它使用加密技术来创建随机性,按照几乎不可摧毁、不可操纵、不可预测的方式,按需选择相应的网络参与者。使用「阈值签名接力」,DFINITY 网络的参与者会生成一个确定性的可验证随机函数(VRF),为整个区块链网络上的协作、运算提供支持。

Q6 随机数对区块链上的应用来说意味着什么?

在开放的区块链云平台上,安全稳定的随机源是必不可少的。多年来,随机性一直是软件系统的关键组成部分,许多应用的实现是依赖于随机数的。除了简单地实现公平抽奖和游戏系统这类应用,随机性更是 DFINITY 的关键目标,即确保那些将代码部署到 DFINITY 上的开发人员,能相信他们的代码会按预期运行(可信计算)。

在自治系统中,可以利用随机性来达成共识。

Q7 为什么不直接把区块哈希当作随机源呢?

区块哈希是可以被攻击者预测或操纵的,因此它不是安全可信的随机源。真正的随机性必须不受任何第三方的影响与预测。区块哈希实际上是可以被操纵并追踪预测的, 从而来攻击网络并盗取资产。

在工作量证明系统中,为了「蒙对」一个区块哈希,你需要创建很多个候选区块,这是需要付出大量成本的。而在没有涉及强力计算的权益证明系统中,验证者可以轻松地修改区块的内容,以得出其哈希值,使得区块哈希失去效用。在任何一种情况下,区块哈希都不足以满足我们需要的随机性。

Q8 DFINITY 网络是如何构建的?

DFINITY 是一个分布式的操作系统。它是由「客户端」共同组成的网络,通常在 P2P 的网络中被称为「节点」。 每个「客户端」必须用自己的身份对广播消息进行签名,这些消息会被记录在全局维护的网络状态中。每个「客户端」都应该提供一些标准化的计算资源,即数据处理能力、网络带宽和存储。计算资源部分使用诸如 USCID 之类的机制, 在后面的 FAQ 中我们会继续解释它们。

Q9 阈值签名接力如何工作?

客户端组成的网络按照上述 FAQ 描述的方式协作。阈值签名接力会产生内部的随机数灯塔,每一个输出的随机数的值,都定义了多个节点(节点也可以自发地形成「阈值组网」)的随机组网。

每个组网的构成完全是随机的,因此组网间存在交叉,一个节点可在多个组网中存在。 在 DFINITY 里每个组网由 400 个节点组成。当建立一个组网时,组网内的成员会自发的使用分布式密钥生成协议来设置 BLS 阈值签名协议。

如果这些节点在有限的几个区块时间内组网成功,节点们就会发送一个特殊的交易,在全网范围里,为自己的组网注册公钥并创建身份,以便成为一个在线组网,参与到接下来的进程中。

「创世网络」会包含一些预设好的组网,其中一个组会被提名,来创建一些包含默认值的签名。这样的签名必须是随机的,如果不是,则组里的消息签名就有被伪造的可能,且阈值签名接力系统也会变得不安全 —— 因为会使用随机值来选择下一轮运作的组网。

然后,有上一组选出的当前组,会在之前产生的随机值上签名,产生一个新的随机值,然后选另外一个组网。通过小组网之间的无限接力,产生一系列的随机值。在加密阈值签名系统中,组网可以通过组网节点在最小阈值的协作下产生消息,然后为消息签名,DFINITY 网络中设置的阈值为 51%。

为了产生阈值签名,组成员会单独对消息签名(这里是前面组的阈值签名),创建「共享签名」,然后广播给其他组成员。

足够多的共享签名,就可以组合为改组的阈值签名,例如,如果组大小为 400,且阈值设置为 201,则收集足够多的节点的消息,将能够构建该组的签名。

每一条「共享签名」都可以由其他组网的节点验证,且客户端利用组的公钥,可以验证每一个组的阈值签名。

BLS 方案的神奇之处在于它的「唯一性和确定性」,这意味从同一组网的任何一个子集中,只要收集到了足够多的共享签名,那么创建出的本组阈值签名,始终都是相同的,并且是唯一的确定的值。

因此,生成的随机值序列,是完全确定的和不可操纵的,组间接力签名的过程就产生了一个可验证随机函数,即 VRF。

虽然随机值的序列,是通过给定一组参与组来预先确定的,但每个新的随机数,只能在当前组网达成最低限度的一致性(即 51% 确认)的情况下产生。

相反,为了使接力过程不会因为没有产生随机数而停止,非正常运行的节点数目必须低于阈值。阈值的设置,使得这种情况几乎不可能发生。

例如,如果组大小设置为 400,并且阈值为 201,则必须有 200 个或更多的进程出错才会停止产生随机数。如果网络中有 10000 个进程,其中 3000 个是错误的,那么接力中止的概率小于 10e-17。

这种系统不仅具有难以置信的鲁棒性,且非常高效。在广播 gossip 协议的网络中,一个有 400 个节点的组网,只需转发大约 20KB 的通信数据,即可产生阈值签名。

同时,借助 DFINITY 的 BLS 阈值加密库,在现代的硬件条件下,可以在不到一毫秒的时间内完成所有操作的计算。

你可以通过阅读 DFINITY 共识白皮书了解有关阈值签名接力的更多信息。

Q10 唯一的副本状态 ID (USCID)是什么?是如何运作的?

DFINITY 的网络被设计为在使用时,能存储无限量的状态,因此一个节点不可能维护所有数据的副本——毕竟,这个数据量可能是以 EB 做单位的(1EB 大约等于 10 亿 GB)。

因此,有必要对跨节点的状态存储进行分区 (切分),这自然会引发一些问题,即需要什么样的副本因子,才能保证足够的安全、。

为了提供有关数据安全性的实际保证,DFINITY 等网络需要在确定所涉及的底层副本因子上做更多工作。

这也能确保节点复制的文件不会太大——毕竟,在 1M 大小的客户端节点上,复制一个超大的副本是荒谬的。

USCIDs 为解决方案,它要求每一个客户端,维护分配给他们的唯一的状态数据的副本 —— 因此缩写为「Unique State Copy ID」。要求每个客户端存储那些被自身派生密钥加密过的全部数据,所有其他客户端都的身份必须是可见的。

使用一种特别调优过的对称加密算法,使得加密相对较慢,解密相对很快。这个算法是这么设计的:虽然可以在数据更新和写入时对其进行加密,但是在有限的时间内,对所有的数据分切状态进行加密是不现实的。

USCID 系统要求客户端在协议通信期间,对其唯一加密状态进行认证。

例如,当节点在阈值接力链 PSP 上产生一个候选块时,它必须包含这样的证明。为了让这个块有机会被包含在链上,并让节点获得回报,区块必须在几秒钟的有限时间内被广播,这时,恶意节点就会出现问题。

认证过程,是在节点特定的加密状态上,进行随机漫步,产生的哈希链的输出——从接力网络中随机数灯塔指的某个随机块开始,将该区块添加到哈希摘要中,然后选择另一个随机区块,如此继续,直到一个所需长度的随机链中的所有块的数据都添加到摘要中。

区块链神经系统
Q11 区块链神经系统是如何控制网络的?

区块链神经系统 (BNS) 可以访问虚拟机中的特殊操作码。这允许 BNS 冻结、解冻和修改其他独立的软件对象 (智能合约)。

它还可以配置用户运行的 DFINITY 客户端软件,比如将网络协议升级到最新版本。

Q12 BNS 是什么意义上的人工智能(AI)?

Dfinity 的 BNS 不是像神经网络或贝叶斯分类器那样的传统 AI。一方面,它需要借助来自人类控制的「神经元」的输入,对提案做出决策,但另一部分决策,是从神经元与非确定性计算进程之间的去中心化「追随」关系中产生的。

BNS 提高了神经元的决策能力,因为当新信息出现并接收到反馈时,神经元就会被所有者重新配置。 决策背后的实际过程是不可知的 : 神经元追随关系,只存在于所有者在自己的计算机上,运行的神经元客户端软件之中,而神经元客户端软件的分布状态是无法被获知的。

这个过程是不确定的,因为时间会影响神经元通过互相追随,传递决策的方式。BNS 的目的是利用大众的智慧和知识来明智地裁定复杂的问题。

Q13 BNS 是如何运行的?

神经元的投票权重与锁定在其中的 token (DFINITIES)来成正比。每个神经元可以在其拥有者的指导下投票,或者自动追随其拥有者配置的地址上其他神经元的投票。

这类似于「流动民主」的概念。在 BNS 中,「跟随」关系只存在于客户端计算机上,并且是不可知的,这就是为什么该系统可能更好地被描述为「不透明的」流动民主。

Bns 使用一个名为「静候」的系统来收集足够的输入,然后做出决定。

Q14 神经元能帮我挣到 DFINITIES 吗?

是的,创建和运行神经元将获得参与奖励。你可以通过锁定 dfinity 的 token (DFINITIES)来创建一个神经元。神经元的权重与持有的 DFINITIES 成比例。

在每一个 DFINITY 轮次结束时,你将获得与你锁定在神经元内的 DFINITIES 数量成比例的奖励。投票越对奖励越多。

节点维护者
Q15 我如何在 DFINITIES 上运行一个节点?

你可以通过运行客户端软件,在 DFINITY 上创建节点,每个客户端软件都必须具有「节点标识」。DFINITY 节点客户端应该为网络提供相对较小但稳定的计算和存储容量。

Q16 我如何获取这些奖励?

在 DFINITY 上运行节点与 PoW 解谜题挖矿的方式非常不同。在 DFINITY 网络中,客户端扮演处理数据的角色,并根据表现获得奖励。

因此,没有必要将你的客户端添加到某种矿池系统中 (这甚至是不可能的),你运行的每个客户端都将收到定期的奖励,因为它将以各种方式参与支持网络。

Q17 神经元能帮我挣到 DFINITIES 吗?

你必须向网络中抵押 DFINITIES,如果你的客户端不能正常运行或尝试欺诈行为,你的押金可能会被罚没。区块链神经系统调整当前规模的安全押金数额,具体是多少,会考虑到价格波动和其他因素。

DEFINITIES
Q18 什么是「DEFINITIES」?

Dfinities 是参与网络运行的 token。

在当前设计中,在网络中存在四个明确的用处:

1、在区块链云上运行(和安装)智能合约的燃料。

2、「节点标识」的押金,缴纳押金后才会允许客户端软件加入网络。

3、通过区块链神经系统,创建可以参与去中心化治理的「神经元」的押金。

4、允许私有 DFINITY 云网络连接到公共网络的押金。

Q19 DEFINITY 网络里用什么作为货币?

虽然 dfinities 是有价值的,并可以进行交易,但团队内部的普遍认为,货币需要保持稳定,应该由现有金融机构使用彩色币模型创建 (比如, 银行为其系统下发行的代币提供支持),或由下一代的加密协议支持,这些加密协议会支持使用这些稳定币的经济体,例如 PHI(PHI 在 2020 年前不太可能上线)。

Q20 DEFINITY 网络是通货膨胀?

在 DFINITY 中,所有的经济政策,都受到区块链神经系统的影响,包括通货膨胀。开始阶段,它将发行新的 dfinities 作为运行节点或使用神经元投票的奖励。

发行的具体数额将与 dfinities 价值的波动有关,也与 BNS 是否希望更多节点加入网络有关,还有一些其他因素。

不过,BNS 最终可能会决定使用稳定币来支付奖励,比如 PHI 或其他一些系统。因为这样可以有效地停止 dfinities 的通胀。

来源链接:mp.weixin.qq.com

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。