Skip to content

CipherYin/block_test

Repository files navigation

项目概述:

NodeJS实现迷你区块链
基于以太坊开发链课APP

设计挖矿、非对称加密、转账、P2P网络、众筹等功能

NodeJS 以太坊 solidity React.js web3.js IPFS

github.com/shengxinjing/iblockchain

区块链就是一个一个区块组成的链。

区块链黑话科普:本质是一个分布式数据库,比特币造就了区块链,但不是等于的关系,村床小例子,理解记账挖矿共识等机制

人人记账:每人一个账本,账本每一页记录着交易信息,账本哈希值,时间,上一页的哈希,p2p广播,有人生病,同步一下账本即可;

记账比较麻烦,设置了手续费和矿工奖励

用算数学题的方式,争抢记账权

记账:比特币是UTXO,demo简化,只记录from和to 交易带签名,防止伪造 交易广播全场,有矿工打包进区块后,才能查询余额 矿工负责校验交易签名

区块链发展的两个部分: 1. 区块链1.0 比特币(第一部分重点) 2. 区块链2.0 以太坊(智能合约 课程后半部分重点)

数字货币

区块链现在最广泛的应用:比特币、以太坊、EOS、USDT、LTC,DOGE、Ripple等等

比特币总量2100W;已经运行了8,9年没有严重故障,区块链的第一个应用,诞生于密码朋克,作者中本聪

以太坊,下一代区块链,众多高级功能,发币,智能合约,后面重点是基于以太坊开发,DAPP开发(养猫等游戏)

USDT: 价格最稳的数字获取;随时用1:1兑换USD;法币支撑价格稳定

成为数字货币世界的基础货币之一


ICO:众筹
交易所:场外、撮合
钱包:存储

价值:供需决定价格,数量稳定,支付方便,透明中立

区块链应用场景: 除了数字货币, 主要还是看特性 不可篡改的属性 去中心化+透明 价值传递 前景展望: 数字货币+支付;共享经济+信用传递; 食品安全;数字版权;众筹;合约,游戏,可编程社会

前途无量的项目: IPFS(星际文件系统) 超级账本,fabric,区块链3.0代表项目 NameCoin键值数据库 具体应用领域:公有链,私有链、联盟链

区块链技术:

哈希: 数据指纹,将任意长度的转成一个长度的,逆向困难,单向计算,输入敏感,碰撞避免

共识: 
    1. POW工作量证明机制:谁干的活多谁说了算,费电
    2. POS权益证明:谁股份多谁说了算(比如谁的币最多)
    3. DPOS代理权益证明:人民代表大会制度;选一些代表;比如超级节点

非对称加密:公私钥 比如RSA非对称加密
    (对称加密:私钥)


拜占庭将军问题:解决容错问题
P2P: 成为一个节点,比如迅雷和电驴解决带宽问题
分布式:


地址:公钥,


自己了解Merkle树,CAP原理,Paxos,raft算法,拜占庭容错

P2P: 种子服务器(公网IP)

简单udp打洞实现p2p

一个特殊的种子节点: 1. 每个节点保存全部的节点ip和端口 2. 新节点=>种子节点 : 我来了,我的Ip是xx 端口是yy 3. 但是新节点不在别人网件白名单里没发直接通信 全体sayhi,只为加上白名单: 1. 新节点给所有已知节点发消息,新节点的网件上把所有节点加上白名单 2. 已知节点给新节点发消息,已知节点加白名单 3. udp不可靠,很粗暴的挖矿和交易都加一个全局广播的逻辑

About

巩固React+区块链

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published