1.1 区块链基本知识
1.1.1 交易
区块链通常被理解为超级账本。
非对称加密算法生成密钥对,
公钥作为
账户地址,
私钥作为转账交易的
签名和密码。
现实使用中,私钥进行
对称加密,使用者的PIN密码加密后存储在磁盘空间。
如果忘记密码或者丢失磁盘信息,无法进行转账和使用。
区块链上每一笔交易都是转账记录,转账记录会存储在区块链的数据库里,任何人都可以查询交易双方的账户信息。
发生在区块链上的交易,是存储在区块链网络中的所有全节点上。
即使能看到区块链交易的所有细节及所有账户的余额,也无法将账户与现实世界中的人联系起来。
1.1.2 区块
存储交易信息的结构体就是
区块,除了交易信息外额外的信息保证交易信息的完整性和可靠性。
只有被打包到区块中并且被全公链网络认可的交易,才能算真正的
有效交易。
1.1.3 链
区块头和区块体数据做一次hash运输,结果存储在下一个区块的区块头中,所有区块会保存前一个区块的hash结果方式组成一条链。
1.1.4 挖矿
挖矿:某个节点生产的区块数据得到了其他节点的验证,其他节点会将最新的区块存储在本地,然后加入下一个数据块的生产竞争。
矿工:生成数据的节点。
出块人:计算有效的数字n<=2^256/Hd,得到该数字之后将其放入打包的区块数据中。
1.1.5 共识算法
挖矿过程中,必须付出相应的算力和电力之后才能得到正确的数字,查找满足不等式条件的数字的过程是困难的,但是验证不等式的过程是简单的。这种为了持续生成区块而被所有网络节点认可的方案就叫作共识算法。而付出算力来证明自己工作的共识算法被称作PoW(Proof of Work)。
DPos算法:根据数字货币持有的数量对区块事物进行投票管理,并且轮流来选举出块人进行出块。
BFT算法:通过多次通信交互来区分恶意节点和诚实节点,接收诚实节点,丢弃恶意节点。
PoST算法:存储公链的共识算法之一,即统计节点有效存储的数据的大小和时长,将其作为节点的算力,来竞争成为出块节点,算力越大成为出块节点的概率越高。
......
1.1.6 分叉
由多个矿工在同一区块高度生产出2个以上的区块来。这些区块打包的交易很可能是不一样的,同时满足条件的数字n不是唯一的,但是同样是满足不等式的,在这种情况下,网络中的其他节点很可能同步到不同的区块数据,当不同的节点中的不同的区块作为当前最新区块时,就会存在分叉。
为了解决分叉问题,区块链采用了一种长链抛弃短链的决策方式(类似于报名接龙)。
1.1.7 攻击
算力攻击、女巫攻击、日食攻击等。
作者:金融&科技
学习笔记
学习
智能合约
场景应用