区块链学习笔记01

一.比特币的本质:算法

1.比特币的本质就是点对点(去中心化)的数字现金系统。数据库

2.利用数字签名能够防篡改和伪造交易。安全

百度百科的定义:网络

比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。electron

与大多数货币不一样,比特币不依靠特订货币机构发行,它依据特定算法,经过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录全部的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法自己能够确保没法经过大量制造比特币来人为操控币值。基于密码学的设计可使比特币只能被真实的拥有者转移或支付。这一样确保了货币全部权与流通交易的匿名性。比特币与其余虚拟货币最大的不一样,是其总数量很是有限,具备极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,以后的总数量将被永久限制在2100万个。分布式

3.详细了解最好看一下比特币白皮书:http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-systemide

2、双花问题:函数

1.什么是双花:区块链

在数字化货币系统中,因为数据的可复制性,使得系统可能存在同一笔数字资产因不当操做被重复使用的状况,这也称之为双花。设计

2.如何阻止双花问题

1. 支付过程全网广播,全部人均可见,全部人都看到相同的交易
2. 须要一种表达形式来达到这个目标

3.坏人能作什么

①. 一个矛盾的交易
②. 给一部分人这个交易
③. 给另一部分人那个交易
④. 出现了double spending(双花,复制)

4.如何不让坏人干坏事

①. 不要相信发出的交易,直到确认。即:大部分人赞成一个交易(少部分赞成不行,交易有
非确认的交易,有确认的交易)。
②. 把坏人变成好人。即:经过激励机制(比特币的伟大发明:破坏系统须要投资大可是获益不大,
支持系统获益大)。

5.没有中心节点,如何阻止双花?

①. 两个矛盾的交易,若是可以排序的话,前面的交易确认,后面的交易不确认,做废
②. 确认的交易都构成一条链(区块链)
③. 这个链还能够被记上标记,第0块,第1块(创始区块?)

6.双花问题的总结:

①. 数字货币有双花问题
②. 防止双花要有全局的顺序帐本
③. 区块链就是全局的顺序帐本!(一句话说明白区块链)

3、组块的问题(挖矿原理)

什么是块呢?关于“共识机制”、“块”、“节点”的概念参考这个连接能够一目了然:http://baijiahao.baidu.com/s?id=1585201189019078926&wfr=spider&for=pc

看一下咱们帐本的形状

咱们的指望是:

1. 全部的确认的交易都同样的,即区块链上面的东西都是同样的
2. 可是,网络有延迟,每个人拿到的块可能不同,交易也不同。
3. 上面的交易网络和下面的区块链都有多是不同的

那么,谁来组下一个块呢?

比特币的方法是:依据每一个人的块的信息你们一块儿来抽奖。

怎么抽:

1. 万一若是全部的人都没有抽中,我系统还工不工做了呀
2. 因此,每一个人都有不少次机会去抽奖
3. 由于抽完奖以后,块就放进去了(交易被确认了)必需要有人抽中
4. 没有抽中,继续瞎猜(就是手工换一个X放到抽奖函数里面去)
5. 保证大概10分钟完成一次抽奖,有人抽中的

若是我抽中了怎么办?(就是挖到矿了怎么办)

1. 赶忙广播,网络中不少的人都知道有人抽中奖了
2. 在这个时候,抽中奖的人广播,由于抽中了真的有奖,抽中一个奖励12.5个比特币 货币发行
3. (由于给你比特币奖励了,因此这个过程又被称为是挖矿)
4. 一次完成:下一个块的确认,货币的发行(奖励确认的工做)

若是别人抽中了,广播给我了怎么办?

1. 把对应的块放到本身确认列表中
2. 赶忙开始进行下一个抽奖==>全部的人都会在最长的链上进行抽奖的工做
3. 由于协议这样规定,你再在原来的位置上抽奖,别人也不认啊

同时抽中了怎么办?

1. 奖券都是计算出来的,有很小的几率同时抽中 2. 变成两个链了 3. 两我的都广播,每一个收到的人都工做在第一个收到的链上(更长) 4. 随时间推移,两个更长的链的几率就更小 5. 迅速回到一个链(抛弃掉那个短的链)