单纯从技术角度了解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的更多相关文章

  1. [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 ...

  2. 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 ...

  3. [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 ...

  4. [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 ...

  5. [人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing

    [人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing 论文简介 这是最早期CNN用于活体检测的文章,在此之前都是手 ...

  6. project3 blockchain

    [概念] 做服务的时候main里面不能单独有东西,都得包起来. Identifier expected是因为没有main函数 雾草,task3还要加proxy, add再干别的.难受!妈的,什么代理模 ...

  7. The Best Blockchain Open Source Projects

    https://101blockchains.com/blockchain-open-source/ Blockchain has been the buzzword of the year for ...

  8. 攻防世界高手进阶之Web_python_block_chain(2018年DDCTFmini blockchain)

    打开题目大概看了一下,是有关区块链的题目, 感觉代码要格式化一下,不然没法看 代码格式化站点:https://www.html.cn/tool/js_beautify/ hash of genesis ...

  9. 以太坊blockchain源码分析

    blockchain关键元素 db:持久化到底层数据储存,即leveldb: genesisBlock:创始区块 currentBlock:当前区块,blockchain中并不是储存链所有的block ...

  10. Gazebo機器人仿真學習探索筆記(六)工具和实用程序

    Gazebo附带了许多工具和实用程序. 这些教程说明了这些可用的工具,以及如何使用它们. 主要有: 1 记录和播放 2 日志过滤 3 应用力/扭矩 4 HDF5数据集 官网介绍通俗具体,非常容易,请参 ...

随机推荐

  1. Java使用不同方式优雅拆分业务逻辑

    如何处理复杂的业务逻辑 在实际的业务开发当中,经常会遇到复杂的业务逻辑,可能实现出来的代码并没有什么问题,但是代码的可读性很差. 那么在实际开发中如何避免大面积的 if-else 代码块的问题? 补充 ...

  2. P3938

    斐波那契 题意描述 输入 5 1 1 2 3 5 7 7 13 4 12 输出 1 1 2 2 4 点拨 根据题目去找规律,每一个儿子与父亲结点具有斐波那契数的规律,我们只需要每次找到该数在斐波那契数 ...

  3. 10 pdf分享失败

    PC端分享pdf,复制粘贴pdf链接后跳转搜索首页

  4. 统计里面PV 和 UV代表什么意思

    1.网站流量bai统计中"PV"它所代表的意思是访问量了,具体指的du就是网站zhi的页面点击量或是浏览量,亦或是页面的刷新量dao了,网站的页面每刷新一次,就统计一个" ...

  5. 可视化—AntV G6实现节点连线及展开收缩分组

    AntV 是蚂蚁金服全新一代数据可视化解决方案,主要包含数据驱动的高交互可视化图形语法G2,专注解决流程与关系分析的图表库 G6.适于对性能.体积.扩展性要求严苛的场景. demo使用数字模拟真实的节 ...

  6. Docker Compose 基本概要

    Docker Compose 基本概要 Compose 是一个用于定义和运行多容器 Docker 应用程序的工具.使用 YAML 文件来配置多个应用程序的服务,包括生产.暂存.开发.测试以及 CI 工 ...

  7. python实例化对象过程

    python实例化对象过程 Python中存在着一种静态的__new__()方法,通常在定义类时不会重写__new__()方法,于是Python在调用类时会自动寻找该类的继承对象(本例中为Object ...

  8. hive导入mysql

    hive测试--HIVE数据分析02 题目: 4.处理结果入库:(在虚拟机安装mysql)    将上述统计分析的结果数据保存到mySQL数据库中. #text3_1入库 #1.添加驱动,在hive的 ...

  9. layui下拉框的数据如何直接从数据库提取(动态赋值)

    代码说明部分 第一步:先把layui官方给的模板粘到自己的前端注:下面的代码是我直接从layui官网粘过来的 <div class="layui-form-item"> ...

  10. 【Java-GUI】01 AWT & 布局

    https://www.bilibili.com/video/BV1Z54y1S7ns --1.AWT 完整描述:Abstract Window Toolkit 抽象窗口工具集 提供的API资源 抽象 ...