一、区块链技术
1.什么是区块链?
去中心化的、分布式的、区块化存储的数据库
存储全部账户余额及交易流水的总账本
每个节点有完整的账本数据
账本数据记录了全部的历史交易数据
交易数据存储在区块上
每个区块包含前一区块ID及HASH,形成链
2.区块链基本原理
如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。
交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录
区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识
链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。
3.区块链要解决的问题
如何去中心化地共享数据?
如何确保账户不被冒用?
如何确保账户余额足够?
如何确保交易记录不被篡改?
谁负责记账?
怎么保障记账者的可信?
怎么保障记账者的积极性?
4.区块链特性
去中心化
开放性(没有限制,开源,数据公开)
去信任(仅信任机器)
自治性,集体维护
可靠的数据库(不可更改,永远可访问)
匿名性,隐私保护
5.核心技术
P2P网络、数字签名、区块化数据库,竞争记账权、共识算法、交易回溯。
二、P2P网络及通信技术(分布式计算网络)
1.自动发现
通过种子文件,获取初始节点(地址及端口)
连接初始节点,获取初始节点知道的Peer
把自己的地址及端口广播给各个Peer
接收各个Peer广播的地址信息,构建出网络的全貌或片段
2. 技术领域
分布式存储、分布式计算、分布式协同
组播
流媒体
搜索引擎
3.通信协议
napster 、Gnutella、eDonkey、 Bittorrent(文件分发协议)
XMPP、Jabber(即时通信协议)
Paxos 、Gossip(分布式系统状态同步协议)
JXTA
4.使用HASH算法及非对称加密及签名技术
每个节点、每个人有唯一的一对公钥及私钥
公钥同时也是每个节点、个人的地址和账号
私钥是证明”我就是我“的唯一手段
HASH算法对数据进行规整
5.算法
RSA、Elgamal、D-H、ECC<