14 以太坊简介

资讯 2024-07-08 阅读:104 评论:0
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

solidity官方中文文档学习
https://solidity-cn.readthedocs.io/zh/develop/
一、提示
1、在线remix编辑器进行开发
http://remix.hubwiz.com/#optimize=false&version=soljson-v0.5.1+commit.c8a2cb62.js

Learning official Chinese files

I, hint
, online remix editor for development

2、警告
安全考量

2. Warning

3、查询特定的某个编译器版本会受哪些 bug 影响
https://github.com/ethereum/solidity/blob/develop/docs/bugs_by_version.json

3. Asking which bug is affected by a given compiler version

二、以太坊综述(ethereum)
1、为什么学习以太坊
庞大的开发者社区,目前最大的区块链开发平台;
相对比较成熟,有代表性,资料众多;
以应用入手,学习曲线不那么陡峭;
与javascript结合紧密,方便开发人员上手。

ii. An overview of & #xff08; ethereum)
1; why the vast community of developers learning
; the current largest block chain development platform & #xff1b;
relatively mature & #xff0c; representative #xff0c; numerous xff1b;
to apply entry xff0c; learning curves less steep xff1b;
to closely link with javascript xff0c; hands-on for easy developers.

2、主要参考资料
《精通以太坊》(mastering ethereum)
《以太坊白皮书》
《以太坊黄皮书》(《以太坊:一种安全去中心化的通用交易账本 拜占庭版本》)
《以太坊官方文档》
《solidity官方文档》


Ingenuity & #xff08; Mastering etheeum) .

3、涉及钱包
MetaMask - 浏览器插件钱包
Remix - 基于浏览器的 Solidity 在线编辑器
Geth -以太坊客户端(go语言)
web3.js – 以太坊 javascipt API库
Ganache – 以太坊客户端(测试环境私链)
Truffle – 以太坊开发框架

3 Wallet
Metamask - Browser Plugin Wallet
Remix - Solidity Online Editor based on Browser
Geth - Ethin Client & #xff08; Go Language & #xff09;
web3.js - Etheria javascipt API Library
Ganache - Etheria Client & #xff08; Testing Environmental Private Chains xff09;
Truffle - Etheria Framework Development

4、环境准备(教程给出的)
Chrome浏览器(最新版本 70.0.3538.67)
Linux 系统或虚拟机(ubuntu 16.04.3)
需要安装:go(1.9), git(2.7.4), node(9.0.0), npm(5.7.1)
文本编辑器(VisualCode)
科学上网工具

4. Environmental readiness & #xff08; xff09;
chrome browser & #xff08; latest version 70.3538.67)
Linux system or virtual machine xff08; ubuntu 16.04.3)
need to install xff1a;go (1.9), git (2.7.4), node (9.0.0), npm (5.7.1)
text #xff08; VisualCode)
science tools online

三、以太坊简介(一)
1、公链发展简史
2008比特币(1.0):简单的记账;
2014以太坊(2.0):智能合约;
2017EOS、ArcBlock、IOTA(3.0):高性能、大吞吐量、开发者友好、用户友好。

iii. Introduction & xff08; ixff09; ibr/>1; brief history of public chain development
2008bitcoin( 1.0) xff1a; simple bookkeeping xff1b;
2014 Etheria xff08; 2.0) xff1a; xff1b;
2017EOS, ArcBlock, IOTA( 3.0xff09; xff1a; high performance, volume of vomiting, developers and user-friendly.

2、以太坊的出现

2. The emergence of the Etherms

  • 2014 年1月, Vitalik Buterin在自己任编辑的比特币杂志(Bitcoin Magazine)上发表了《以太坊:一个下一代智能合约和去中心化应用平台》(Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform)
  • 2014年的迈阿密比特币会议中,布特林宣布了以太坊项目,并且提出了多项创新性区块链技术,该年7月,启动以太坊众筹募资,募得3.1万枚比特币(当时约合1840万美元)
  • 2015年7月30日,当时作为以太坊项目CCO的成员Stephan Tual在官方博客上正式宣布了以太坊系统的诞生,以太坊主网上线
    在这里插入图片描述

3、发展阶段
“前沿”(Frontier) – Block #0
以太坊的初始阶段,持续时间为2015年7月30日至2016年3月
“家园”(Homestead) - Block #1,150,000
以太坊的第二阶段,于2016年3月推出
“大都会”(Metropolis) Block #4,370,000
以太坊的第三个阶段,于2017年10月推出的“拜占庭”(Byzantium)是 Metropolis 的两个硬分叉中的第一个,也是我们现在所处的阶段。“君士坦丁堡”(Constantinople)Metropolis 阶段的第二部分,计划于2018年推出。预计将包括切换到混合POW/POS 共识算法,以及其他变更。
“宁静”(Serenity)
以太坊的第四个也是最后一个阶段。Serenity尚未有计划的发布日期。

3 The development phase
“Frontier” (Frontier) — Block #0 in the initial phase of the Tailet xff0c; lasting from 30 July 2015 to March 2016
Home (Homestead) - Block #150,000 in the second phase xff0c; the launch in March 2016 of
in the capital city > (Metropolis), 370,000
in the third phase of the family xff0c; the launch of the second phase of the “Byzantium” (Byzantium) in October 2017 is also the first of the last two hard sections of the Metropolis (Metropolis) > ; and the launch of the second phase

4、以太坊重大分叉(大概是2018年的数据)
Block #200,000
“Ice Age” - 引入指数难度增加的硬分叉,促使向 Proof-of-Stake 过渡。
Block #1,192,000
“The DAO" - 扭转了被攻击的DAO合约并导致以太坊(ETH)和以太坊经典(ETC)分裂成两个竞争系统的硬分叉。
Block #2,463,000
“Tangerine Whistle” - 改变某些IO运算的 gas 计算,并从拒绝服务攻击中清除累积状态,该攻击利用了这些操作的低 gas 成本。
Block #2,675,000
“Spurious Dragon” - 一个解决更多拒绝服务攻击媒介的硬分叉,以及另一种状态清除。此外,还有重放攻击保护机制。

4 xff08; presumably 2018 data ff09;
Block #200,000
“ice Age” - hard fork xff0c; proof-of-stick; pro-proof > Block #192,000
; presumably 2018;
Block #192,000 34; >DAO #34;
Block > Block <19000 > > ; > reverses the attacked DAO contract and results in xff08

5、发展状况
根据State of DApps的统计(时间截止于2020.3.27)
在这里插入图片描述
在这里插入图片描述


According to State of Dapps statistics xff08; date: 2020.3.27)
, see , ,

四、以太坊简介(二)
1、以太坊特点

IV. Etheria Introduction xff08; IIxff09;
1, Etheria Characteristics

  • 以太坊是“世界计算机”,这代表它是一个开源的、全球分布的计算基础设施
  • 执行称为智能合约(smart contract)的程序
  • 使用区块链来同步和存储系统状态以及名为以太币(ether)的加密货币,以计量和约束执行资源成本
  • 本质是一个基于交易的状态机(transaction-based state machine)
  • 以太坊平台使开发人员能够构建具有内置经济功能的强大去中心化应用程序(DApp);在持续自我正常运行的同时,它还减少或消除了审查,第三方界面和交易对手风险

2、以太坊组成部分
P2P网络
以太坊在以太坊主网络上运行,该网络可在TCP端口30303上寻址,并运行一个名为DΞVp2p的协议。
交易(Transaction)
以太坊交易是网络消息,其中包括发送者(sender),接收者(receiver),值(value)和数据的有效载荷(payload)。
以太坊虚拟机(EVM)
以太坊状态转换由以太坊虚拟机(EVM)处理,这是一个执行字节码(机器语言指令)的基于堆栈的虚拟机。
数据库(Blockchain)
以太坊的区块链作为数据库(通常是 Google 的 LevelDB)本地存储在每个节点上,包含序列化后的交易和系统状态。
客户端
以太坊有几种可互操作的客户端软件实现,其中最突出的是 Go-Ethereum(Geth)和 Parity。


P2P network
< < < < < < < <

3、以太坊的重要概念(和比特币相比的一些不同点)
账户(Account)
包含地址,余额和随机数,以及可选的存储和代码的对象。

The key concepts of the Tails & #xff08; some differences compared to Bitcoin & #xff09;
accounts & #xff08; Account & #xff09; includes addresses & #xff0c; balances and random numbers & #xff0c; and optional objects of storage and code.

  • 普通账户(EOA),存储和代码均为空
  • 合约账户(Contract),包含存储和代码

地址(Address)
一般来说,这代表一个EOA或合约,它可以在区块链上接收或发送交易。更具体地说,它是ECDSA 公钥的 keccak 散列的最右边的160位。
交易(Transaction)

address & #xff08; Address)
generally xff0c; this represents an EOA or contract xff0c; it can receive or send a transaction on the block chain. More specifically xff0c; it is 160 places to the right of the Keccak haste of the ECDSA public key.
transaction & #xff08; Transport & #xff09;

  • 可以发送以太币和信息
  • 向合约发送的交易可以调用合约代码,并以信息数据为函数参数
  • 向空用户发送信息,可以自动生成以信息为代码块的合约账户

gas
以太坊用于执行智能合约的虚拟燃料。以太坊虚拟机使用核算机制来衡量gas的消耗量并限制计算资源的消耗。

gas
uses Taiyo's virtual fuel for the implementation of smart contracts.

五、以太坊简介(三)
1、以太坊的货币
以太坊的货币单位称为以太(ether),也可以表示为ETH或符号Ξ。
以太币的发行规则:
挖矿前(Pre-mine,Genesis)
2014年7月/8月间,为众筹大约发行了7200万以太币。这些币有的时候被称之为“矿前”。众筹阶段之后,以太币每年的产量基本稳定,被限制不超过7200万的25%
挖矿产出(Mining)
——区块奖励(block reward)
——叔块奖励(uncle reward)
——叔块引用奖励(uncle referencing reward)
以太币产量未来的变化
以太坊出块机制从工作量证明(PoW)转换为股权证明(PoS)后,以太币的发行会有什么变化尚未有定论。股权证明机制将使用一个称为Casper的协议。在Casper协议下,以太币的发行率将大大低于目前幽灵(GHOST)协议下的发行率。

v. xff08; xff09;
;

2、以太坊的挖矿产出
区块奖励(Block rewards)
每产生一个新区块就会有一笔固定的奖励给矿工,初始是5个以太币,现在是3个。
叔块奖励(Uncle rewards)
有些区块被挖得稍晚一些,因此不能作为主区块链的组成部分。比特币称这类区块为“孤块”,并且完全舍弃它们。但是,以太币称它们为“叔块”(uncles),并且在之后的区块中,可以引用它们。如果叔块在之后的区块链中作为叔块被引用,每个叔块会为挖矿者产出区块奖励的7/8。这被称之为叔块奖励。
叔块引用奖励(Uncle referencing rewards)
矿工每引用一个叔块,可以得到区块奖励的1/32作为奖励(最多引用两个叔块)

xff08;

这样的一套基于POW的奖励机制,被称为以太坊的“幽灵协议”

Such a Pow-based incentive mechanism xff0c; known as the “Ghost Agreement” of the Etherms

六、以太坊简介(四)
1、以太坊区块收入
https://etherscan.io:以太坊区块查看
普通区块收入
— 固定奖励(挖矿奖励),每个普通区块都有
— 区块内包含的所有程序的 gas 花费的总和
— 如果普通区块引用了叔块,每引用一个叔块可以得到固定奖励的1/32
叔块收入
叔块收入只有一项,就是叔块奖励,计算公式为:
叔块奖励 = ( 叔块高度 + 8 – 引用叔块的区块高度 ) * 普通区块奖励 / 8

VI. Access to
ordinary block income
> xff08; mining incentive <#xff09; xff0c;
> ;
> > > > > > > > > > > > > < strong> > > xff08; > > >

七、以太坊简介(五)
1、“幽灵”(GHOST)协议
以太坊出块时间:
设计为12秒,实际14~15秒左右
快速确认:
会带来区块的高作废率,由此链的安全性也会降低
“幽灵”协议:
Greedy Heaviest Observed SubTree, ”GHOST”
——计算工作量证明时,不仅包括当前区块的祖区块,父区块,还要包括祖先块的作废的后代区块(“叔块”),将他们进行综合考虑。
——目前的协议要求下探到第七层(最早的简版设计是五层),也就是说,废区块只能以叔区块的身份被其父母的第二代至第七代后辈区块引用,而不能是更远关系的后辈区块。
——以太坊付给以“叔区块”身份为新块确认作出贡献的废区块7/8的奖励,把它们纳入计算的“侄子区块”将获得区块奖励的1/32,不过,交易费用不会奖励给叔区块。

VII. Designed as 12 seconds xff08; Vxff09;
;
; xff08; GHIST&Xff09;
xff1a; xff0c; actual 14-15 seconds
strong strong > quick confirmation xff1a; > xff

八、以太坊简介(六)
1、以太坊和图灵完备

VIII. Etheria Introduction xff08; VIxff09;
1, Ether and Turing

  • 1936年,英国数学家艾伦·图灵(AlanTuring)创建了一个计算机的数学模型,它由一个控制器、一个读写头和一根无限长的工作带组成。纸带起着存储的作用,被分成一个个的小方格(可以看成磁带);读写头能够读取纸带上的信息,以及将运算结果写进纸带;控制器则负责根据程序对搜集到的信息进行处理。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动纸带。
  • 如果一个系统可以模拟任何图灵机,它就被定义为“图灵完备”(Turing Complete)的。这种系统称为通用图灵机(UTM)。
  • 以太坊能够在称为以太坊虚拟机的状态机中执行存储程序,同时向内存读取和写入数据,使其成为图灵完备系统,因此成为通用图灵机。考虑到有限存储器的限制,以太坊可以计算任何可由任何图灵机计算的算法。
  • 简单来说,以太坊中支持循环语句,理论上可以运行“无限循环”的程序。

2、去中心化应用

2. Decentralization applications

  • 基于以太坊可以创建智能合约(Smart Contract)来构建去中心化应用(Decentralized Application,简称为DApp)
  • 以太坊的构想是成为 DApps 编程开发的平台
  • DApp至少由以下组成:
    —— 区块链上的智能合约
    —— Web前端用户界面

3、以太坊应用

3. Etheria application

  • 基于以太坊创建新的加密货币(CryptoCurrency,这种能力是 2017 年各种 ICO 泛滥的技术动因)
  • 基于以太坊创建域名注册系统、博彩系统
  • 基于以太坊开发去中心化的游戏,比如 2017 年底红极一时的以太猫(CryptoKitties,最高单只猫售价高达 80W 美元)

4、代币

4. Monets

  • 代币(token)也称作通证,本意为“令牌”,代表有所有权的资产、货币、权限等在区块链上的抽象
  • 可替代性通证(fungible token):指的是基于区块链技术发行的,互相可以替代的,可以接近无限拆分的token
  • 非同质通证(non-fungible token): 指的是基于区块链技术发行的,唯一的,不可替代的,大多数情况下不可拆分的token,如加密猫(CryptoKitties)

5、名词解释

V. EXPLAMINATION OF THE NAME

名词解释
EIPEthereum Improvement Proposals,以太坊改进建议
ERCEthereum Request for Comments的缩写,以太坊征求意见。一些EIP被标记为ERC,表示试图定义以太坊使用的特定标准的提议
EOAExternal Owned Account,外部账户。由以太坊网络的人类用户创建的账户
Ethash以太坊1.0 的工作量证明算法。
HD钱包使用分层确定性(HD protocol)密钥创建和转账协议(BIP32)的钱包。
Keccak256以太坊中使用的密码哈希函数。Keccak256 被标准化为SHA-3
Nonce在密码学中,术语nonce用于指代只能使用一次的值。以太坊使用两种类型的随机数,账户随机数和POW随机数

九、总结
以上内容来自尚硅谷教学视频,讲述以太坊的一些理论知识,没有实际操作。最好看相隔时间比较近的教学视频,因为很多东西发展很快,一些数据在不断发生变化,更新的数据更利于掌握目前项目的发展。

IX. Summarizing
from the Silicon Valley teaching video xff0c; describing some of the theoretical knowledge of the Etherms xff0c; without practical action. Better look at the teaching video xff0c; because many things are growing rapidly xff0c; some data are changing xff0c; updated data are better able to capture the development of the current project.

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • 从 IPFS社区Meetup谈谈2020年的IPFS的发展历程

    从 IPFS社区Meetup谈谈2020年的IPFS的发展历程
    8月3日, IPFS社区Meetup 如期举办,这一次的社区Meetup由交流与演讲和闪电演示两部分组成,其实该会议主要带领我们回顾了IPFS在2020年的发展历程(包括项目进展、IPFS生态发展等),展示了IPFS及其生态。2020年对于IPFS而言是不平凡的一年,其唯一激励层Filecoin的主网即将上线,这让IPFS和Filecoin在全球范围内得到了前所未有的关注,也推动了IPFS的高速发展。接下来,我们一起走进IPFS在20...
  • 超10万人爆仓,比特币跳水,发生了什么

    超10万人爆仓,比特币跳水,发生了什么
    现货比特币ETF上市第二日,数字货币再迎来抛售。比特币一度跌破42000美元/枚,截止1月13日内跌幅超7%,报42562.1美元/枚。The current Bitcoin ETF is on the second day of the market and the digital currency is sold again. Bitcoin fell by over 7% to $4562.1 on 13 January.现货比特币ETF普遍跌6%左右。其中,DEFI跌...
  • 兴业基金调研远光软件、东芯股份

    兴业基金调研远光软件、东芯股份
    根据6月6日公布的公开市场信息和机构研究,世界安全基金会最近对下列两家上市公司进行了一项研究: 1) 光电软件(工程师基金参与公司专项研究) 其中一个亮点是该公司深入参与建造南方网中心和技术平台,导致南网市场在 " 九天 " 平台产品方面取得重大突破;该公司的Won-宇宙大厅已上线,而且,除了Won-宇宙之外,远洋宇宙的应用现已扩大到Won-宇宙发射、Won-宇宙-教师和政党建设-宇宙;该公司的Far-O-Cloud平台已经实现了完全成熟的国家生产,也可以在全国云中运作。...
  • 0.00003374个比特币等于多少人民币/美金

    0.00003374个比特币等于多少人民币/美金
    0.00003374比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00003374比特币等于2.2826 1222美元/16.5261124728人民币。比特币(BTC)美元(USDT)人民币(CNY)0.00003374克洛克-0/22216.5261124728比特币对人民币的最新汇率为:489807.72 CNY(1比特币=489807.72人民币)(1美元=7.24人民币)(0.00003374USDT=0.0002442776 CNY)。汇率更新于2024...
  • $DOG暴涨400%,加密货币或许正在重新定义和计量“价值”

    $DOG暴涨400%,加密货币或许正在重新定义和计量“价值”
    近/克洛克-0/5,Meme币狗?走吗?去哪?那个?MOON($ DOG)连续上涨超过230%,突破前期高点,达到0.0062美元。在同一时期,比特币生态的许多主流L2协议代币下跌了50%以上。这些就是我们所说的“价值币”。虽然大起大落不能说明什么,但从过去的牛市来看,领头羊MemeCoin表现非凡。在上一轮牛市中,$DOGE的价格上涨了超过150倍,其市值接近900亿美元。还有其他MemeCoin,如$Shib、$People、$ELON、$AKITA等。2 vkwmkpm...
标签列表