IOHK解释的Cardano Architecture-区块链技术

卡达诺建筑Cardano具有复杂的体系结构,并且该项目正在分多个阶段实施。 我们大多数人对Cardano都有非常基本的了解。

在2020年Cardano Shelley峰会上,我们有机会从IOHK技术架构师Duncun Cuotts​​那里获得了Cardano的360度概览。

注意:这是一篇半技术性文章,摘录自Duncun Cuotts​​自己的文字。

卡尔达诺组件

卡尔达诺建筑

节点进程是通过互联网与其他节点进程进行通信的中央系统。 Daedelus是钱包后端。 DB Sync组件将区块链数据同步到SQL数据库中。 然后,您可以使用该数据执行多项操作。

节点内

卡尔达诺建筑

功能的两个大块是共识和库。 顶级集成具有命令行,配置文件等。共识和分类帐彼此不依赖。 对于真正的Cardano网络,我们需要进行一次从拜伦到雪莉的艰苦努力。 集成层选择分类帐的构成。 Ouroborus是区块链算法。 共识块具有各种组件,例如Chain Database,Mempool,还具有硬分叉的功能。 拜伦(Byron)和总帐(Ledger)规则彼此独立。 在此之下,我们有密码学图书馆。 网络模块是“支持共识的网络”。

关键挑战

通过网络进行分布式计算的关键挑战包括:

  • 延迟讯息
  • 腐败行为人,恶意行事
  • 动态参与级别(网络故障)
  • 与时间有关,因为它需要协调才能触发某些事件
  • 激励机制未完全支持权力下放

权益证明的好处

  • PoS签名创建成本低,验证成本低
  • 攻击者和防御者之间的成本达到了很好的平衡
  • PoS签名要求完整的分类帐状态进行验证
  • 需要网络与共识问题之间的互动

设计原则

攻击者和防御者之间的成本平衡是要解决的关键问题。 卡尔达诺牢记以下设计原则

  • 该协议是通过考虑最恶劣的对抗条件而设计的
  • 仅依靠本地或受信任的信息。 我们不能轻易共享声誉信息
  • 最小化典型情况和最坏情况之间的内存使用差异
  • 过量负载下的平稳降级

设计决策的3个主要示例

  • 验证应与链中继进行交织。 仅转发有效的信息。 不要浪费资源。 防止不良数据浪费资源。 断开与不良同伴的连接。
  • 有状态协议–使用长时间运行的会话(TCP会话)。 有机会使用服务器端状态是一种额外的工具。 “拉”式协议避免过载。
  • 有状态的链跟踪协议–分叉链之后很复杂。 具有某些服务器端状态的协议使其变得更加简单。

节点协议

我们在节点之间有协议。 以及节点和客户端之间。 我们将链同步用于节点到节点以及节点到客户端。 对于客户,我们进行整块。 对于节点到节点,我们仅执行标头。 我们没有一个大协议。 我们有3个独立的应用程序级协议。 所有这些都通过单个TCP连接运行。 在本地情况下,我们不需要关心延迟。 在客户端的节点中,查询协议的执行成本很高。

区块链同步协议

下面是主要协议的状态转换图。 这是一个简单但功能强大的协议。

卡尔达诺建筑

共识

卡尔达诺建筑

在中间,我们有链数据库,其中包括链和分类帐状态。 蓝色的小组是线程,每其他一个。 我们有处理协议交互的线程。 链同步协议遵循上游对等方的链。 我们验证标题。 如果发现无效,它将断开连接。 在本地,有最后一个块的副本。

块下载逻辑查看上游对标题,并告诉我们哪个是最长的,我更喜欢哪个。 然后,我们决定下载哪些块以及哪些对等点。 我们选择最好,最快和最快的。

块获取协议下载块并添加到当前链状态。

右侧是下游同行。

内存矿池是放置来自协议客户端的事务的地方。 当链数据库更改时,将不断重新验证Mempool。 信息通过块锻造从Mempool流向链数据库。

行业活动采购

以上所有设计决定都将我们引向事件采购风格。 我们维护所有更改的日志,本质上是区块链。 应用程序处理更改的顺序。 我们使用DB Sync客户端将链数据反映到SQL数据库中。

共识测试

我们生成了数千种方案。 另外,我们对复杂场景进行了系统的随机生成。 我们还生成了最极端的情况,我们知道您无法达成共识。 测试是随机的,但可以确定,所有故障都可以重现。 所有这些发现的错误都是传统方法永远找不到的。

节点是否需要在单独的计算机上?

是。 那主要是为了安全。 中继是面向公众的。 如果您是更大的目标,则可以有效抵御DDOS。 几个中继意味着您很难进行DDOS攻击。

你们整天坐着说话吗?

是。 这是设计中非常重要的部分。 产生简单的解决方案确实是一项艰巨的工作。 最终可以更快地实现。 讨论对于产生高质量代码非常有效。

为什么使用TCP解决方案?

我们依靠我们的协议需求在应用程序级别上保持状态。 在TCP之上进行构建要容易得多。 它适应可用带宽。 您需要TCP,仅仅是因为您需要穿过所有防火墙等。我们不打算在Shelley发布之前进行任何其他更改。

在这种架构中,侧链位于何处?

他们没有。 它们不在我们的体系结构中。 我们尚未正确解决。 有一些论文,但是我们对最终的解决方案还不满意。

之前,正如IOHK研究人员所解释的,我们涵盖了Ouroboros。 请继续关注,我们将进一步了解2020年Cardano Shelley峰会的最新情况。

资讯来源:由0x资讯编译自ALTCOINBUZZ。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢