以太坊(北京大学肖臻老师课程笔记)
跟着老师的课程整理的上课笔记,很乱,仅供参考,我自己学完一遍也很模糊
文三路张同学
在读浙大计算机博士,研究方向3D vision,欢迎大家关注我:https://github.com/Ruiyuan-Zhang/
展开
-
21 以太坊权益证明
权益证明 proof of stake 比特币和以太坊目前都是使用的基于工作量的证明,这种共识机制受到了普遍的批评——浪费电 以下这张图表示比特币的能耗随时间的曲线 以及 具体的数字 以下是以太坊的能耗曲线 以太坊与比特币相比能耗要少很多,这是因为比特币的出块时间长,以太坊的出块时间短,所以每个交易上比特币所花费的能耗要多很多,但是即使如此,以太坊挖矿所消耗的能...原创 2020-02-18 11:12:12 · 2140 阅读 · 0 评论 -
20 以太坊难度调整算法
以太坊难度调整算法 比特币是每隔2016个区块调整一下挖矿难度,目标是维持出块时间在10分钟左右。以太坊是每个区块都有可能调整挖矿难度,调整的算法比较复杂,已经变更了很多次。 以下是区块难度的公式,这个H是当前的区块,这个Hi是当前区块的序号,D(H)是难度。这里放置难度炸弹的作用主要是为了向权益证明过度,将来的以太坊将逐渐由工作量证明转向权益证明。 因为难度的最低为-99,所以...原创 2020-02-18 11:04:12 · 2870 阅读 · 0 评论 -
18 以太坊的共识机制
以太坊的共识机制 以太坊把出块时间降低到十几秒,但是这样也带来了很多问题,较频繁的出现分叉,这对于共识协议来说有什么影响呢? 在比特币中,只有最长合法链的中才是合法链, GHOST协议:假如一条区块链没有成为最长合法链,就会给予一定的补偿, 对于叔父区块,挖出就可以获得一定的奖励,最长合法链的区块,可以包含两个叔父区块,并获得一定的奖励 出现第三个怎么办? 如果已经发布了区块,它的...原创 2020-02-18 10:59:06 · 2887 阅读 · 1 评论 -
17 交易树和数据树
——————>> 二刷分界线。 交易树和收据树 每次发布一个区块的时候,这个区块中所包含的那些交易会组织成一棵交易树,也是一棵Merkle tree,和比特币中的情况是类似的;同时,以太坊增加了一棵收据树,每个交易完成之后会形成一个收据,记录这个交易的相关信息,就是交易树和收据树上面的节点是一一对应的,增加这个收据树主要是考虑到以太坊的智能合约执行过程比较复杂,所以增加...原创 2020-02-18 10:55:45 · 564 阅读 · 0 评论 -
16 以太坊中的数据结构及其状态树
——————>> 二刷分界线。 以太坊中的数据结构 以太坊中的账户地址是160位(20个字节),一般表示成四十个十六进制的数。 简单的hash表来实现怎么样? 查询、更新都是在常数时间内完成的,另外这种结构无法很好的提供hash proof,比如要签署一个合约:需要提供一下账户余额,这将怎么提供呢: 一种方法是将哈希表中的元素组织成一棵Merkle tree,...原创 2020-02-17 19:46:15 · 1156 阅读 · 0 评论 -
14 以太坊概述
区块链2.0 —— 以太坊 改进 1、出块时间 2、比特币的mining puzzle比拼的是挖矿的算力,这样就使得挖矿的专业化。所以在以太坊中设计的mining puzzle要求内存非常高,叫做memory hard mining puzzle,目的是在一定程度上限制了ASIC芯片的使用,我们叫做ASIC resistance。 3、将来我们要将工作量证明proof of work改变为...原创 2020-02-17 19:36:35 · 1158 阅读 · 0 评论