区块链的出现主要解决的是传统中心化网络部署方式所带来的众多问题,包括:1)交易非公开化,中心节点掌握分布节点信息,分节点不掌握其他节点信息;2)系统安全性取决于中心节点安全性,中心节点存在道德风险,可利用大数据进行数据变现,存在隐私泄露风险;3)系统风险性随着网络规模扩大而上升;4)中心节点维护系统运行涉及较高成本等。
源于比特币,区块链利用分布式部署P2P网络和同步更新完成了对于以上问题的解决:
1) 分布式方面,区块链每个节点掌握各个节点信息,信息可以采用匿名化原则,但交易公开,且系统内交易批准取决于所有节点共识性原则,规则对于所有节点公平且强制,因此,随着网络规模扩大,系统风险性反而下降;
2) 同步更新方面,由于每个节点都存有过去所去所有交易的历史记录,且每10分钟交易所组成的比邻区块之间存在逻辑嵌套关系,故随着时间推移,交易增多,每个节点内同步更新的链条愈发变长,愈发难以被篡改。
比特币完成了区块链“从0到1”的诞生,比特币区块链交易简易流程
1)交易定义
公共钥匙加密(Public Key Cryptography)。比特币区块链PKC目前为每位网络参与者提供两把钥匙,一个为其他用户所知的公匙(相当于用户用户名),一个只为用户自己所知的私匙 (相当于用户密码),任何有你公匙的参与者可以给你发送一条加密信息,该信息只有你可以读到。
使用私匙,发信人可以在加密信息中进行数字签名,向收信人证明发信人是你自己。KPC采用椭圆不对称加密技术,安全性较强。如何发送比特币?例:A向比特币区块链网络中发送一条或多条信息,A在信息中指名发送人和收件人的地址。对于每个收件人地址,A指名发送的比特币数量。A在信息中利用私匙对信息进行数字签名,向收件人证明身份。信息发送后,A等待比特币区块链网络对于信息进行验证和确认。
2)单节点交易核查
A的交易信息发送后,当比特币区块链网络内任一节点(矿工)上的机器收到了信息,其开始做以下处理:检查该机器自身是否已经处理过此次交易(确定交易唯一性);检查交易涉及地址是否合法有效;检查数字签名,以确保原发信者是Input地址合法有效的拥有者;检查发件人这笔比特币有没有在别的地方被花费提取过;检查发件人比特币数量至少是和收件人预收的比特币数量相同(Input>Output,任何不同差额为手续费用)。
如果以上检查没有问题,节点将交易标注成有效,将其列入“未确认交易”名单。然后将信息广播至网络内其它节点,网络内众节点开始对交易进行节点共识验证,并在网络中进行广播。进行单点验证的矿工可以获得一小部分比特币获得奖励。
3) 加入区块,区块创造
该笔交易被一个挖矿节点验证,验证成功后会被添加到区块中。每个节点要正确无误的给这十分钟的每一笔交易盖上时间戳并记入最新的区块中,所以每个区块包含过去十分钟的所有交易。
4) 节点共识验证
每个矿工节点需通过解SHA256的算法来竞争过去十分钟区块的合法记账权,并争取得到12.5个比特币的奖励(该数量基本是每四年递减一半,目前已挖出1600万以上比特币)。若一个矿工节点解开了这十分钟的SHA256难题,其将向全网公布其这十分钟区块记录的所有盖时间戳交易,并由全网其他矿工节点核对。
领取专属 10元无门槛券
私享最新 技术干货