区块链学习+比特币白皮书分析

AA说明:

学习研究区块链已经有接近2个月了,从最开始的《区块链革命》这本书,到新生大学培训视频(技术理论)、区块链技术研发入门视频(以太坊solidty编程开发学习)、区块链电子书(《区块链技术指南》、埃森哲《展望》:区块链+等)对区块链的认识也不断加深,目前我的认识,区块链是可以解决信用机制问题,降低信用成本,作为一套可追溯、不可修改、分布式的账本,它的应用前景广阔,但是如果想要真正的应用起来,必须落地在解决现实生活中的问题,从经济利益角度来看,如何突破各行业现有利益体系,使得引进区块链技术后的应用系统能够良性运行。比特币的挖矿,通过产生的挖矿奖励、交易费以及记账权力,在经济利益层使得系统能够良性运行。比特币是目前区块链最成功的应用,所以研究比特币的源码是非常有意义的,特别是中本聪的第一代比特币源码。

    今天是我开始写CSDN博客的第一天,经过这么长时间的学习研究,从横向的学习方向来看,对于区块链的整体认识已经比较深刻;现在开始往纵向的学习方向研究,也就是拆分区块链的相关知识点,比如系统架构、关键技术点、应用方向、源码分析等,采用总分总的方式学习研究,最终目标是需要有落地实践的。

    比特币白皮书:https://github.com/GammaGao/bitcoinwhitepaper

    比特币第一代源码地址:https://github.com/trottier/original-bitcoin

比特币白皮书分析:

涉及的技术:
点对点的技术(Peer to Peer)
数字签名技术(Digital signatures)
随机数列(hashing)
时间戳(timestamps)
基于随机数列的工作量证明(POW proof of work)
密码学原理(公钥 私钥)
未花费交易UTXO (Unspent Transaction Output) = 拥有者的公钥锁定一个数字
基于栈的运算
时间戳服务器(Timestamp server)
工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定
交易广播
激励
Merkle 树(Merkle tree)
简化的支付确认(Simplified Payment Verification)


提问:

互联网上的贸易都需要第三方可信任机构来处理支付信息(基于信用的模式 trust based model),实现不需金融中介的存在,降低交易成本?
互联网交易需要互相信任的问题,以及个人信息的保密问题?
防止双重支付问题(double spending)?(一种通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明,交易信息全网公布,不可篡改,可追溯)
系统在点对点环境下运行?
交易记录不可篡改?
比特币支付系统安全的条件?(诚实的节点算力总和大于50%)
如何保证支付系统的正常运行,保证检验机制是可靠的?(挖矿激励+交易费)

架构:

参考:https://blog.csdn.net/sportshark/article/details/53364690

联想新生大学中的理论知识

区块链结构:区块头(Header)和区块体(Body)

区块头的大小为80字节,由4字节的版本号、32字节的上一个区块的哈希值、32字节的Merkle根哈希值、4字节的时间戳(当前时间)、4字节的当前难度值、4字节的随机数组成。

   UTXO= 数量+锁定脚本(拥有者公钥哈希)
锁定脚本 = DUP HASH160 PUSHDATA(20)[拥有者公钥] EQUALVERIFY CHECKSIG
解锁脚本 = 签名+发送者的公钥
交易验证=解锁脚本+锁定脚本
交易的确认:6个以上区块的确认
货币发行:挖矿,基于随机性序列的运算,挖矿成功获得比特币+记账权
比特币系统:全网节点
比特币地址:拥有者公钥哈希生成

猜你喜欢

转载自blog.csdn.net/mengzaishenqiu/article/details/80340918