区块链100讲:从开发者的角度快速解读以太坊白皮书

【区块链】以太坊白皮书深度解读:构建智能合约的分布式平台 以太坊白皮书不仅是一份技术文档,更是开启了一个区块链技术新篇章的宣言。它提出的智能合约理念和构建分布式应用平台的愿景,为全球范围内的开发者和创新者提供了无限想象空间。随着以太坊2.0的逐步实施,其在性能、可扩展性和可持续性方面的改进将进一步巩固其作为区块链基础设施的地位,推动Web3.0时代的到来。 阅读详情

image

最近有一个以太坊项目,需要紧急充电。我个人一贯认为直接从上层入手开发反而会一脸懵逼,从底层原理入手可能枯燥,但是对于学习和理解来说却至关重要,底层基础不牢靠,永远走不远。

因此本篇我们就以开发者的角度入手,快速解读以太坊的白皮书,以快速get到技术关键点为目的,提炼技术要点,这样实际开发中就会少走很多弯路,完整的以太坊白皮书见官方wiki: https://github.com/ethereum/wiki/wiki/White-Paper。本篇文章不以普及区块链概念为目的,所以需要读者有一定的区块链基础概念。

1

以太坊的账户

以太坊通过账户转移价值,完成状态转换的。以太币(Ether)是以太坊内部的主要加密燃料,用于支付交易费用(后续会描述交易费的计算方法)。以太坊的账户包含四个部分:

  • 随机数,用于确定每笔交易只能被处理一次的计数器

  • 账户目前的以太币余额

  • 账户的合约代码,如果有的话

  • 账户的存储(默认为空)

以太坊有两种账户类型:外部所有账户(由私钥控制的)和合约账户(由合约代码控制)。交易是通过发送消息触发的,当发送到合约账户时,内部的合约代码被执行。合约可以对内部存储进行读写,可以发送消息或创建其他合约。

TIPS: 关于以太坊钱包的备份: https://ethfans.org/topics/595

2

以太坊的消息与交易

以太坊的交易是通过外部储户发送带有签名的消息触发的。交易包含消息的接收者、用于确认发送者的签名、以太币账户余额、要发送的数据和两个被称为STARTGAS 和 GASPRICE 的数值。STARTGAS为最大消耗的GAS限制,GASPRICE为每一步需要支付旷工的费用。当STARTGAS消耗光后,所有状态改变恢复初始,但是不退手续费(GAS)。如果GAS还有剩余,则返还剩余GAS到发送方账户。

以太坊的交易将账户价值从发送方转移到接收方,如果接收方账户不存在,则创建目标账户,如果接收账户是合约账户,则执行合约代码,直到执行完毕或消耗光GAS停止执行。

3

交易手续费的计算

首先GAS的价格不是一成不变的,他的价格和交易过程中类似于股票交易的过程。当前行情在很多地方可以查看,比如这里: https://ethgasstation.info/

交易的时候可以自行设置GASPRICE,和股票交易一样,如果你的手续费太低,是会迟迟得不到交易确认的,叫价太高自己会亏。因此需要合理评估交易手续费。

要估算消耗的GAS,可以调用web3提供的估算方法estimateGas。

目前供参考的一个GAS消耗简表,鼓励设计更高效的智能合约以减少GAS浪费:

step    1   Default amount of gas to pay for an execution cycle.

stop    0   Nothing paid for the SUICIDE operation.

sha3    20  Paid for a SHA3 operation.

sload   20  Paid for a SLOAD operation.

sstore  100     Paid for a normal SSTORE operation (doubled or waived sometimes).

balance     20  Paid for a BALANCE operation

create  100     Paid for a CREATE operation

call    20  Paid for a CALL operation.

memory  1   Paid for every additional word when expanding memory

txdata  5   Paid for every byte of data or code for a transaction

transaction     500     Paid for every transaction

4

关于智能合约

目前以太坊的只能合约使用Solidity语言编写,编译为字节码部署在以太坊,通过EVM执行。部署合约的过程基本类似于创建账户的过程,成功部署之后会返回合约的地址,需要记录这个地址以便于未来的调用。

合约也是有生命周期的,可以调用kill方法销毁合约。注意这里的销毁只是将合约地址标记为僵尸地址,访问僵尸地址将抛出错误。合约本身还是存储在区块链上的,因此痕迹不会被抹除。

5

关于发币

以太坊允许发行自己的代币(token),它们也是内置在以太坊上的数字资产,通过智能合约发行和控制。符合ERC20标准的代币将直接兼容以太坊,因此鼓励代币系统尽可能兼容ERC20标准: https://theethereum.wiki/w/index.php/ERC20_Token_Standard

发行代币的过程本质上还是执行智能合约的过程,因此同样需要按照智能合约的执行过程,消耗GAS让矿工确认。

本文作者:HiBlock区块链技术布道群-冯宇Ops

原文发布于简书

原文链接:https://www.jianshu.com/p/41ae276ae65e

加微信baobaotalk_com,加入技术布道群

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

Python通过COM驱动3ds Max:MXSPyCOM跨语言自动化实践 跨语言进程通信中,COM组件常被用于让Python调用桌面软件已有对象模型。其原理是通过注册表中的ProgID与CLSID定位服务,再由Dispatch创建对象并调用方法;在3ds Max场景里,MXSPyCOM把MaxScript执行入口封装为COM接口,使Python能把代码字符串送入当前3ds Max会话并取回结果。技术价值在于复用已有.ms脚本与资产流水线,让Python承担Excel清单、numpy计算和渲染队列调度,降低重写成本。典型应用包括建模绑定、资产管理、批量导出与外部渲染。围绕MXSPy 阅读详情

相关推荐

区块链(以太坊)白皮书

以太坊入门+进阶学习PDF,欢迎各位大神学习,希望对各位有所帮助。

区块链构架就是造房子!10分钟带你走遍构建全程

你是否有这种感觉,虽然零零散散看过不少区块链知识,但还是感觉对区块链很陌生,也没有形成自己的知识结构。本文作者Taylor Pearson,是The End of Jo...

区块链大本营 1851

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 293

以太坊白皮书解读

背景比特币开创了去中心化密码货币的先河,五年多的时间充分检验了区块链技术的可行性和安全性。比特币的区块链事实上是一套分布式的数据库,如果再在其中加进一个符号——比特币,并规定一套协议使得这个符号可以在数据库上安全地转移,并且无需信任第三方,这些特征的组合完美地构造了一个货币传输体系——比特币网络。然而比特币作为一次密码货币的伟大尝试,她并不完美,其中,协议的扩展性是一项不足,例如比特币网络里只有一...

niumenglong1的博客 1806

波束管理 Beam Management

Beam Management in 5G NR   波束管理,是5G NR中基于信道质量来动态选择每个UE和gNB之间以什么方向和频率的波束beam来进行通信。   背景   5G NR(New Radio)支持非常高的数据速率和更低的延迟。5G NR支持FR1和FR2频段,FR1为亚6 GHz(450至6000 MHz);FR2为毫米波段(24.25 GHz至52.6 GHz)。   由于毫米波频带使用非常高的频率,因此会导致传播损耗和其他损耗。为了补偿损失,在这种频率下定向通信是必不可少的。

最忆是江南的博客 5826

反向代理的隐形陷阱:为何你的HTTPS请求会降级为HTTP?

本文深入探讨了Nginx反向代理中HTTPS降级为HTTP的隐形陷阱及其安全风险,分析了五大降级诱因,包括协议信息丢失、重定向配置错误等,并提供了完整的防御性配置方案和实战指南,帮助开发者确保Web应用的安全性。

kotlin6android的博客 453

以太坊白皮书阅读笔记+随想

上次的关于比特币的文章其实有很大一部分是参考以太坊白皮书的前半部分的分析,这篇文章在上一篇的基础上重点说一下以太坊与比特币的区别。以及以太坊的主要实现。 以太坊 以太坊模型说明 状态机 以太坊的本质就是一个基于交易的状态机(transaction-based state machine)。在计算机科学中,一个状态机是指可以读取一系列的输入,然后根据这些输入,会...

Seven_TY的博客 1103

Winform美化框架AntdUI中Table的使用方法

使用核心注意点: 数据模型中属性名需要完全与new Column里的列名一致否则添加数据源则无法读取到详细内容。

wevix的博客 3686

于佳宁:区块链是世界性技术,赋能实体经济大有可为

于佳宁:火币大学校长,原工信部信息中心工业经济研究所所长 中国人民大学经济学博士,副研究员 中国服务贸易协会区块链委员会专家顾问 《2018年中国区块链产业白皮书》编委会主任 Higgs百佬荟是Higgs Capital推出的区块链百人超级访谈节目,节目定向邀请100位圈内知名研究专家、项目发起人,针对行业发展趋势、标准规则、投资趋势、应用趋势等,展开解读和研究。 以下是Higgs Capita...

biquanxiaojiejie的博客 940

Selenium ChromeDriver反爬与性能优化实战指南

ChromeDriver作为Selenium的核心驱动,本质是浏览器自动化执行引擎,其默认行为会暴露大量JS运行时指纹(如navigator.webdriver、window.chrome),极易被前端反爬系统识别;同时因进程管理粗放、渲染等待机制僵化,导致内存泄漏、僵尸进程和高并发下稳定性崩塌。本文围绕真实生产场景,系统解析浏览器指纹伪造原理、进程级资源管控策略、基于页面状态的智能等待范式,并提供Docker容器化、K8s弹性扩缩与Prometheus可观测性落地路径,助力开发者将ChromeDriver

weixin_29762151的博客 1259

光耦继电器电路分析

光耦电路的分析笔记

MingYue_SSS的博客 6886

【转】区块链底层架构概览:第一原则框架

以太坊,IPFS / Filecoin和BigchainDB之间是如何互补的呢?那么Golem,Polkadot或Interleger又是如何互补的呢? 我经常得到这样的问题。 所以,我决定写一篇文章,阐述我是如何通过第一原则框架来回答这些问题的。 最简单的答案是:从来就没有一个叫做“区块链”的神奇系统,能够神奇地完成所有事情。 而是现实中存在一些很好的计算构建区块可以一起创建高效的去中心化应用...

跨链技术践行者 1万+

【HOJ系列】HOJ判题机部署

【HOJ系列】HOJ判题机部署

随风浪仔的专栏 904

浅谈你们根本不懂的区块链游戏

原文发表在微信公众号:DappReview作者:Vincent, DappReview CEO编辑:米芽  复盘过去十年,站在每一个时间节点都有大大小小机会。而往前看,似乎却一片迷茫。 本文以一个深度参与者的身份,用寥寥几千字,试图还原区块链游戏在过去半年的发展,并探讨区块链给游戏带来的价值,给开发者的挑战,以及最终回归游戏的本质。先讲讲认知门槛上面两张图解释一下:第一张是13年初在一个微信群里我...

weixin_42203089的博客 3699

基于STM32L4XX、HAL库的 ATGM336H GPS定位模块驱动程序设计

/ 转换为km/h。// 定位状态: 0=无效, 1=GPS定位, 2=差分定位。// GPS解析数据。支持GPS/BeiDou/GLONASS/Galileo/QZSS多系统联合定位。// 回调函数(需要在HAL_UART_RxCpltCallback中调用)// 地面速度(km/h)// 海拔高度(m)

zhusl6688的博客 794

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Solana大涨背后:以太坊杀手隐现

作者:Sal Qadir Galaxy研究助理编译:象牙山首席村民 碳链价值近期Solana生态在DePin概念和MeMe币的带动下整体表现抢眼,其原生代币SOL的价格也在12月24突破100美元。Solana上DEX的交易量短暂超过以太坊,「Solana超越以太坊」的呼声随之高涨。Solana真能超越以太坊吗?为更深入理解Solana及其生态内核和未来发展。村民本人看了一些Solana过往研究资...

weixin_44672123的博客 2289

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

技术沙龙|百万年薪招区块链开发者,区块链热度何时降温?(免费报名)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34279246的博客 127

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

区块链关键技术点在应用实践中的解决方案

本文整理自4月22日掘金JTalk区块链专题线下活动,万云首席架构师李晨Leo的现场演讲速记。本次分享李晨Leo围绕区块链技术本身进行深度剖析,同时结合万云在区块链开发道路上的应用实践,希望给予开发者一个快速入门的技术指南。李晨万云首席架构师兼产品总监具有多年区块链和云计算从业经验,5项相关的技术专利作者。区块链社区活跃分子,专注于区块链底层技术研究和架构演进。更早之前服务于通联数据,担任金融云平...

weixin_34015566的博客 500

Libra的Move编程语言到底是个啥? 美女程序员通读26页的白皮书后, 找出了这些精华… | 技术头条...

作者 |Lee Ting Ting编译 |Guoxi责编| Aholiab出品 | 区块链大本营(blockchain_camp)自去年矿难以来,业界充满了对区块链...

区块链大本营 5164

区块链关键技术点在应用实践中的解决方案 - 李晨 | JTalk 第五期

编者按:本文系万云区块链的李晨讲师,在掘金技术社区主办的《给开发者的区块链技术指南 | JTalk 掘金线下活动第五期》 活动上的分享整理。掘金 JTalk 目前已举办5期,每期 JTalk 会邀请垂直行业的优秀工程师来分享优秀的实践经验,技巧方法。旨在为开发者提供线下技术交流互动机会,帮助开发者成长。 李晨,万向首席架构师兼产品总监,具有多年区块链和云计算从业经验, 5项相关的技术专利作者...

weixin_34144848的博客 253

等风来!区块链熊市,技术人就要做技术投资

2017 年的区块链牛市已经过去了,目前看来,2018 年会是一个大熊市,投资抄币估计也捞不着什么。熊市只能囤囤币,囤囤技术,只能等下一轮风起了。熊市囤技术,其实是技术人员很好的选择。等区块链牛市来了,说不定还可以加入区块链行业,获取区块链行业高速发展的红利。再不济,研究技术,对抄币也是有帮助的啊。于是自己,就在今年年初的时候下定决心,要...

weixin_34376986的博客 132

区块链浪潮背后,共识机制却无「共识」 |链捕手

政策趋势日渐明朗,无疑成为市场再度爆发的「助燃剂」,高涨的市场情绪中却仍有隐忧存在:区块链技术发展尚未完善,落地困境也并未解除。区块链概念诞生十年,期间共识机制层出不穷。从比特币网络「中...

295

【区块链108将】李海波:通过用户激励,打造分布式的云服务器

2016年10月360宣布关闭360云盘服务,一时之间让非常多的用户陷入了非常尴尬的境地,几个TB的文件无处安放。“时势造英雄”,一时之间很多360云盘的用户开始集中下载,集中转移文件。360云盘给了每个人20个TB的空间,是所有免费云盘里面空间最大的。动不动就是几个TB的文件,下载速度只有40KB左右,下载几年也下载不完。云搬家2016年开始宣传,主打的市场就是云盘之间的联通,可以直接通过云搬家

IT耳朵 970

2018区块链生存指南:要做飞行的猪、摔不坏的弹球、未来的种子

我们要有落地的场景,要有实实在在的应用,才有起飞的能力。 飞猪、弹球、种子分别代表了:实力、心态和成长性。 这三点在2018年,对于区块链的从业者来说,非常重要。 01 | 御风而行 or 风停重跌 十年前,区块链刚诞生时鲜有人知,到今天,截至2017年底,全球范围内数字货币超1500种,总市值7000亿美元、中...

weixin_34405557的博客 215
上一篇: 众说区块链:区块链应用场景之Token
下一篇: 区块链100讲:通过一次交易旅程来理解Hyperledger Fabric节点
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值