What is Cardano Blockchain? [The Most Comprehensive Step-by-Step Guide]

Ameer Rosic

2 years ago
what is cardano

什么是卡达诺?...

其中一个最有趣的项目已经出来是卡达诺。 与以太坊类似,Cardano 是一个智能合约平台,然而,Cardano 通过分层架构提供可扩展性和安全性。

Cardano 的方法在空间本身是独一无二的,因为它建立在科学哲学和同行评审的学术研究的基础上。 在本指南中,我们将对 Cardano 做一项详细的研究,并查看一些更有趣的创新,它带来的表。 如果您对学习如何构建自己的 Cardano 更感兴趣-请查看我们的区块链课程。

卡达诺的起源

卡达诺是由查尔斯 · 霍金森的概念化谁碰巧是联合创始人之一复仇。

What is Cardano Blockchain? Step-by-Step Guide

上图:查尔斯 · 霍金森。 图片配额:IOHK。

虽然以太坊作为一个智能合约平台做了一个令人钦佩的工作,但据 Hoskinson 说,它是第二代区块链(稍后更多),需要进化。 让 Cardano 极其引人注目的是大量的护理,进入其维持工作。 有三个组织全职工作,以发展和照顾卡达诺。

它们是:

卡达诺基金会。

IOHK。

埃姆尔戈

卡达诺基金会是一个非盈利性受管制的实体,是卡达诺的托管组织。 其主要功能是 “标准化、保护和促进 Cardano 协议技术”。

2015 年,霍斯金森与伍德一起,找到了 IOHK(输入输出香港)。 IOHK 是一家 “研发公司,致力于利用区块链的点对点创新,为所有人构建无障碍金融服务。” 他们签订了建造、设计和维护卡达诺的合同,直到 2020 年。

最后,我们有埃姆尔戈。 Emurgo 是一家日本公司,“开发、支持和孵化想要使用区块链技术彻底改变其行业的商业企业。” IOHK 的大部分资金来自与 Emurgo 签订的 5 年合同。

这三个组织协同工作,以确保卡达诺的发展正在以良好的速度进行。 所以,现在你可能想为什么卡达诺被要求摆在首位。 卡达诺将自己描述为第三代区块链。 让我们看看这是什么意思?

区块链的三代人

据查尔斯 · 霍金森说,我们已经经历了三代的区块链。

第一代:比特币和汇款

比特币的创建是因为每个人都问同样的问题。

是否有可能创造一种可以在两个人之间转移的钱形式,没有任何中间人?

What is Cardano Blockchain? Step-by-Step Guide

是否有可能创建一个分散的钱,可以在像区块链这样的东西上运行?

中本聪回答这些问题,当他创建比特币。 我们终于有一个分散的货币体系,可以把钱从一个人转移到另一个人。

然而,比特币有一个问题,这是所有第一代区块链的问题。他们只允许货币交易,没有办法为这些交易添加条件。

爱丽丝可以发送 Bo勃 5 BTC,但她不能对这些交易施加条件。 例如。 她不能告诉 Bo勃,只有当他执行某些任务时,他才能拿到钱。

这些条件将需要极其复杂的脚本。 需要一些东西才能使这个过程更加顺畅。

第二代:以太坊和智能合约

那个 “东西” 是一个聪明的合同。

什么是智能合约?

智能合约可帮助您以透明、无冲突的方式交换金钱、财产、股票或任何有价值的东西,同时避免中间人的服务。

维塔利克 · 布特林的复仇很容易是这一代的坚持。 他们向世界展示了区块链如何从一个简单的支付机制演变到更有意义和更强大的东西。

然而,这一代人也有一些问题。

随着越来越多有趣的区块链用例的出现,他们越来越被接受。

问题是,这些代人的区块链并没有很好的可扩展性规定。 与此同时,这些区块链的治理体系并没有那么深思熟虑。 举例来说,以太坊和以太坊经典的分裂,据 Hoskinson,是一个典型的例子(没有双关语意图)的不良治理。

这是第三代进来的地方。

第三代:卡达诺

霍金森知道,区块链需要进化甚至更多。 他把积极元素从前两代区块链,并添加了一些他自己的元素。 这是卡达诺

卡达诺想解决的三个因素是:

可扩展性。

互操作性。

可持续性.

如前所述,Cardano 是独一无二的,因为它建立在科学哲学和同行评审的学术研究的基础上。 所有的工程设计都以 “高保证准则” 为最终目标。 这样做是为了确保对所用代码的质量有更高的信念(稍后在 “Haskell 和 Plutus” 部分中详细介绍这一点)。 据霍金森说,这将防止像 ETH-ETC 分裂这样的未来情况发生。

因此,在我们继续之前,让我们来探索 Cardano 的理念。

卡达诺哲学

卡达诺团队想要坚持一套原则和哲学。 他们没有提出适当的路线图或白皮书。 相反,他们专注于接受 “设计原则、工程最佳实践和探索途径的集合”。

以下是这些原则,它们直接从 Cardano 网站获取。

将会计和计算分为不同的层。

在高度模块化功能代码中实现核心组件

学术和开发者小组与同行评审研究竞争

大量使用跨学科团队,包括早期使用 InfoSec 专家

在白皮书、实施和新研究之间快速迭代,以纠正审查期间发现的问题

建立在不破坏网络的情况下升级部署后系统的能力

为今后的工作建立分散供资机制

长期观点,改进加密货币的设计,使他们可以在移动设备上工作,具有合理和安全的用户体验

让利益相关者更接近其加密货币的运营和维护

确认需要在同一分类账中记录多个资产

将事务抽象化,包括可选元数据,以便更好地满足遗留系统的需求

通过拥抱有意义的功能,从近 1000 个硬币中学习

采用受互联网工程任务组启发的标准驱动流程,使用专用基础锁定最终协议设计

探索商业的社会元素

找到一个健康的中间地带,让监管机构与商业互动,同时不损害比特币继承的一些核心原则。

现在,我们已经看到了哲学,让我们来看看 Cardano 旨在解决的三个要素。

元素 #1:可扩展性

当人们说 “可扩展性” 时,他们总是会想到每秒处理的事务或吞吐量。 然而,据霍斯金森说,这只是问题的一部分。 总的可扩展性是一个三头九头蛇可以这么说。 人们需要照顾三个单独的要素:

每秒交易/吞吐量

网络。

数据扩展。

#1 吞吐量

许多文章已经写在比特币和以太坊缺乏吞吐量。 比特币每秒管理 7 笔交易,以太坊管理 15-20 笔交易。 这对于金融系统来说绝对是不可接受的。

卡达诺希望解决这个问题与他们的共识机制,奥罗博洛斯。 它是一种可证明安全的权益证明算法。 Ouroboros 实际上在加密 2017 期间进行了同行审查和批准。

如前所述,Ouroboros 是一个证据的股权算法。 在我们深入了解该机制之前,我们必须知道什么是利害关系证明。

比特币和以太坊(至少现在)遵循工作证明协议。

作为流程的工作证明有以下步骤:

矿工解决密码难题,以 “挖掘” 一个块,以添加到区块链。

这个过程需要大量的能量和计算用量。 拼图的设计方式使得它很难和征税的系统。

当矿工解决了这个难题,他们向网络展示他们的区块进行验证。

验证块是否属于链条是一个非常简单的过程。

这实质上就是工作证明制度。 解决这个难题很困难,但检查解决方案是否真的正确很容易。 这是比特币和以太坊(直到现在)一直在使用的系统。 然而,该系统存在一些根本性的缺陷。

工作证明的问题。

事实证明,工作证明有不少问题。

首先,证明工作是一个非常低效的过程,因为它消耗了大量的电力和能量。

能够负担得起更快、更强大的 ASIC 的人和组织通常比其他人有更好的挖掘机会。

因此,比特币并不像想要的那样去中心化。 让我们来检查散列率分布图:图像信用:区块链 .info

正如你所看到的,约 75 % 的哈希率被分为 5 个采矿池!

从理论上讲,这些大型采矿池可以简单地相互合作,并在比特币网络上启动 51 %。

所以,要解决这些问题,以太坊着眼于证明的股权作为一个解决方案。

什么是股份证明?

股权证明将使整个采矿过程成为虚拟的,并用验证器取代矿工。

这是该过程的工作方式:

验证者将不得不锁定他们的一些硬币作为股份。

之后,他们将开始验证块。 也就是说,当他们发现一个他们认为可以添加到链条中的块时,他们会通过投注来验证它。

如果块被追加,那么验证者将获得与其投注成比例的奖励。

What is Cardano Blockchain? Step-by-Step Guide

现在我们知道了 POS 是什么样子了,让我们来看看 Ouroboros 背后的机制。

卡达诺:引擎盖下的奥罗博罗斯

Ouroboros 着眼于令牌在生态系统中的分布,并从随机数字的来源,它将世界分成一个时代。 然后,每个纪元被分成插槽。 每个纪元持续很短的时间〜 20 秒。

What is Cardano Blockchain? Step-by-Step Guide

图片配额:卡达诺文档

每个插槽然后得到自己的插槽领导者, 谁是随机选择.

What is Cardano Blockchain? Step-by-Step Guide

插槽领导者就像矿工在 POW 协议中一样,因为他们是选择被添加到区块链的块的人。 但是,它们只能添加一个块。

What is Cardano Blockchain? Step-by-Step Guide

如果一个插槽领导者以某种方式错过了他们的机会,并且没有选择块,他们就会错过他们的机会,不得不等到他们再次成为插槽领导者。 一个或多个插槽保持空是好的(没有生成的块),但大多数块(至少 50 % + 1)必须在一个时代生成。

正如你所看到的,插槽领导人在生态系统中发挥非常重要的作用。 要获得资格,必须拥有 2 % 的卡达诺股份。 这些利益相关者被称为选民,他们是谁在当前时代为下一个时代选出插槽领导者. 利益相关者在该系统中的股份越多,他们获得当选为插槽领导者的机会就越多。

现在,由于插槽领导者有很多权力,必须特别注意使选举尽可能公正。 一定有一定程度的随机性。 这就是为什么多方计算(MPC)来实现某种形式的随机性。

在这种 MPC 方法中,每个选民执行一个叫做 “投币” 的随机动作,然后与其他选民分享他们的结果。 虽然结果是由每个选民随机生成的,但他们最终同意相同的最终值。

选举分为三个阶段:

承诺阶段.

显示阶段

恢复阶段。

让我们来探讨每个阶段会发生什么。

承诺阶段

首先,选民产生一个秘密的随机值,然后形成 “承诺”。 承诺是包含加密共享的消息(在恢复阶段请记住这一点)和秘密证明。

之后,选民用他们的私钥签署承诺,并指定时代号并附加他们的公钥。 这样做解决了两个目的:

每个人都可以检查谁创建了这个承诺(因为它具有附加的公钥)。

他们可以检查它属于哪个时代。

完成后,选民将承诺送交其他选民。 最终,每个选民收集另一个选民的承诺(承诺被放入区块链并成为区块链的一部分)。

显示阶段

第二阶段是显示阶段。

想像承诺,就像一个锁定的盒子,里面有一个秘密,有一个特殊的价值可以解锁盒子。 这一特殊价值被称为 “开放”。 这就是这个阶段的所有关于, 选民送他们的 “开放”. 这些开口也被放入块,然后成为区块链的一部分。

恢复阶段

最后,我们有恢复阶段。

到这个时候,选民既有承诺,也有机会。 然而,有些选民可能会恶意行为,并在未开放的情况下公布他们的承诺。 基本上,给锁定的盒子没有密码。

为了绕过这一点,诚实的选民可以发布所有加密的股份(如承诺阶段中所述),并简单地重建秘密。 这样,即使某些选民以恶意方式行事,该制度仍然有效。 这就是奥罗博洛斯如何获得它的拜占庭容错能力。

最终,选民验证承诺和开口是否匹配,当发生这种情况时,从承诺的秘密被提取,形成种子。 种子是一个随机生成的字节字符串。

所有选民现在都拥有这个种子。

所以,让我们暂停一秒钟,看看我们现在的位置。

我们正在为下一个时代选择插槽领导人. 为了确保选举尽可能不偏不倚,我们需要某种随机性。 “种子” 为我们提供了这种随机性。 现在是时候选择插槽领导.

为此,我们将使用跟随聪(FTS)算法。

卡达诺:FTS 算法

该算法的名称来自比特币的未知创造者中本聪。

What is Cardano Blockchain? Step-by-Step Guide

图片配额:卡达诺文档

FTS 基本上从股权中选择一个随机硬币。 谁拥有那枚硬币,就会成为插槽领军者。 就是这么简单!

这就是为什么,在系统中的赌注越多,他们赢得彩票的机会就越多。

插槽领导者也将有权不仅选择主区块链中的块,还可以选择卡达诺生态系统内的其他区块链中的块。

#2 网络

那么,网络如何影响可扩展性?

简单... 带宽。

交易包含数据。 因此,随着事务数量的增加,对网络资源的需求也随之增加。

这个概念非常简单:如果系统要扩展到数百万用户,网络将需要 100 兆字节或亿字节的资源来维持自身。

因此,不可能保持同质网络拓扑。 这是什么意思?

在同质网络拓扑中,网络中的每个节点都会中继每条消息。 Skype 就是这样一个网络的一个例子,其中大部分的价值取自所有有兴趣拨打电话的单一类用户。

然而,在分散的网络中,这可能会变得不切实际。 所有节点可能没有有效中继信息所需的资源。

为了解决这个问题,Cardano 正在寻找一种新的技术称为 RINA,递归网络间体系结构创建约翰 · 天。 它是使用策略和巧妙的工程原理构建网络的一种新型结构。

RINA 的目标是创建一个异构网络,它有望给:

隐私。

透明度。

可扩展性。

它这样做的方式是,你可以猜测网络将如何以正式身份组织。 希望它将与 TCP/IP协议无缝互操作。 卡达诺希望到 2018 年部分实现这一点,到 2019 年完全实现。

根据维基百科,“RINA 从本质上支持移动性、多宿主和服务质量,而无需额外的机制,提供了一个安全且可编程的环境,激励市场更具竞争力,并允许无缝采用。”

#3 数据扩展

最后,我们有数据扩展。

想想这个。

区块链存储东西永恒。 每一小块数据,相关或不被存储在区块链中永恒。 随着系统的扩展,越来越多的人进来,纯粹的数据涌入,区块链变得越来越庞大。

现在,请记住,区块链运行是因为它由节点组成。 每个节点都是将区块链副本存储在其系统中的用户。

你看到问题在哪里是正确的?

随着区块链变得笨重了,它将需要更多的空间,这对普通用户来说是不合理的,使用普通计算机。

Cardano 希望解决这个问题的方式是通过实施一个简单的哲学,“不是每个人都需要所有的数据。”

例如,如果 Alice 和 Bo勃 (Alice) 参与交易,它可能与网络中的任何其他人无关。 他们唯一需要知道的是,交易发生了,它是合法的。

卡达诺正在研究的技术是:

修剪。

订阅

压缩。

如果这些数据是协同应用的,那么它实际上可能会大大减少用户需要拥有的数据量。

除此之外,还有分区的概念。 这实际上意味着,用户不必拥有整个区块链,而只需拥有区块链块,并大大减少他们需要存储的数据量。 他们希望通过侧链来做到这一点(稍后更多关于这一点)。

Cardano 的目标是使用所有这些信息来压缩用户需要使用的数据,而不损害安全或保证他们的交易已经正确通过。 这方面的研究已经在爱丁堡大学开始。

元素 #2:互操作性

现在我们已经看到了 Cardano 的可扩展性方面是如何工作的,我们现在来到了第二个支柱:互操作性。 互操作性的长短是,正如查尔斯 · 霍金森所说,不会有一个令牌来统治它们。

让我们来看看目前的生态系统。 在加密领域,我们有不同的加密硬币,如比特币,以太坊,莱特币等。同样,在传统的金融世界,我们有像使用 SWIFT,ACH 等传统银行这样的系统。

问题在于,这些实体彼此沟通极为困难。 比特币很难知道以太坊发生了什么,反之亦然。 当银行试图与密码进行通信时,这变得加倍困难。

这就是为什么,提供密码和银行之间的门户的加密交易所变得如此强大和重要。 然而,本身存在一个问题。 交易所不是一个分散的实体,而且极易受到伤害。

他们可能会被黑客攻击。

它们可以长时间停电以进行系统升级。 这基本上是 Binance 最近发生的事情。

此外,还有一个领域,传统世界和加密世界之间的这种错误沟通可能会导致灾难性的结果:ICO。

在 ICO 中,一个实体获得数百万美元以换取他们的代币,但是,将这笔钱保存在他们的银行账户中可能会变得困难。 银行显然想知道这些钱来自哪里,是谁提供这笔钱,这是几乎不可能提供的。

需要一种更加优雅和无风险的互操作性解决方案。

第三代加密硬币必须提供一个生态系统,每个区块链都可以与另一个区块链和外部遗留金融系统进行通信。

所以,让我们来看看 Cardano 计划如何提高加密世界和传统世界的互操作性。

加密世界:链间通信和侧链

卡达诺的愿景是创建一个 “区块链互联网”。 想象一下,一个生态系统,比特币可以流入以太坊和波纹可以无缝流入莱特币,而无需通过集中式交流。 这就是为什么跨链传输是 Cardano 想要实现的东西,没有任何中间人

卡达诺想要做到这一点的一种方法是实施侧链。

侧链作为一种概念已经在加密圈子中已经有一段时间了。 这个想法非常简单; 你有一个并行链,它与主链一起运行。 侧链将通过双向挂钩连接到主链上。

Cardano 将支持基于基亚斯,米勒和津德罗斯(KMZ)的研究侧链,涉及 “工作证明的非交互证明”。

据霍斯金森说,侧链的想法来自两件事:

获取区块链的压缩版本。

创建链之间的互操作性。

遗产世界:弥合差距

当涉及到提高与传统世界的互操作性时,Cardano 希望专注于使加密世界与传统世界不兼容的三个障碍:

元数据。

归因。

合规性。

障碍 #1:元数据

元数据表示事务背后的故事。

如果爱丽丝花费 50 美元,那么其元数据可能如下:

爱丽丝把钱花在什么上?

爱丽丝把钱给了谁?

她把钱花在哪里?

虽然在加密货币领域没有那么周密规划,但在传统的银行业中它是极其重要的。 事实上,这是大多数实体挣扎 ICO 的主要原因之一。 他们根本没有提供银行所需的元数据。

在传统世界中,元数据极为重要。 以下是它服务的目的:

资源发现和识别。

有效的电子数据组织。

告诉我们如何在不同系统之间交换数据,从而提高互操作性。

在资源保护方面非常有用。 帮助确定数据的特性和行为,以便在需要时进行复制。

然而,元数据的问题在于,它非常个人化,由于数据是永久和透明地存储在区块链中,所以我们有一个非常私人的信息可以被永久地粘贴到区块链上。

Cardano 研究的主要内容之一是如何选择性地将元数据附加到链中。

障碍 #2:归因

与元数据类似,通过归因来了解交易所涉人员的姓名。 基本上,谁是特定交易归因于谁?

如果区块链永久修复归属本身,它将大大损害所涉个人的隐私。

因此,Cardano 计划授权他们的用户在需要时提供归属。

障碍 #3:合规性

第三个障碍是 “遵守”.

合规性包括:KYC(了解客户)、AML(反洗钱)、ATF(反恐怖融资)等。

合规性用于检查交易的合法性。 基本上,如果爱丽丝支付 Bo勃 $50,合规性用于确保交易不会用于任何邪恶的目的。

虽然加密世界在这方面并没有真正做很多事情,但在银行业中这是非常关键的,因为银行业必须知道每笔交易的历史和合法性。

Cardano 正在研究的是如何将元数据和归因与合规性结合使用,以帮助用户在需要与银行互动时使用。

元素 #3:可持续性

最后,我们来到第三个支柱,即可持续性。

据霍斯金森说,这是最难解决的。 它基本上意味着,Cardano 计划如何为其未来的发展和增长付出代价?

通常,当需要在系统中进行一些开发并且需要拨款时,可能会发生以下几件事情:

惠顾。

ICO

但是,他们都有一个问题。

随着惠顾,你有一个可能的集中问题。 如果一家大公司向一家区块链公司提供巨额资助,他们可能会指导系统中的发展情况。

使用 ICO,这就像是突然的金钱冲击,没有任何可持续的模型,它为生态系统添加了一个完全不必要的标记。

需要做一些不同和更可持续的事情。

在这个意义上,Cardano 正计划从短跑中获得灵感,并创建一个国库。

国库如何运作?

每当一个块被添加到链条时,该块奖励的一部分将被添加到财政部。

所以,如果有人想开发并带来一些改变的生态系统,他们提交一个投票给财政部,要求拨款。

Cardano 生态系统的利益相关者然后投票,并决定是否应该授予选票。

如果他们这样做,选票提交者将获得发展赠款。

该系统有几个主要优点:

随着越来越多的区块被发现,财政部不断填充。

它与网络的大小成正比。 网络越大,可用资源越多,投票系统也变得更加分散。

然而,在利用这一方法之前,还存在一些重大障碍。

需要建立公平的投票制度。

选民应该有投票和参与该制度的动力。

每个人的投票应该有一定的价值,以便 “公域悲剧” 类型的情况不会发生。

提交选票的过程应当简单明了.

整个过程应尽可能分散。

到目前为止,Cardano 已经确定了一个他们可以使用的系统,它结合流动民主和一个激励性的财政模式。

卡达诺:液体民主是如何运作的?

这是一个在直接民主和代议制民主之间流动过渡的制度。

What is Cardano Blockchain? Step-by-Step Guide

该过程具有以下功能:

人们可以直接投票他们的政策。

人们可以将投票责任委派给一个代表,该代表可以对他们的政策进行投票。

代表本身可以将其投票责任委托给另一位代表,后者可以代表他们投票。 委托可以指定他们自己的代表的这个属性称为传递性。

如果已授权投票的人不喜欢其代表所选择的投票,那么他们可以简单地收回其投票并投票表决该政策。

那么,流动民主的优势是什么?

每个人的意见都很重要,并在最终的政策制定中发挥作用。

为了成为代表,需要做的就是赢得一个人的信任。 他们不需要花费数百万美元进行昂贵的竞选活动。 因此,入境壁垒相对较低。

由于可以选择在直接民主与委托民主之间摆动,少数群体可以得到更公平的代表权。

最后,它有一个可扩展的模型。 任何没有时间对其政策进行投票的人都可以简单地委托他们的投票责任。

哈斯克爾與冥王星

卡达诺的编码是在 Haskell 中完成的,而他们的智能合约将在 Plutus 中编码。 为了理解为什么这是一种独特的方法,我们需要了解一些关于编程语言的基础知识。

当涉及到语言,他们属于两个家庭:

当务之急

功能性。

命令式编程语言

在命令性的方法中,编码器需要放下计算机需要采取的所有步骤,以实现一个目标。 我们所有的传统编程语言,如 C + +,Java,甚至 Solidity 都是命令式编程语言。 这种编程方法也被称为算法编程。

让我们举一个例子来说明我们的意思。 让我们来看看 C + +。 假设我们要添加 5 和 3。

整数 = 5;

整数 = 3;

整数 c;

c = a + 乙;

因此,正如你所看到的,添加过程需要多个步骤,并且每个步骤都在不断改变程序的状态,因为它们都是依次单独执行的。

添加过程采取四个步骤,步骤是:

声明一个整数 a 并将值 5 分配给它。

声明一个整数 B. 并将值 3 分配给它。

声明一个整数 c。

添加和 b的值并将其存储在 c 中。

卡达诺函数式编程语言

第二类编程语言是函数式语言。 这种编程风格的创建是为了建立一个功能性的方法来解决问题。 这种方法被称为声明式编程。

那么,函数式编程如何工作?

假设有一个函数 f(x),我们要用它来计算函数 g(x),然后我们要用它来与函数 h(x)一起工作。 我们可以简单地将它们全部结合在一个函数中,而不是按顺序解决所有这些问题,如下所示:

h (g (f (x)))

这使得功能方法更容易在数学上推理。 这就是为什么功能程序应该是智能合约创建的更安全的方法。 这也有助于更简单的形式验证,这几乎意味着在数学上证明程序的作用以及它如何作用更容易。 这给卡达诺其 “高保证代码” 属性。

让我们举一个现实的例子,看看为什么它在某些条件下会变得极其重要,甚至拯救生命。

假设我们正在编码一个控制空中交通的程序。

正如你所想象的,编码这样的系统需要高度的精度和精度。 我们不能盲目地编写一些东西,并希望在人们生命受到威胁时获得最好的。 在这样的情况下,我们需要一个可以证明工作在高度的数学确定性的代码。

这正是为什么功能方法如此可取。

而这正是卡达诺使用 Haskell 为他们的智能合约编写生态系统和 Plutus。 哈斯克尔和冥王星都是功能语言。

下表比较了命令式方法与功能性方法。

What is Cardano Blockchain? Step-by-Step Guide

图片积分:文档微软网站

所以,让我们来看看功能方法的优点:

有助于创建高保证代码,因为数学上可以更容易地证明代码的行为方式。

提高可读性和可维护性,因为每个函数都是为了完成特定任务而设计的。 这些职能也独立于国家。

代码更容易折射器,代码中的任何更改都更容易实现。 这使得重复性发展更容易。

单个函数可以很容易地隔离,这使得它们更容易测试和调试。

但是,与一切一样,这种方法也有缺点:

这是新的。

这意味着,找到一个 Haskell 开发人员比找到 C + + 和 Java 开发人员更难,它需要在现实生活中进行广泛测试。

卡达诺 ICO

卡达诺 ICO 募集了约 6200 万美元。

卡达诺的代币以阿达 · 洛夫莱斯的名字命名,这是一个 19 世纪的数学家被公认为第一位计算机程序员和诗人拜伦勋爵的女儿。

卡达诺的第一个主要版本,名为拜伦,于 2017 年 9 月 29 日上线,卡达诺主网的推出。

卡達諾費用

转账 ADA 的费用由以下公式决定:

转账费 = 一个 + 乙 * 大小。

地点:

a = 当前等于 0.155381 反倾销的常数

2 = 另一个当前等于 0.000043946 平均数/字节的常量

size = 事务的大小(以字节为单位)。

这实际上意味着您将支付的最低交易量为 0.155381 ADA,每增加交易量字节就会增加 0.000043946 ADA。

在每个时代,交易费用收集在一个池中,并给予适当的插槽领导.

卡达诺路线图

根据路线图,卡达诺将分五个阶段发布:

拜伦:使用户能够交易和转让 Ada。 卡达诺主网也已启动。

Shelley:确保技术到位,使其成为一个完全分散和自主的系统

Goguen: 将看到智能合约的整合.

巴霍:围绕性能改进。

伏尔泰:IOHK 将增加财政系统和治理。

卡尔达诺:结论

卡达诺不仅建立在坚实的哲学,而且还建立在铁杆科学。 这本身就给它一个显著的优势,其竞争对手。 此外,像查尔斯 · 霍金森这样的人正在领导这一事实只会增加更多的信誉。 我们将不得不等到 2019 年,看看他们是否能够真正兑现他们所有的崇高承诺。

其中一个最有趣的项目已经出来是卡达诺。 与以太坊类似,Cardano 是一个智能合约平台,然而,Cardano 通过分层架构提供可扩展性和安全性。 Cardano 的方法在空间本身是独一无二的,因为它建立在科学哲学和同行评审的学术研究的基础上。 在本指南中,我们将对 Cardano 做一项详细的研究,并查看一些更有趣的创新,它带来的表。 如果您对学习如何构建自己的 Cardano 更感兴趣-请查看我们的区块链课程。 Cardano Cardano 的起源是由查尔斯 · 霍金森的概念化谁碰巧是联合创始人之一复仇。 上图:查尔斯 · 霍金森。 图片配额:IOHK。 虽然以太坊作为一个智能合约平台做了一个令人钦佩的工作,但据 Hoskinson 说,它是第二代区块链(稍后更多),需要进化。 让 Cardano 极其引人注目的是大量的护理,进入其维持工作。 有三个组织全职工作,以发展和照顾卡达诺。 他们是:卡达诺基金会。 IOHK。 埃姆尔戈 卡达诺基金会是一个非盈利性受管制的实体,是卡达诺的托管组织。 其主要功能是 “标准化、保护和促进 Cardano 协议技术”。 2015 年,霍斯金森与伍德一起,找到了 IOHK(输入输出香港)。 IOHK 是一家 “研发公司,致力于利用区块链的点对点创新,为所有人构建无障碍金融服务。” 他们签订了建造、设计和维护卡达诺的合同,直到 2020 年。 最后,我们有埃姆尔戈。 Emurgo 是一家日本公司,“开发,支持和孵化想要使用区块链技术彻底改变其行业的商业企业。” IOHK 的大部分资金来自与 Emurgo 签订的 5 年合同。 这三个组织协同工作,以确保卡达诺的发展正在以良好的速度进行。 所以,现在你可能想为什么卡达诺被要求摆在首位。 卡达诺将自己描述为第三代区块链。 让我们看看这是什么意思? 三代区块链根据查尔斯 · 霍金森的说法,我们已经经历了三代区块链。 第一代:比特币和汇款比特币的创建,因为每个人都问同样的问题。 是否有可能创造一种可以在两个人之间转移的钱形式,没有任何中间人? 是否有可能创建一个分散的钱,可以在像区块链这样的东西上运行? 中本聪回答这些问题,当他创建比特币。 我们终于有一个分散的货币体系,可以把钱从一个人转移到另一个人。 然而,比特币有一个问题,这是所有第一代区块链的问题。他们只允许货币交易,没有办法为这些交易添加条件。 爱丽丝可以发送 Bo勃 5 BTC,但她不能对这些交易施加条件。 例如。 她不能告诉 Bo勃,只有当他执行某些任务时,他才能拿到钱。 这些条件将需要极其复杂的脚本。 需要一些东西才能使这个过程更加顺畅。 第二代:以太坊和智能合约,而 “东西” 是一个聪明的合约。 什么是智能合约? 智能合约可帮助您以透明、无冲突的方式交换金钱、财产、股票或任何有价值的东西,同时避免中间人的服务。 维塔利克 · 布特林的复仇很容易是这一代的坚持。 他们向世界展示了区块链如何从一个简单的支付机制演变到更有意义和更强大的东西。 然而,这一代人也有一些问题。 随着越来越多有趣的区块链用例的出现,他们越来越被接受。 问题是,这些代人的区块链并没有很好的可扩展性规定。 与此同时,这些区块链的治理体系并没有那么深思熟虑 出去。 举例来说,以太坊和以太坊经典的分裂,据 Hoskinson,是一个典型的例子(没有双关语意图)的不良治理。 这是第三代进来的地方。 第三代:卡达诺 · 霍金森知道,区块链需要进化甚至更多。 他把积极元素从前两代区块链,并添加了一些他自己的元素。 这是卡达诺 卡达诺想解决的三个要素是:可扩展性。 互操作性。 可持续性. 如前所述,Cardano 是独一无二的,因为它建立在科学哲学和同行评审的学术研究的基础上。 所有的工程设计都以 “高保证准则” 为最终目标。 这样做是为了确保对所用代码的质量有更高的信念(稍后在 “Haskell 和 Plutus” 部分中详细介绍这一点)。 据霍金森说,这将防止像 ETH-ETC 分裂这样的未来情况发生。 因此,在我们继续之前,让我们来探索 Cardano 的理念。 卡达诺的哲学卡达诺团队想要坚持一套原则和哲学。 他们没有提出适当的路线图或白皮书。 相反,他们专注于接受 “设计原则、工程最佳实践和探索途径的集合”。 以下是这些原则,它们直接从 Cardano 网站获取。 将会计和计算分为不同的层。 在高度模块化的功能代码中实现核心组件的小群学者和开发人员与同行评审研究竞争大量使用跨学科团队,包括早期使用 InfoSec 专家,在白皮书、实施和新研究之间快速迭代,以纠正 审查期间发现的问题建设能够升级后部署的系统,而不破坏网络开发一个分散的筹资机制,用于未来工作的长期观点,改进加密货币的设计,使他们可以在移动设备上工作与合理和安全的用户 经验使利益相关者更接近其加密货币的操作和维护承认需要在同一分类账中核算多个资产抽象交易以包括可选元数据,以便更好地满足遗留系统的需求从近 1000 个账户中学习 通过拥抱有意义的功能 altcoins 采用由互联网工程任务组启发的标准驱动的流程,使用专用基础锁定最终协议设计探索商业的社会元素寻找一个健康的中间地带,让监管机构与商业互动,而不 损害了比特币继承的一些核心原则。 现在,我们已经看到了哲学,让我们来看看 Cardano 旨在解决的三个要素。 元素 #1:可伸缩性当人们说 “可伸缩性” 时,他们总是会想到每秒处理的事务或吞吐量。 然而,据霍斯金森说,这只是问题的一部分。 总的可扩展性是一个三头九头蛇可以这么说。 需要照顾三个单独的元素:每秒交易/吞吐量网络。 数据扩展。#1 吞吐量很多文章都写在比特币和以太坊中缺乏吞吐量。 比特币每秒管理 7 笔交易,以太坊管理 15-20 笔交易。 这对于金融系统来说绝对是不可接受的。 卡达诺希望解决这个问题与他们的共识机制,奥罗博洛斯。 它是一种可证明安全的权益证明算法。 Ouroboros 实际上在加密 2017 期间进行了同行审查和批准。 如前所述,Ouroboros 是一个证据的股权算法。 在我们深入了解该机制之前,我们必须知道什么是利害关系证明。 比特币和以太坊(至少现在)遵循工作证明协议。 工作证明是一个过程有以下步骤:矿工解决密码难题,以 “挖掘” 一个块,以添加到区块链。 这个过程需要大量的能量和计算用量。 拼图有 的设计方式使得它很难在系统上征税. 当矿工解决了这个难题,他们向网络展示他们的区块进行验证。 验证块是否属于链条是一个非常简单的过程。 这实质上就是工作证明制度。 解决这个难题很困难,但检查解决方案是否真的正确很容易。 这是比特币和以太坊(直到现在)一直在使用的系统。 然而,该系统存在一些根本性的缺陷。 工作证明的问题。 事实证明,工作证明有不少问题。 首先,证明工作是一个非常低效的过程,因为它消耗了大量的电力和能量。 能够负担得起更快、更强大的 ASIC 的人和组织通常比其他人有更好的挖掘机会。 因此,比特币并不像想要的那样去中心化。 让我们检查哈希率分布图:图像信用:区块链 .info 正如你所看到的,大约 75 % 的哈希率被单独划分为 5 个采矿池! 从理论上讲,这些大型采矿池可以简单地相互合作,并在比特币网络上启动 51 %。 所以,要解决这些问题,以太坊着眼于证明的股权作为一个解决方案。 什么是股份证明? 股权证明将使整个采矿过程成为虚拟的,并用验证器取代矿工。 这是该过程的工作方式:验证者将不得不锁定他们的一些硬币作为股份。 之后,他们将开始验证块。 也就是说,当他们发现一个他们认为可以添加到链条中的块时,他们会通过投注来验证它。 如果块被追加,那么验证者将获得与其投注成比例的奖励。 现在我们知道了 POS 是什么样子了,让我们来看看 Ouroboros 背后的机制。 卡达诺:Ouroboros 在引擎盖下方 Ouroboros 着眼于生态系统中令牌的分布,并从随机数字的来源,它将世界分成一个时代。 然后,每个纪元被分成插槽。 每个纪元持续很短的时间〜 20 秒。 图片信用: Cardano 文档每个插槽,然后得到自己的插槽领导者, 谁是随机选择. 插槽领导者就像矿工在 POW 协议中一样,因为他们是选择被添加到区块链的块的人。 但是,它们只能添加一个块。 如果一个插槽领导者以某种方式错过了他们的机会,并且没有选择块,他们就会错过他们的机会,不得不等到他们再次成为插槽领导者。 一个或多个插槽保持空是好的(没有生成的块),但大多数块(至少 50 % + 1)必须在一个时代生成。 正如你所看到的,插槽领导人在生态系统中发挥非常重要的作用。 要获得资格,必须拥有 2 % 的卡达诺股份。 这些利益相关者被称为选民,他们是谁在当前时代为下一个时代选出插槽领导者. 利益相关者在该系统中的股份越多,他们获得当选为插槽领导者的机会就越多。 现在,由于插槽领导者有很多权力,必须特别注意使选举尽可能公正。 一定有一定程度的随机性。 这就是为什么多方计算(MPC)来实现某种形式的随机性。 在这种 MPC 方法中,每个选民执行一个叫做 “投币” 的随机动作,然后与其他选民分享他们的结果。 虽然结果是由每个选民随机生成的,但他们最终同意相同的最终值。 选举分为三个阶段:承诺阶段。 显示相位恢复阶段。 让我们来探讨每个阶段会发生什么。 承诺阶段第一,选民产生一个秘密的随机值,然后形成一个 “承诺”。 承诺是包含加密共享的消息(在恢复阶段请记住这一点)和秘密证明。 之后,选民用他们的私钥签署承诺,并指定时代号并附加他们的公钥。 这样做解决了两个目的: 每个人都可以检查谁创建了这个承诺(因为它具有附加的公钥)。 他们可以检查它属于哪个时代。 完成后,选民将承诺送交其他选民。 最终,每个选民收集另一个选民的承诺(承诺被放入区块链并成为区块链的一部分)。 显示阶段第二阶段是显示阶段。 想像承诺,就像一个锁定的盒子,里面有一个秘密,有一个特殊的价值可以解锁盒子。 这一特殊价值被称为 “开放”。 这就是这个阶段的所有关于, 选民送他们的 “开放”. 这些开口也被放入块,然后成为区块链的一部分。 恢复阶段最后,我们有恢复阶段。 到这个时候,选民既有承诺,也有机会。 然而,有些选民可能会恶意行为,并在未开放的情况下公布他们的承诺。 基本上,给锁定的盒子没有密码。 为了绕过这一点,诚实的选民可以发布所有加密的股份(如承诺阶段中所述),并简单地重建秘密。 这样,即使某些选民以恶意方式行事,该制度仍然有效。 这就是奥罗博洛斯如何获得它的拜占庭容错能力。 最终,选民验证承诺和开口是否匹配,当发生这种情况时,从承诺的秘密被提取,形成种子。 种子是一个随机生成的字节字符串。 所有选民现在都拥有这个种子。 所以,让我们暂停一秒钟,看看我们现在的位置。 我们正在为下一个时代选择插槽领导人. 为了确保选举尽可能不偏不倚,我们需要某种随机性。 “种子” 为我们提供了这种随机性。 现在是时候选择插槽领导. 为此,我们将使用跟随聪(FTS)算法。 卡达诺:FTS 算法该算法的名称来自比特币的未知创造者中本聪。 图片信用:卡达诺文档的 FTS 基本上从股权选择一个随机硬币。 谁拥有那枚硬币,就会成为插槽领军者。 就是这么简单! 这就是为什么,在系统中的赌注越多,他们赢得彩票的机会就越多。 插槽领导者也将有能力不仅选择主区块链中的块,还可以选择卡达诺生态系统中的其他区块链中的块。#2 网络那么,网络如何将网络因素因素影响到可扩展性? 简单... 带宽。 交易包含数据。 因此,随着事务数量的增加,对网络资源的需求也随之增加。 这个概念非常简单:如果系统要扩展到数百万用户,网络将需要 100 兆字节或亿字节的资源来维持自身。 因此,不可能保持同质网络拓扑。 这是什么意思? 在同质网络拓扑中,网络中的每个节点都会中继每条消息。 Skype 就是这样一个网络的一个例子,其中大部分的价值取自所有有兴趣拨打电话的单一类用户。 然而,在分散的网络中,这可能会变得不切实际。 所有节点可能没有有效中继信息所需的资源。 为了解决这个问题,Cardano 正在寻找一种新的技术称为 RINA,递归网络间体系结构创建约翰 · 天。 它是使用策略和巧妙的工程原理构建网络的一种新型结构。 RINA 的目标是创建一个异构网络,承诺给:隐私。 透明度。 可扩展性。 它这样做的方式是,你可以猜测网络将如何以正式身份组织。 希望它将与 TCP/IP协议无缝互操作。 卡达诺希望到 2018 年部分实现这一点,到 2019 年完全实现。 根据维基百科,“RINA 从本质上支持移动性、多宿主和服务质量,而无需额外的机制,提供安全且可编程的环境,激励市场更具竞争力,并允许无缝采用。” #3 数据扩展 最后,我们有数据扩展。 想想这个。 区块链存储东西永恒。 每一小块数据,相关或不被存储在区块链中永恒。 随着系统的扩展,越来越多的人进来,纯粹的数据涌入,区块链变得越来越庞大。 现在,请记住,区块链运行是因为它由节点组成。 每个节点都是将区块链副本存储在其系统中的用户。 你看到问题在哪里是正确的? 随着区块链变得笨重了,它将需要更多的空间,这对普通用户来说是不合理的,使用普通计算机。 Cardano 希望解决这个问题的方式是通过实施一个简单的哲学,“不是每个人都需要所有的数据。” 例如,如果 Alice 和 Bo勃 (Alice) 参与交易,它可能与网络中的任何其他人无关。 他们唯一需要知道的是,交易发生了,它是合法的。 卡达诺正在研究的技术是:修剪。 订阅压缩。 如果这些数据是协同应用的,那么它实际上可能会大大减少用户需要拥有的数据量。 除此之外,还有分区的概念。 这实际上意味着,用户不必拥有整个区块链,而只需拥有区块链块,并大大减少他们需要存储的数据量。 他们希望通过侧链来做到这一点(稍后更多关于这一点)。 Cardano 的目标是使用所有这些信息来压缩用户需要使用的数据,而不损害安全或保证他们的交易已经正确通过。 这方面的研究已经在爱丁堡大学开始。 元素 #2:互操作性现在我们已经看到了 Cardano 的可扩展性方面是如何工作的,我们现在来到了第二个支柱:互操作性。 互操作性的长短是,正如查尔斯 · 霍金森所说,不会有一个令牌来统治它们。 让我们来看看目前的生态系统。 在加密领域,我们有不同的加密硬币,如比特币,以太坊,莱特币等。同样,在传统的金融世界中,我们有像使用 SWIFT,ACH 等传统银行这样的系统。问题在于,这些个体实体很难与 彼此。 比特币很难知道以太坊发生了什么,反之亦然。 当银行试图与密码进行通信时,这变得加倍困难。 这就是为什么,提供密码和银行之间的门户的加密交易所变得如此强大和重要。 然而,本身存在一个问题。 交易所不是一个分散的实体,而且极易受到伤害。 他们可能会被黑客攻击。 它们可以长时间停电以进行系统升级。 这基本上是 Binance 最近发生的事情。 此外,还有一个领域,传统世界和加密世界之间的这种错误沟通可能会导致灾难性的结果:ICO。 在 ICO 中,一个实体获得数百万美元以换取他们的代币,但是,将这笔钱保存在他们的银行账户中可能会变得困难。 银行显然想知道这些钱来自哪里,是谁提供这笔钱,这是几乎不可能提供的。 需要一种更加优雅和无风险的互操作性解决方案。 第三代加密硬币必须提供一个生态系统,每个区块链都可以与另一个区块链和外部遗留金融系统进行通信。 所以,让我们来看看 Cardano 计划如何提高加密世界和传统世界的互操作性。 加密世界:链间通信和侧链卡达诺的愿景是创建一个 “区块链互联网”。 想象一下,一个生态系统,比特币可以流入以太坊和波纹可以无缝流入莱特币,而无需通过集中式交流。 这就是为什么跨链传输是 Cardano 想要在没有中间人的情况下实现的东西 Cardano 想要做到这一点的一种方法是实施侧链。 侧链作为一种概念已经在加密圈子中已经有一段时间了。 的 想法非常简单; 你有一个并行链,它与主链一起运行。 侧链将通过双向挂钩连接到主链上。 Cardano 将支持基于基亚斯,米勒和津德罗斯(KMZ)的研究侧链,涉及 “工作证明的非交互证明”。 据 Hoskinson 说,侧链的想法来自两件事:获取区块链的压缩版本。 创建链之间的互操作性。 传统世界:缩小差距当涉及到提高与传统世界的互操作性时,Cardano 希望专注于三个障碍,使加密世界与传统世界不兼容:元数据。 归因。 合规性。 障碍 #1:元数据是指事务背后的故事。 如果爱丽丝花费 50 美元,那么其元数据可能如下:爱丽丝花钱在什么上? 爱丽丝把钱给了谁? 她把钱花在哪里? 虽然在加密货币领域没有那么周密规划,但在传统的银行业中它是极其重要的。 事实上,这是大多数实体挣扎 ICO 的主要原因之一。 他们根本没有提供银行所需的元数据。 在传统世界中,元数据极为重要。 以下是它服务的目的:资源发现和识别。 有效的电子数据组织。 告诉我们如何在不同系统之间交换数据,从而提高互操作性。 在资源保护方面非常有用。 帮助确定数据的特性和行为,以便在需要时进行复制。 然而,元数据的问题在于,它非常个人化,由于数据是永久和透明地存储在区块链中,所以我们有一个非常私人的信息可以被永久地粘贴到区块链上。 Cardano 研究的主要内容之一是如何选择性地将元数据附加到链中。 障碍 #2:归因与元数据相似,通过归因来了解交易所涉人员的姓名。 基本上,谁是特定交易归因于谁? 如果区块链永久修复归属本身,它将大大损害所涉个人的隐私。 因此,Cardano 计划授权他们的用户在需要时提供归属。 障碍 #3:合规第三个障碍是 “合规性”。 合规性包括:KYC(了解客户)、AML(反洗钱)、ATF(反恐怖融资)等。合规性用于检查交易的合法性。 基本上,如果爱丽丝支付 Bo勃 $50,合规性用于确保交易不会用于任何邪恶的目的。 虽然加密世界在这方面并没有真正做很多事情,但在银行业中这是非常关键的,因为银行业必须知道每笔交易的历史和合法性。 Cardano 正在研究的是如何将元数据和归因与合规性结合使用,以帮助用户在需要与银行互动时使用。 元素 #3:可持续发展最后,我们来到第三个支柱,即可持续发展。 据霍斯金森说,这是最难解决的。 它基本上意味着,Cardano 计划如何为其未来的发展和增长付出代价? 通常,当需要在系统中进行一些开发并且需要拨款时,可能会发生一些事情:赞助。 ICO 然而,他们都有一个问题。 随着惠顾,你有一个可能的集中问题。 如果一家大公司向一家区块链公司提供巨额资助,他们可能会指导系统中的发展情况。 使用 ICO,这就像是突然的金钱冲击,没有任何可持续的模型,它为生态系统添加了一个完全不必要的标记。 需要做一些不同和更可持续的事情。 在这个意义上,Cardano 正计划从短跑中获得灵感,并创建一个国库。 国库如何运作? 每当一个块被添加到链条时,该块奖励的一部分将被添加到财政部。 所以,如果有人想开发 并给生态系统带来一些变化,他们提交投票给财政部,要求拨款。 Cardano 生态系统的利益相关者然后投票,并决定是否应该授予选票。 如果他们这样做,选票提交者将获得发展赠款。 该系统有几个主要优点:随着越来越多的区块被发现,财政部不断填充。 它与网络的大小成正比。 网络越大,可用资源越多,投票系统也变得更加分散。 然而,在利用这一方法之前,还存在一些重大障碍。 需要建立公平的投票制度。 选民应该有投票和参与该制度的动力。 每个人的投票应该有一定的价值,以便 “公域悲剧” 类型的情况不会发生。 提交选票的过程应当简单明了. 整个过程应尽可能分散。 到目前为止,Cardano 已经确定了一个他们可以使用的系统,它结合流动民主和一个激励性的财政模式。 卡达诺:液体民主是如何运作的? 这是一个在直接民主和代议制民主之间流动过渡的制度。 该过程具有以下功能:人们可以直接投票他们的策略。 人们可以将投票责任委派给一个代表,该代表可以对他们的政策进行投票。 代表本身可以将其投票责任委托给另一位代表,后者可以代表他们投票。 委托可以指定他们自己的代表的这个属性称为传递性。 如果已授权投票的人不喜欢其代表所选择的投票,那么他们可以简单地收回其投票并投票表决该政策。 那么,流动民主的优势是什么? 每个人的意见都很重要,并在最终的政策制定中发挥作用。 为了成为代表,需要做的就是赢得一个人的信任。 他们不需要花费数百万美元进行昂贵的竞选活动。 因此,入境壁垒相对较低。 由于可以选择在直接民主与委托民主之间摆动,少数群体可以得到更公平的代表权。 最后,它有一个可扩展的模型。 任何没有时间对其政策进行投票的人都可以简单地委托他们的投票责任。 哈斯克尔和冥王星卡达诺的编码是在哈斯克尔完成的,而他们的智能合约将在冥王星中编码。 为了理解为什么这是一种独特的方法,我们需要了解一些关于编程语言的基础知识。 当涉及到语言,他们属于两个家庭:命令式功能。 命令式编程语言在命令式方法中,编码器需要放下计算机要达到目标所需的所有步骤。 我们所有的传统编程语言,如 C + +,Java,甚至 Solidity 都是命令式编程语言。 这种编程方法也被称为算法编程。 让我们举一个例子来说明我们的意思。 让我们来看看 C + +。 假设我们想添加 5 和 3。int a = 5; int b= 3; int c; c = a + b; 所以,正如你所看到的,添加过程需要多个步骤,每个步骤都在不断改变程序的状态,因为它们都是依次单独执行。 添加过程采取四个步骤,步骤是:声明一个整数 a,并为它分配值 5。 声明一个整数 B. 并将值 3 分配给它。 声明一个整数 c. 添加和 2 的值并将其存储在 c. 卡达诺函数式编程语言第二类编程语言是函数式语言。 这种编程风格的创建是为了建立一个功能性的方法来解决问题。 这种方法被称为声明式编程。 那么,函数式编程如何工作? 假设有一个函数 f(x),我们要用它来计算函数 g(x),然后我们要用它来与函数 h(x)一起工作。 而不是按顺序解决所有这些问题,我们可以简单地将它们全部结合在一起 在像这样的单个函数中:h(g(f(x))),这使得功能方法更容易在数学上推理。 这就是为什么功能程序应该是智能合约创建的更安全的方法。 这也有助于更简单的形式验证,这几乎意味着在数学上证明程序的作用以及它如何作用更容易。 这给卡达诺其 “高保证代码” 属性。 让我们举一个现实的例子,看看为什么它在某些条件下会变得极其重要,甚至拯救生命。 假设我们正在编码一个控制空中交通的程序。 正如你所想象的,编码这样的系统需要高度的精度和精度。 我们不能盲目地编写一些东西,并希望在人们生命受到威胁时获得最好的。 在这样的情况下,我们需要一个可以证明工作在高度的数学确定性的代码。 这正是为什么功能方法如此可取。 而这正是卡达诺使用 Haskell 为他们的智能合约编写生态系统和 Plutus。 哈斯克尔和冥王星都是功能语言。 下表比较了命令式方法与功能性方法。 图像信贷:Docs.microsoft.com 所以,让我们来看看功能方法的优点:有助于创建高保证代码,因为它更容易在数学上证明代码的行为方式。 提高可读性和可维护性,因为每个函数都是为了完成特定任务而设计的。 这些职能也独立于国家。 代码更容易折射器,代码中的任何更改都更容易实现。 这使得重复性发展更容易。 单个函数可以很容易地隔离,这使得它们更容易测试和调试。 然而,与一切一样,这种方法也有缺点:它是新的。 这意味着,找到一个 Haskell 开发人员比找到 C + + 和 Java 开发人员更难,它需要在现实生活中进行广泛测试。 卡达诺 ICO 卡达诺 ICO 募集了约 6200 万美元。 卡达诺的代币以阿达 · 洛夫莱斯的名字命名,这是一个 19 世纪的数学家被公认为第一位计算机程序员和诗人拜伦勋爵的女儿。 卡达诺的第一个主要版本,名为拜伦,于 2017 年 9 月 29 日上线,卡达诺主网的推出。 卡达诺费用转账 ADA 费用由以下公式决定:转账费 = a + 乙 * 大小。 其中:a = 当前等于 0.155381 ADA b= 另一个常量,当前等于 0.000043946 ADA /字节大小 = 事务的大小(以字节为单位 0。 这实际上意味着您将支付的最低交易量为 0.155381 ADA,每增加交易量字节就会增加 0.000043946 ADA。 在每个时代,交易费用收集在一个池中,并给予适当的插槽领导. 卡达诺路线图根据路线图,卡达诺将分五个阶段发布:拜伦:使用户能够交易和转让 Ada。 卡达诺主网也已启动。 雪莱:确保技术已经到位,它成为一个完全分散和自主的系统 Goguen:将看到智能合约的整合。 巴霍:围绕性能改进。 伏尔泰:IOHK 将增加财政系统和治理。 卡达诺:结论卡达诺不仅建立在坚实的哲学,而且还建立在铁杆科学。 这本身就给它一个显著的优势,其竞争对手。 此外,像查尔斯 · 霍金森这样的人正在领导这一事实只会增加更多的信誉。 我们将不得不等到 2019 年,看看他们是否能够真正兑现他们所有的崇高承诺。

Like what you read? Give us one like or share it to your friends and get +16

471
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today and earn 128 bonus blocks

Already have an account? Sign In