第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano

2023-10-16 06:50

本文主要是介绍第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  在第 8 讲中,我们已经讲过了一些成熟的区块链项目,这些项目多数都属于数字货币项目。

  今天我们来聊几个比较创新型的区块链项目,它们非常吸引人们的视线,容易引起话题,一方面它们的市场营销非常成功,另一方面它们也提出了革新的区块链技术概念。

  下面我们来聊聊三个项目。

柚子EOS

1.什么是EOS

  EOS全称EOS.IO软件,EOS也是EOS.IO上的平台代币缩写,它暂时没有准确的中文翻译,中文社区把EOS叫柚子,这一点其实得益于EOS的发音与水果“柚子”相近。

  EOS是一个以太坊的竞争型区块链,它提供了全新的区块链架构,使得去中心化平台水平扩容和垂直扩容都成为了可能。

  如果智能合约是程序,那么可以把EOS看成是一个超大的操作系统了,它为所有的程序,也就是智能合约提供了基本设施。例如账户、授权、数据库、异步通信等接口。

  它甚至可以跨平台驱动大量的CPU或者集群,所以EOS的TPS肯定是远超以太坊的,这也使得构建基于区块链的应用几乎没有成本而且快速高效。

2.EOS的瞩目之处

  在说EOS之前,我们来回顾一下DPoS。

  DPoS其实是BM参照现实世界中的议会制度而设计的共识算法。DPoS的核心理念其实是投票,它的设计理念是延迟性惩罚,它假设参与者绝大部分都是没有恶意的。

  “人性本善”的假设虽然让系统的作弊成本降低,但是随之而来的惩罚也非常严厉,就是丧失见证人的资格,但是带来的好处则是效率的提升。

  我们来看看EOS吸引人的地方,这里一共有两点,第一是EOS号称可以提供百万级TPS交易性能,第二是EOS的链上治理机制:区块链宪法以及21个超级节点(见证人节点)。

  在EOS中,记账节点又被称作超级节点,EOS一共有21个主节点,另外还有100个备选超级节点,这些超级节点完全是等价的。

  超级节点的基本职责包括了忠实打包交易、执行并验证智能合约、向全网广播有效区块以外,还多了一项职责:保障并促进EOS项目的发展。

  如何促进呢?BM在EOS中强化了DPoS算法的投票机制,并首次提出了区块链宪法的概念,我们可以直接引用EOS技术白皮书中的内容来一探究竟。

  EOS.IO 应用使得区块链创建了一个点对点的服务条款协议或者绑定用户到一个合约,这都需要用户对其签名,简称“宪法”。

  宪法的内容定义了仅仅依靠代码无法在用户间履行义务,同时通过建立管辖权和可选的法律来解决相互间的争端。

  每个在网络广播的交易都必须将宪法的哈希值作为签名的一部分,从而显性地将签名者绑定在合约中。

  宪法还定义了人类可读意图的源代码协议。 这个意图是用来识别错误和功能之间的差异,当错误发生时,引导社区对什么是适当或不当修复。

  可以看出区块链宪法是一种非代码强制执行的规则,有点像我们安装软件时的“同意”协议,所以它更像是一种人为承诺,为了弥补DPoS较弱的抵抗恶意规则的缺陷。

  那么什么人可以发起并修改宪法呢?就是超级节点,也就是记账节点,它规定了17/21以上的节点同意才能发起修改提案。  

  我们可以看出超级节点的权力十分巨大,这也引来了人们对此产生了争议。

3.EOS的争议

  Vitalik 针对EOS超级节点竞选发表过意见。他认为21个节点的DPoS虽然引入了治理结构,但也很容易受到选民和持币大户的操纵,最终导致“财阀统治型”的治理结构。

  在超级节点竞选过程中,某些节点为了获得更多的选票,承诺当选后可以给投票者分红,这在西方文化中是无法接受的,这一点似乎违背了BM设计DPoS的初衷,所以BM以及EOS团队都表示坚决反对。

  BM对此也给了回应,BM表示自己的目标是降低创建社区的准入门槛,并允许市场自由竞争来奖励最高效的社区以及惩罚最腐败的社区。

  他也认为善良是主观的,而且每个社区都能定义持有什么样的价值观是好人,并积极驱逐他们所认为的坏人。

  Vitalik和BM都相互发文怒“怼”对方,但是总的来说,Vitalik和BM这种公开讨论推进了区块链行业的发展,给人们带来了更多哲学和设计原则上的思考。我在附录中给出了社区翻译版文章,你可以进行查询。

埃欧塔IOTA

  IOTA是一个为了物联网(IoT)而生的区块链项目。严格来说,IOTA不是“区块链”,因为它没有区块,也不是链式结构。

  IOTA提出了一种基于有向无环图(DAG)的分布式账本结构,这种结构IOTA将其命名为The Tangle,探戈。

  上图是常见区块链账本结构,而下图展示了Tangle的账本结构。

  我们来看看这两张图的区别,首先区块链账本结构的打包单位是区块,而Tangle直接就是交易,或者或“交易引用”。

  任意交易Tx-black会引用过去的两条交易记录,这样被引用的交易Tx-purple相当于有了一次确认,间接地证明了合法性,随着一次又一次的被引用,Tx-purple会转变成Tx-green。

  • Tx-black相当于图种的黑色图块,代表未确认的交易;
  • Tx-purple相当于紫色图块,代表已确认但还未成熟的交易;
  • Tx-green相当于是绿色图块,代表已确认已成熟的交易,是可信的。

  也就是说,我们发送交易的目标是成本绿色部分的交易,成为绿色部分的交易,可信度是可以计算的,面对不同的交易场景,可信度可以设置为51%,90%或者百分之百。

  那么说,如何计算这种可信度呢?

  IOTA上的共识算法叫做MCMC算法,它可以任意选择黑色部分的两笔交易,进行引用。

  我们回到DAG的结构中,我们发现每一个绿色的交易都会有一条从黑色起始位置通往它的路径,那么你这笔交易的可信程度就可以很容易计算。

  例如我们执行MCMC算法N次,这笔交易被全网接受的概率就是M/N,其中M就是能从底部通往这笔交易的数量。

  Tangle结构和MCMC共识是非常具有吸引力的,它也带来了以下特性。

  • 0交易费:由于没有记账节点,目前没有考虑设置交易费。
  • 水平扩容:由于Tangle的结构不涉及记账节点,交易吞吐可以随着规模大容量也跟着提升。
  • 分区再合并:由于不是单链结构,私下记账以后也可以合并到Tangle账本中,不存在分叉这一说。

  IOTA的Tangle账本结构,为区块链技术带来了新的视角,这也是它吸引人的关键。

卡尔达诺Cardano

  卡尔达诺(Cardano)也是一个正在开发中的新一代区块链智能合约平台。

  卡尔达诺项目最大的特色是由理论研究主导,严格采用数学形式化验证的来证明严谨、安全性的区块链。

  卡尔达诺认为现阶段基础公链在无论在可规模化性(Scalability)、可互操作性(Interoperability)和可持续发展性(Sustainability)均存在不足,卡尔达诺希望进行概念和技术上的创新,最终解决上述三个方面问题。

  卡尔达诺的团队认为目前区块链面临着两个比较突出的问题:

  1.区块链协议的升级将会导致区块链分叉; 2.区块链的水平扩容和垂直扩容能力不足。

  所以Cardano提出了分层架构理念,这似乎与传统IT架构模式:分层式架构模式有点像,卡尔达诺由两个层次组成。

  • Settlement Layer清算层:卡尔达诺的代币ADA在该层流动,是整个系统的支付和清算的基础。
  • Computation Layer 计算层:卡尔达诺将在计算层提供智能合约、身份认证、消息通信等等功能。

  相比于概念创新,卡尔达诺的团队研究了一种被命名为 Ouroboros 的算法,它其实也是PoS共识算法的变种,不同的是卡尔达诺团队为此提供了数学形式化证明,证明了它是高效、安全的共识算法。

  卡尔达诺是一种理论研究驱动实践的尝试,无论是两层设计,还是Ouroboros算法,都为区块链技术的发展提供了值得参考的视角。

总结

  今天,我们介绍了EOS、IOTA、ADA三个受人瞩目的区块链项目,EOS和ADA都是致力于区块链去中心化的应用平台,IOTA致力于为物联网提供分布式账本。这些项目引领了区块链的发展方向,无论是技术层面还是市场层面,他们都是非常出色的。

  所以,你还可以想到那些技术或者市场做得出色的区块链项目呢?快来分享一下吧。感谢你的收听,我们下次再见。

 

转载于:https://www.cnblogs.com/sueyyyy/articles/9833603.html

这篇关于第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219776

相关文章

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1