区块链

本质:  一种记账方法
术语:
	节点:  每个节点维护着自己的一个账本
			维护原则:  独立记账,节点间记账的内容保持一致
	共识算法:   节点间保持一致的方法
	挖矿:  各节点为争抢打包数据的权力的行为,挣得权力打包数据可获得奖励
	公开密钥算法:  1.公私密钥   2.生成一个地址,标识一个使用者
	脚本系统:  发送者用接收者公钥加密,用自己的私钥签名

  

交易基本流程

A向B转账------>产生交易数据,打包进区块------->广播--------->其他节点确认------>写入区块----------->B收到转账   

概念

按一定时间间隔,分成一个个的数据块记录,然后再根据数据块的先后关系串联起来,就是所谓的区块链了。   

区块链技术栈

  

1. 区块链账本

梅克尔根,即梅克尔哈希值,暂且认为就是一个区块中所有交易事务的集体×××号   

2. 共识机制

	通过一个规则将各自数据保持一致
	共识:  即大家达成一致
	共识算法:  筛选出具有代表性的节点
			方案:
					Pow, proof of work, 工作量证明
					Pos, proof of stake, 权益证明
					DPos, delegate proof of stake, 委托权益证明
					PBFT, Practical Byzantine Fault Tolerance, 实用拜占庭容错算法

  

3. 密码算法

   区块之间不考指针,而是靠区块哈希的数据来关联
		 梅克尔树结构:
				 1. 每个区块计算出一个哈希值
				 2. 每一笔事务数据也被计算出一个哈希值,称事务哈希
				 3. 对一组事务哈希做处理得出一颗哈希树
				 4. 哈希树的顶部为树根,称为”梅克尔根“

  

4. 脚本系统

最简单的:比特币的发送和接受过程通过实现在比特币中的一组脚本程序完成的。   

5. 网络路由

节点发现协议   


《白话区块链》