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数据集 官网介绍通俗具体,非常容易,请参 ...
随机推荐
- Nginx常用操作
Nginx Nginx的最重要的几个使用场景 静态资源服务,通过本地文件提供服务 反向代理服务,延伸出包括缓存,负载均衡等 API服务,OpenResty 相关概念 简单请求和非简单请求 请求方法是H ...
- Linux Centos7搭建RabbitMQ
下载依赖 yum -y install epel-release yum -y update 安装Erlang yum -y install erlang socat 测试安装成功 erl -vers ...
- 深度解读昇腾CANN内存复用技术,降低网络内存占用
本文分享自华为云社区<深度解读昇腾CANN内存复用技术,降低网络内存占用>,作者: 昇腾CANN. 随着大模型的兴起,神经网络规模不断扩大,对内存资源的消耗也越来越高,如何降低AI算法的内 ...
- 工作单元(UnitOfWork) 模式 (2) .NET Core
1.工作单元(UnitOfWork)是什么? Maintains a list of objects affected by a business transaction and coordinate ...
- Python 按分类样本数占比生成并随机获取样本数据
按分类样本数占比生成并随机获取样本数据 By:授客 QQ:1033553122 开发环境 win 10 python 3.6.5 需求 已知样本分类,每种分类的样本占比数,及样本总数,需要随机获取这些 ...
- holiday week3
本周开始进行小学期实验报告B 上周LOL打的rank分又掉了回去 星际争霸打到了铂金段位 JAVA预备在小学期完成之后开始正式学习 现已了解雏形 本周发布了一个视频https://www.bilibi ...
- Mysql函数12-DATE_FORMAT
DATE_FORMAT函数用于日期格式的转换. 1.sql查询出一列create_time select create_time from goods where id=65 2.让create_ti ...
- 基于禅道数据库对bug进行不同维度统计
工作中经常需要在周报.月报.年报对禅道bug数据进行不同维度统计导出,以下是我常用的统计sql 1.统计2022年每个月bug数(deleted='0'是查询未删除的bug) select DATE_ ...
- 【BatchProgram】 读取文本批量创建目录
NameList.txt文件内容 FILE-NAME-A FILE-NAME-B FILE-NAME-C ... 根据上面文件批量创建对应的目录,且附加序号 CMD代码: @ECHO OFF SETL ...
- 【MySQL】主从配置
一主一从(或二从)部署: 参考博客: https://www.cnblogs.com/lelehellow/p/9633315.html 正好借着3台机器,可以做一个 1主 2从的分配 192.168 ...