[转载]区块链学习路线

一、编程基础

1、linux/unix

    安装与命名 --》已掌握

2、C++

    面向对象、泛型、STL,BOOST,OPENSSL --》已掌握

3、算法

   3.1 常用算法:排序 --》已掌握

   3.2 基础算法思想:贪心算法、分治算法,递归、递推 --》已掌握

4、数据结构

    链表、队列、栈、二叉树 --》已掌握

5、GO语言

     5.1并发编程  --》已掌握

     5.2网络编程 --》已掌握

6、JS   xxx(待学习)

7、MySql --》已掌握

 

二 、区块链基础

1、区块链基本原理

      1.1区块链技术结构

      1.2区块链分类

2、区块链发展脉络

     2.1区块链1.0  数字货币

     2.2区块链2.0  以太坊

     2.3区块链3.0 智能社会

3、区块链的特点

    3.1去中心化

    3.2可溯源

    3.3不可篡改

    3.4公开透明

4、区块链应用场景

   4.1支付结算

   4.2数字票据

   4.3资产数字化

  4.4征信

  4.5 股权登记

  4.6证券交易

  4.7供应链金融

  4.8P2P领域

  4.9电子存证

  4.10数字版权

  4.11招投标

5、钱包

   5.1比特币钱包

      5.1.1bitcoin

      5.1.2bitPay

 5.2以太币钱包

      5.2.1Mist

      5.2.2 MyEtherWallet

     5.2.3MetaMask

      5.2.4Parity

6 GPU多显卡挖矿

      6.1硬件设备

      6.2软件工具

      6.3 参数调整

7 ICO/IPO

8 硬分叉

    8.1 比特币分叉

    8.2以太坊分叉

       8.2.1byzantium

      8.2.2Contantipole

 

 

三 区块链进阶

1、共识算法

     1.1Pow

     1.2POS

     1.3DPOS

     1.4 PBFT

2、密码学

    2.1对称加密

    2.2非对称加密

    2.3序列密码

    2.4 DES

    2.5分组密码

    2.6 公用密码

    2.7HASH

    2.8MD5

    2.9 RSA

    2.10 SHA256

    2.11RIP256

    2.12数字签名

    2.13零知识证明

3、以太坊智能合约

    3.1solidate面向对象编程

    3.2以太坊私链搭建

    3.3以太坊联盟链搭建

    3.4TOKEN建立、部署、流通

    3.5 IPFS

    3.6 TRUFFLE

    3.7 WEB 3.0

    3.8 Embark

    3.9 项目Ebay 

4HyperLedger Fabric

    4.1 Fabric架构

   4.2 Fabric多通道技术

   4.3账本设计

   4.4 Fabric1.0Endorse背书策略

   4.5Fabric Gossip源码分析

  4.6开发环境搭建

  4.7开发镜像编译

  4.8HyperLedger Composer

  4.9ChainCode

  4.10案例:Fabric explore,cp-web,marbles

  4.11GO语言智能合约开发与部署

 

四 区块链高级

1、源码剖析

     1.1BitCoin

         1.1.1 proof of work

         1.1.2区块高度和分叉

         1.1.3交易数据

         1.1.4 共识算法

         1.1.5分叉检测

         1.1.6交易

              1.1.6.1P2PK脚本验证

              1.1.6.2P2SH脚本

              1.1.6.3标准交易

                     1.1.6.3.1通过public key hash支付

                     1.1.6.3.2通过脚本hash(P2SH)支付

                     1.1.6.3.3多重签名

                     1.1.6.3.4公钥

                     1.1.6.3.5空数据

              1.1.6.4非标准交易

                   1.1.6.4.1签名hash

                   1.1.6.4.2锁定时间和序列号

                   1.1.6.4.3交易费用和变化

                   1.1.6.4.4避免key重用

                   1.1.6.4.5交易可塑性

            1.1.6.5挖矿

     1.1.7合约

             1.1.7.1托管与仲裁

             1.1.7.2COINJOIN

     1.1.8Wallet

          1.1.8.1钱包程序

          1.1.8.2钱包文件

    1.1.9操作模式

   1.1.10P2P网络

        1.1.10.1 节点发现

        1.1.10.2节点连接

       1.1.10.3初始区块下载

       1.1.10.4区块广播

       1.1.10.5 交易广播

       1.1.10.6 内存池

      1.1.10.7问题节点

1.2以太坊

   1.2.1以太坊源码概览

       1.2.1.1区块数据结构

       1.2.1.2交易数据结构

       1.2.1.3交易的HASH

       1.2.1.4区块链数据结构

       1.2.1.5DATABASE

       1.2.1.6创世区块

       1.2.1.7STATEdb

       1.2.18 Validator & Processor

1.2.2 基础架构

    1.2.2.1链规格格式

    1.2.2.2ICAP

    1.2.2.3URL提示协议

1.2.3EV技术

    1.2.3.1RLP编码

    1.2.3.2节点发现协议

    1.2.3.3P2P有线协议

1.2.3ETHASH

   1.2.3.1ETHASH 

 

  1.2.3.2ETHASH   C API

  1.2.3.3 ETHASH  DAG

1.2.4Whisper

   1.2.4.1Whisper proposer

   1.2.4.2概述

   1.2.4.3poc-1有限协议

   1.2.4.4poc-2有线协议

 1.2.5 Bitshares2.0

   1.2.5.1环境搭建

   1.2.5.2如何使用运行全节点

   1.2.5.3自建节点

   1.2.5.4Bitshares-core 编译

   1.2.5.5交易所集成对接

   1.2.5.6bitshare 服务器搭建

   1.2.5.7dpos共识算法

   1.2.5.8bitshare-ui 钱包 账号管理

   1.2.5.9 bitshare.js库详解:chainstore

   1.2.5.10bitshare.js库详解:交易广播

   1.2.5.11搭建比特股水龙头注册服务

 

五区块链实战

    1.矿池开发

      1.1ethernumPool GoLang

      1.2bitcoin pool C++

   1.2 Blogger chain

   1.3钱包开发

      btcwallet,ethwallet

posted @ 2018-09-29 11:15  hezhixiong  阅读(839)  评论(0编辑  收藏  举报