认识一下以太坊、EOS和Hyperledger等不同的区块链

2023-11-11

不同的区块链智能合约和区块链技术现在风靡一时。越来越多的人出于某种原因试图进入这个神奇的世界。如果你是这项技术的新手并正在寻找基于区块链的开发平台的快速入门,那么本指南非常适合你。我们将重点关注和比较的平台是:

  • Ethereum
  • EOS
  • Hyperledger
  • Cosmos
  • Cardano

那么,为什么我们决定关注这5个平台?我们认为这几个平台提供了可用性和功能性的组合。是的,我们也知道其中一些项目并未完全上线,但我们仍然认为项目的潜力足以保证我们的名单上有它一个位置。我们将先介绍每个平台,然后在最后比较它们。

以太坊

毫无疑问,以太坊是智能合约平台的老大。以太坊背后的主要人物是Vitalik Buterin。Buterin对比特币非常着迷,但他意识到区块链技术比仅仅作为支付协议的推动者有更多的用途。他意识到可以使用区块链技术来创建去中心化的应用程序。于是他被启发创造了以太坊。

像比特币一样,以太坊是一种加密货币,然而,也就是这个地方还有些相似性。因为虽然比特币是“第一代”区块链,但以太坊通过成为有史以来第一个第二代区块链打破了局面。以太坊通过在区块链上引入智能合约,彻底改变了加密世界。

智能合约首先由Nick Szabo概念化。这个想法很简单,在双方之间有一套自动执行指令,不需要由第三方监督或执行。这个想法似乎很简单,对吧?然而,智能合约使以太坊能够创建一个环境,来自世界各地的开发人员可以创建自己的去中心化应用程序,即Dapps。

Dapps和智能合约

Dapp的创造是以太坊最重要的特征之一。除了去中心化之外,还有Dapp必须具备的某些其他功能:

  • Dapp的源代码应该对所有人开放。
  • 应用程序必须有某种代币来为自己提供支持。
  • 应用程序必须能够生成自己的代币并具有内置的共识机制。

听起来很棒吧!那么,你究竟如何构建它们呢?你需要使用solidity对智能合约进行编码。

开发人员使用一种名为Solidity的编程语言,这种语言是一种有目的的简洁,松散类型的语言,其语法与ECMAScript(Javascript)非常相似。

除了创建智能合约外,你还必须拥有可以执行它的环境。但是,此执行环境必须具有一些属性。这些属性是:

  • 确定性。
  • 可终止。
  • 隔离的。

1.确定性

如果程序每次都给予给定输入有相同的输出,则程序是确定性的。例如。如果3+1=4则3+1总是4(假设基数相同)。因此,当程序将相同的输出提供给不同计算机中的同一组输入时,该程序称为确定性。环境必须确保智能合约的执行始终是确定的。

2.可终止

在数学逻辑中,我们有一个称为halting problem(终止问题)的错误。基本上,它表明无法知道给定程序是否可以在一定时限内执行其功能。1936年,Alan Turing(阿兰·图灵)使用Cantor的对角线问题推断出,没有办法知道某个节目是否可以在一个时间限制内完成。

这显然是智能合约的问题,因为根据定义,合约必须能够在给定的时间限制内终止。因此环境必须能够停止智能合约的运作。

3.隔离

在区块链中,任何人和每个人都可以上传智能合约。然而,正因为如此,合约可能在知情和不知不觉中包含病毒和错误。

如果合约没有被隔离,这可能会妨碍整个系统。因此,将合约保持隔离在沙箱中以保护整个环境免受任何负面影响至关重要。

以太坊使用名为以太坊虚拟机(EVM)的虚拟机执行其智能合约。

人们必须了解的下一个核心以太坊概念是gas。

什么是以太坊gas?

还记得智能合约环境的“终止”属性吗?好吧,以太坊智能合约通过利用gas来实现这一特性。在智能合约中编码的每一行都需要一定量的gas才能执行。因此,当开发人员提交智能合约以供执行时,他们还会指定最大gas限制。

想想gas限制是你在开车前装满汽车的燃料,燃料耗尽的那一刻,汽车停止工作。智能合约中的每一行都需要一定量的gas

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

认识一下以太坊、EOS和Hyperledger等不同的区块链 的相关文章

随机推荐

  • Python pandas

    pandas是为了解决数据分析任务而创建的 纳入了大量的库和标准数据模型 提供了高效地操作大型数据集所需的工具 pandas 是第三方库 1 pandas中的数据结构 1 Series 一维数组 类似于Python中的基本数据结构 list
  • Hibernate 启动问题: A ResourcePool could not acquire a resource from its primary factory or source.

    太长不看版 Driver问题导致 详细版 Background 使用Hibernate连接Oracle 需求要The version of Oracle should be upgraded from 12c to 19c So I hav
  • 第七章:摄像机标定和 3D 重构

    第七章 摄像机标定和 3D 重构 本章节你将学习摄像机标定 姿态估计 对极集合和立体图像的深度图等OpenCV摄像机标定和3S重构的相关内容 更多内容请关注我的GitHub库 TonyStark1997 如果喜欢 star并follow我
  • jenkins学习笔记第四篇实现jemeter报告预警功能

    关于jenkins上集成jemeter实现脚本自动执行 脚本执行失败但是项目还是构建成功 这个问题的缘由来自于jenkins在集成jemeter时 它只关注项目运行所需的环境 项目内执行的shell等语句语法没有错误 并不关注jmeter脚
  • 使用FastJson的Object对象转成字符串类型时自动过滤Null值问题

    问题描述 在使用fastJson解析数据时 生成了一个新的jsonObject对象 最后我把新的jsonObject转成字符串 之后发现fastJson自动过滤了Null值 很懵逼 解决办法 JSON toJSONString newJso
  • 如何识别 ChatGPT 的真假

    ChatGPT 面世惊艳 无数普通人都想试试看 这个传闻中超级厉害的人工智能到底是怎么回事 一时间 很多网站 群聊中 都冒出来各式各样的打着 ChatGPT 名义 挂着 ChatGPT 头像的人工智能对话机器人 但试着一聊 就会发现其中真真
  • 读 沉思 第三次 有感

    第三次沉思 一 忘记在哪里看到了这本书的推荐 就买了 决定这学期细细品味这本书 第三次沉思 这本书是著名物理学家 斯蒂芬 温伯格 2021年7月23日与世长辞 关于科学 物理 宇宙 社会观评 个人遐想的文集 很值得细细品味 2022年4月9
  • C语言易错选择判断题

    选择题 1 设有如下定义 struct sk int a float b data p 若有p data 则对data中的成员a的正确引用是 B A p data a B p a C p gt data a D p data a 解析 本题
  • 异常:org.springframework.http.converter.HttpMessageConversionException: Type definition error:

    org springframework http converter HttpMessageConversionException Type definition error simple type class org apache iba
  • 手动为k8s的kubelet生成有效期30年的证书

    这个东西的作用有 1 在新部署k8s集群时 就生成30年证书 这样就不用1年后为kubelet更换证书 2 在证书快到期时 手动生成新证书 替换原证书 不需要替换key 这样只需要重启 服务器或kubelet服务 就能使用新证书 不用等到证
  • Python绘制三角函数图(sin\cos\tan)并标注特定范围

    根据我们指定的条件检索函数中的元素 import matplotlib pyplot as plt import numpy as np a np linspace 0 2 np pi 50 b np sin a plt plot a b
  • 总结sanic博客

    使用sanic openapi 博客计划 1 阅读sanic的源码和案例 已经做注解 https github com huge success sanic 2 使用sanic openapi优化api界面 https github com
  • 口语理解任务源码详解系列(二)利用seq2seq-attention模型实现

    利用seq2seq attention模型实现 写在前面 在前文介绍了项目的数据集构建 传送门 本文利用seq2seq attention实现 实现细节请参考论文 Attention Based Recurrent Neural Netwo
  • S7协议抓包分析(附pcap数据包)

    一 S7协议概述 1 S7协议简介 S7comm S7 通信 是西门子专有协议 可在西门子 S7 300 400 系列的可编程逻辑控制器 PLC 之间运行 它用于 PLC 编程 PLC 之间的数据交换 从 SCADA 监控和数据采集 系统访
  • 算法:单圈绝对值编码器处理成多圈的

    硬件描述 单圈编码器的分辨率是4096 功能描述 将单圈数据处理处理成多圈数据 起始圈数是1000圈 long GetCurrentAbsTotalValue long lValue long m absEncTotal 计算编码器总时间片
  • STM32与USB3300共同实现USB OTG HS的CDC串口通信速度测试

    项目场景 STM32和上位机传统通信方式就是串口 IIC SPI等 IIC和SPI一般不常用 串口是用的最多的通信方式 然而串口一般用于输出调试信息这种对传输速度没要求的场景 那种大容量数据快速传输的场景 串口显得捉襟见肘 STM32自带U
  • Siebel是什么意思

    简介 Siebel是电子商务软件的突出供应商 其客户关系管理 CRM 企业资源管理 ERM 以及合作关系管理 PRM 应用设计用于实现企业这些方面的自动化以及允许企业在互联网和零售或电话中心网络等其它渠道来执行和调节相关任务 Sieble的
  • Unity中的Animator动画详解

    Unity中的Animator动画详解 Animator动画导入 Animator动画详解 动画类型选择 Rig面板属性 Mode面板属性 Animation面板属性 动画片段 控制使用 Animator动画 创建动画控制器 添加需要播放的
  • 疑似APT组织响尾蛇的JavaScript脚本调试分析

    APT组织响尾蛇JavaScript脚本调试分析 样本描述 样本分析 投递手法 HTA JS代码 JavaScript调试方式 IE 打印参数 代码逻辑 样本描述 响尾蛇投递与巴基斯坦外交政策有关的LNK文件 LNK文件不携带主要的恶意代码
  • 认识一下以太坊、EOS和Hyperledger等不同的区块链

    不同的区块链智能合约和区块链技术现在风靡一时 越来越多的人出于某种原因试图进入这个神奇的世界 如果你是这项技术的新手并正在寻找基于区块链的开发平台的快速入门 那么本指南非常适合你 我们将重点关注和比较的平台是 Ethereum EOS Hy