Blockchain A-Z™: Learn How To Build Your First Blockchain
单纯从技术角度了解blockthain.
Module 1, Blockchain
特点:
分布式的,不可篡改的,p2p的 网络。存储在每个node上保存一份,这就是个基于网络的RAID 1 啊,感觉存不了多少东西,对存储的需求量巨大。
Module 2
几种主流技术,这个是截止2018的,有点老了,需要调研下新的有哪些
挖矿技术原理:就是对nonce 值一个一个试,对整个Block hash 计算,找到符合条件的hash值则为成功挖到。hash 用的是SHA256. 这对计算资源也是需求巨大。上图这个hash 值只是示例,实际上是一个全0开头的值,而且随着时间 0越来越多,逐渐增大挖币的难度。
比特币每隔210000个Block,挖到的币减半,这就是 Halving. 另一个概念是frequency, 控制在10min 一个。
挖币难度公式:
Difficulty = max_target / current_target.
Difficulty 每 2016 (2 week) 调整一次,基于是不是平均挖币时间10min来调整,比如>10min说明比较难挖到,那就调整current_target 大一些,difficulty 就小了。
Mining pool 就是解决了个人miner 单小力薄的问题,大家联合起来人多力量大,话语权也大。
Nonce Range 也是一个很有意思的概念。它是32位的,不足够mine出来,这种情况下可以引入两个两个变化量 timestamp 和 切换transaction, 这样就解决了range 不够的问题。
Mempol, 这个就是存在每个node 的memory里面的transactions, node从里面取transaction, 一旦block mine出来了,就删除对应的transaction.
共识机制有个重要的内容是,如果两个mining pool 同时mine出来了一个Block,那就两边继续mine, 谁先到6个block就算谁赢,另一边就白挖了。
UTXOs - 就是你没花出去的
Module 3, Smart contract
就是可以在分布式网络上跑的程序,把整个网络当成一个超大计算机。Ethereum 上才可以建,这个就是一个生态。
跑程序跑在EVM里,而且需要gas.
Decentralized Applications (Dapps)
Decentralized Autonomous Organizations (DAOs)
Initial Coin Offerings (ICOs) 类似于上市的IPO,可以通过发token来融资。
Reference:
https://www.superdatascience.com/pages/blockchain