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
Blockchain A-Z™: Learn How To Build Your First Blockchain的更多相关文章
- [z]spring boot gradle build
I had the same problem. I believe it is caused by the JRE that gradle is configured to use rather th ...
- 2016 - 1- 22 Build a Nav bar (intro to HTML&CSS)
一:Learn how to build a NavBar --- allow user navigate ur site 1. The hypetext refrence link This att ...
- [Docker] Build a Simple Node.js Web Server with Docker
Learn how to build a simple Node.js web server with Docker. In this lesson, we'll create a Dockerfil ...
- [AngularFire2] Build a Custom Node Backend Using Firebase Queue
In this lesson we are going to learn how to build a custom Node process for batch processing of Fire ...
- [人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing
[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing 论文简介 这是最早期CNN用于活体检测的文章,在此之前都是手 ...
- project3 blockchain
[概念] 做服务的时候main里面不能单独有东西,都得包起来. Identifier expected是因为没有main函数 雾草,task3还要加proxy, add再干别的.难受!妈的,什么代理模 ...
- The Best Blockchain Open Source Projects
https://101blockchains.com/blockchain-open-source/ Blockchain has been the buzzword of the year for ...
- 攻防世界高手进阶之Web_python_block_chain(2018年DDCTFmini blockchain)
打开题目大概看了一下,是有关区块链的题目, 感觉代码要格式化一下,不然没法看 代码格式化站点:https://www.html.cn/tool/js_beautify/ hash of genesis ...
- 以太坊blockchain源码分析
blockchain关键元素 db:持久化到底层数据储存,即leveldb: genesisBlock:创始区块 currentBlock:当前区块,blockchain中并不是储存链所有的block ...
- Gazebo機器人仿真學習探索筆記(六)工具和实用程序
Gazebo附带了许多工具和实用程序. 这些教程说明了这些可用的工具,以及如何使用它们. 主要有: 1 记录和播放 2 日志过滤 3 应用力/扭矩 4 HDF5数据集 官网介绍通俗具体,非常容易,请参 ...
随机推荐
- Java使用不同方式优雅拆分业务逻辑
如何处理复杂的业务逻辑 在实际的业务开发当中,经常会遇到复杂的业务逻辑,可能实现出来的代码并没有什么问题,但是代码的可读性很差. 那么在实际开发中如何避免大面积的 if-else 代码块的问题? 补充 ...
- P3938
斐波那契 题意描述 输入 5 1 1 2 3 5 7 7 13 4 12 输出 1 1 2 2 4 点拨 根据题目去找规律,每一个儿子与父亲结点具有斐波那契数的规律,我们只需要每次找到该数在斐波那契数 ...
- 10 pdf分享失败
PC端分享pdf,复制粘贴pdf链接后跳转搜索首页
- 统计里面PV 和 UV代表什么意思
1.网站流量bai统计中"PV"它所代表的意思是访问量了,具体指的du就是网站zhi的页面点击量或是浏览量,亦或是页面的刷新量dao了,网站的页面每刷新一次,就统计一个" ...
- 可视化—AntV G6实现节点连线及展开收缩分组
AntV 是蚂蚁金服全新一代数据可视化解决方案,主要包含数据驱动的高交互可视化图形语法G2,专注解决流程与关系分析的图表库 G6.适于对性能.体积.扩展性要求严苛的场景. demo使用数字模拟真实的节 ...
- Docker Compose 基本概要
Docker Compose 基本概要 Compose 是一个用于定义和运行多容器 Docker 应用程序的工具.使用 YAML 文件来配置多个应用程序的服务,包括生产.暂存.开发.测试以及 CI 工 ...
- python实例化对象过程
python实例化对象过程 Python中存在着一种静态的__new__()方法,通常在定义类时不会重写__new__()方法,于是Python在调用类时会自动寻找该类的继承对象(本例中为Object ...
- hive导入mysql
hive测试--HIVE数据分析02 题目: 4.处理结果入库:(在虚拟机安装mysql) 将上述统计分析的结果数据保存到mySQL数据库中. #text3_1入库 #1.添加驱动,在hive的 ...
- layui下拉框的数据如何直接从数据库提取(动态赋值)
代码说明部分 第一步:先把layui官方给的模板粘到自己的前端注:下面的代码是我直接从layui官网粘过来的 <div class="layui-form-item"> ...
- 【Java-GUI】01 AWT & 布局
https://www.bilibili.com/video/BV1Z54y1S7ns --1.AWT 完整描述:Abstract Window Toolkit 抽象窗口工具集 提供的API资源 抽象 ...