区块链学习笔记(一)

区块链及比特币学习总结

一、比特币

1.1   比特币特点

1.1.1       去中心化

基于分布式技术,整个网络的用户共同维护交易区块链。

1.1.2       基于共识协议(共识协议是让各个节点积极参与的一种激励机制)

比特币使用了POW(工作量证明协议)共识协议。

流程:

第一个区块为创世区块,每隔十分钟会产生一个交易区块。(该区块由每一个用户都有一个交易缓冲池,存放十分钟左右的交易数据。然后根据机制的算法计算出一个前面多少位为0的一个数字,然后各个矿机找一个随机数,根据这个随机数计算各个块头的hash,hash值小于这个数字,并广播给各个节点确认,当超过51%的节点确认成功后,该区块便产生成功进入区块。系统会分配给挖矿者一定数量的比特币【开始为50个,每个四年减半】,并且旷工还能获取确认成功的手续费。)(注意:每个区块入链后,至少需要再产生5个区块才能有效。因此会带来分叉的问题。)

1.1.3       智能合约

智能合约是一种脚本语言,比特币产生时该脚本就产生了共有166种命令格式,常用命令5种。他是交易结构的一部分,当满足预设值的条件,交易自动执行。

1.2   比特币结构分析

每一个区块的结构图

1.2.1主链hash链

是由每个区块的块头中的存放的前一区块的hash值链起来的一个hash链表。每一个区块都记录了一个时段是交易记录

1.2.2 merkle树(交易的hash二叉树)

每一个区块体由一个merkle树组成,每一个叶子节点为一个交易,根节点如图为所有交易的hash,根节点的hash也会存在区块头中。

1.2.3 交易结构体

主要包括:

1.产量交易(Generation)

每个Block都对应一个产量交易(Generation TX),该类交易是没有输入交易的,挖出的新币是所有币的源头。

2.合成地址交易(Script Hash)

该类交易的接收地址不是通常意义的地址,而是一个合成地址,以3开头,需要几对公私钥一起生成合成地址,在生成过程中可以指定,几对公私钥中的几个签名以后,就可以消费该地址的比特币。

3.通用地址交易(PubkeyHash)

结构体

交易部分

脚本

  基本是基于智能协议脚本,写的当判断条件完成时自动执行交易记录

 

交易部分(里面的公钥和签名值是我自己查资料的理解,培训这一点模糊带过)

版本号

交易输入个数

交易输入

  前一交易hash

  前交易索引

  接受者公钥长度

  接受者公钥

  序列

交易输出个数

  输出数值

  输出者私钥签名值长度

  输出者私钥签名值

交易输出

时间戳

 

1.3   挖矿机制

挖矿的本质是创建区块链中的一个区块,并且让个节点共同参与论证的一种共识机制。当完成区块的建立后奖励创建者响应的比特币作为报酬。

1.4   小计

个人认为比特币构建了一个非常公平的虚拟货币体系,对比传统货币不在有中央银行去管理维护,货币的数量维护完全交给市场,每一个比特币的参与者都可以成为比特币的产生者,也都拥有并且维护比特币的交易记录。同时比特币也是对各个参与的身份信息进行保护,不在交易中展现用户信息,利用密码学技术代替实体的交易者,但是对交易信息又完全公开,交易记录一旦产生不可删除。各个交易区块的建立依据共识机制,全员参与。

二、比特币和区块链的关系

区块链是中本聪提出的比特币中使用的一种解决弱信任的解决方案。

三、区块链

3.1简介:

比特币的技术细节介绍大致也是区块链的技术介绍,基于区块链目前比较成功的架构有以太坊和超级账本。他们使用的区块链的共识机制不同,以太坊使用的POS协议。超级账本的共识机制可以根据应用需要配置。并且他们还扩充了区块链的智能协议。

3.2定义:

区块链是一种多方参与的、分布的、复试账本技术。(太一网提出的,个人认为是符合中国国情的,毕竟去中心化,完全没有管控是很那实现的)

3.3目前的发展

应用:

目前比较成功的是在虚拟货币上的应用,例如比特币,以太币等

开源架构:

    比特币、以太币,超级账本(IBM提出)

3.4实际应用需要考虑的问题

    要解决什么问题?什么样的场景中使用?那些数据上链?如何解决数据同步带来的网络冗余?使用区块链技术是否真的比传统中心服务更方便更好?

四、区块链和商用密码

目前区块链个人身份使用的ECC的密钥对,同SM2算法一直同根,我们可以针对某个开源框架,修改他的签名结构,将原先使用的160位的ECC方法,使用SM2算法替换。完成符合商用密码使用的区块链底层框架,据了解目前国内区块链开发还没有公司专门做这个方面,都是沿用160的ECC算法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值