注:没有全部复原,抽取了主体知识,加入了一些自己的理解,强烈建议去学习肖臻老师的课程,这绝对算得上是国内区块链讲解的顶级教程,纯学术和技术
Block chain is secured by mining.
bug bounty ;bug悬赏,找到Bug给奖励
BTC的挖矿算法是一个天然的bug bounty
ASIC resistance;如何设计一个对ASIC芯片不友好的系统,让普通PC能参与的?
一种常见的作法是memory hard mining puzzle,如果设计出一个对内存要求很高的puzzle,就能对ASIC进行有效遏制。
LiteCoin:其puzzle是基于scrypt,对内存要求很高的哈希函数,应用于计算机安全领域,与密码相关
洋葱一样的加密检索,会耗费极大的内存,但是一个问题是对于轻节点,SPV证明来说,也需要一样的内存,不符合。difficult to solve, but easy to verify
LiteCoin:出块时间变为了2分半,加了加密算法,除此之外与BTC都是一样的
以太坊也是使用一种memory hard mining puzzle,但是与LiteCoin有很大的不同
使用两个数据集,小的是一个16M的cache,大的数据集是一个1GB的dataset,叫做DAG
1G的dataset是由16M的cache生成的,就是为了便于验证,轻节点只要保存16M的cache,只有需要挖矿的矿工才需要保存这1G的大数据集。
小的数据集的生成方式是:从一个种子节点经过一些运算生成第一个元素,然后依次取哈希,第一个元素取哈希得到第二个元素,第二个元素取哈希得到第三个元素,把数组从前往后进行填充伪随机数就得到一个cache.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x9hek3hH-1621330507179)(C:\Users\nature\AppData\Roaming\Typora\typora-user-images\image-20210518162136679.png)]
以太坊先生成一个更大的数组,小的cache和大的dataset都是定期增长的,计算机的内存容量也是定期增长的,摩尔定律
大的数组里面的第一个元素的生成顺序:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOVnonU4-1621330507182)(C:\Users\nature\AppData\Roaming\Typora\typora-user-images\image-20210518162445065.png)]
目前以太坊Miner主要还是以GPU为主,用ASIC芯片的很少
以太坊要从PoW->PoS
权益证明是不挖矿的,这对于ASIC是有很大的风险的。吓唬也是很有用的,哈哈,可以看看视频
Pre-mining;不是真正的挖矿,而是之前在发行之前预留一部分货币给以太坊的开发者,
BTC没有采用这种模式,只不过早期比较容易一些
Pre-sale:预售模式
HashRate:以太坊网络里所有矿工加起来每秒钟计算的hash次数
以太坊和BTC的hashrate不能直接比较,因为以太坊计算一次Hashrate的难度要远远大于Btc
另一种观点认为ASIC是安全的