比特币技术原理

2021-04-18  本文已影响0人  IAM121

1.什么是区块链

货币最重要的行为就是交易,交易会形成记录

法币是由我们信任的中心化机构(政府,银行)来记账

我们信任往往被辜负

为了避免以上问题,是否有某种货币,可以不用中心化机构记账?这也是比特币发展的初衷。

如何防篡改

哈希函数
1.哈希函数h()的作用:将任意长度的字符串,转成固定长度(例如256位)的输出。输出也被称为哈希值。
1.2 很难找到两个不同的x和y,使得h(x)=h(y),也就是说,两个不同的输入,会有不同的输出
1.3已知输出,很难找到对应的输入
应用:
md5文件加密(现在已被攻破)
使用哈希函数对交易账本进行加密?

区块(Block)
1.将总账本拆分成区块(Block)存储
2.每一个区块记录一段时间内的交易(例如: 10分钟)

区块链(Block Chain)
1.在每个区块上,增加区块头。其中记录父区块的哈希值。
2.通过每个区块存储父区块的哈希值,将所有区块按顺序连接起来,形成区块链。

区块链如何防止交易记录被篡改
1.形成区块链后,篡改任一交易,会导致该交易区块哈希值和其子区块中不同,发现篡改。
2.即使继续篡改子区块头中哈希值,会导致子区块哈希值和孙区块中不同,发现篡改。
3.只要记住最后一个区块的哈希值,任何篡改都能发现。

区块链的本质
1.比特币和区块链的本质: 一个人人可见的大账本,只记录交易。
2.核心技术:通过密码学+数据结构,保证账本记录不可篡改。
3.核心功能:创造信任。法币依靠政府公信力,比特币依靠技术。

2.如何交易:(地址和私钥)

1.进行交易,需要有账号和密码,对应公钥和私钥。
2.私钥:一串256位的二进制数字,获取不需要申请,甚至不需要电脑,自己抛硬币256次就生成了私钥。
3.地址由私钥转化而成,地址不能反推私钥。
4.地址即身份,代表了在比特币世界的ID。
5.一个地址,私钥产生后,只要进入到区块链账本后,才被大家知道。

数字签名技术
张三已经有了(地址,私钥),想要转给李四10元,如何将这个记录加到区块链中呢?

签名函数Sign (张三的私钥,转账信息:张三转10元给李四) = 本次转账签名

验证函数Verify(张三的地址,转账信息:张三转10元给李四,本次转账签名) = True

1.张三通过签名函数Sign(),使用自己的私钥对本次交易进行签名。
2.任何人可以通过验证Verify(),来验证此次签名是否有持有张三私钥的张三本人发出,是的话,返回True,反之是false。
3.Sign()和Verifty()由密码学保证不被破解。

完成交易

1.张三将转账信息和签名公布在全网,在账户有余额的前提下,验证签名是True后,即会记录到区块链账本中,一旦记录,张三的账户就减少了10元,李四增加10元。
2.支持一对一,一对多,多对一的交易方式。
3.比特币世界中,私钥就是一切。

交易完成后,由谁来记账呢

1.不管谁记账(比如银行,政府或支付宝),不用太担心。
2.因为除我之外的任何人(包括记账人),都无法动用我们的钱,除非他有我们的私钥。
3.中心化机构记账,效率反而高。

中心化记账的缺点:

1.历史上所有有中心化机构的加密货币都尝试失败了。
2.中心化记账的缺点:
2.1拒绝服务攻击
2.2厌倦后停止服务
2.3中心机构容易被攻击。比如破坏服务器,网络,监守自盗,法律终止,政府干预等。

3.去中心化记账

1.去中心化:人人都可以记账,每个人都可以保留完整的账本。
2.任何人都可以下载开源程序,参与P2P网络,监听全世界发送的交易,成为记账节点,参与记账。

去中心话记账流程
  1. 某人发起一笔交易后,向全网广播。
    2.每个记账节点,持续监听,传播全网的交易。收到一笔新交易,验证准确性后,将其放入交易池并继续向其他节点传播。
    3.因为网络传播,同一时间不同记账节点的交易池不一定相同。
    4.每隔10分钟,从所有记账节点中,按照某种方式抽取1名,将其交易池作为下一个区块,并向全网广播。
    5.其它节点根据最新的区块中的交易,删除自己交易池中已经被记录的交易,继续记账,等待下一次被选中。
去中心化记账特点:

1.每隔10分钟产生1个区块,但是不是所有在这10分钟之内的交易都能记录。
2.获得记账权的记账节点,将得到50个比特币的奖励,每21万个区块(约4年)后,奖励减半,总量约2100万枚,预计2040年开发采完。
3.记录一个区块的奖励,也是比特币唯一的发行方式。

如何分配记账权:POW(PROOF OF WORK)方式

1.记账节点通过计算以下数学题,来争夺记账权。

找到某随机数,使得以下不等式成立
SHA256哈希函数(随机数,父区块哈希值,交易池中的交易) < 某一指定值

2.除了从0开始遍历随机数碰运气之外,没有其他解法。解题过程,又叫做挖矿。

3.谁先解对,谁就得到记账权。

4.某记账节点率先找到解,即向全网公布,其他节点验证无误之后,在新区块之后重新开始新的一轮计算。这个方式被称为POW。

难度调整

1.每个区块产生时间并不是正好10分钟
2.随着比特币的发展,全网算力不断提升
3.为了应对算力的变化,每隔2016个区块(两周),会加大或者减少难度,使得每个区块产生的平均时间是10分钟。

比特币全貌

1.区块链(数据结构+哈希函数),保证账本不能被篡改
2.数字签名技术,保证只有自己才能动自己的账户
3.P2P网络和pow共识,保证去中心化的运作方式

4.攻击比特币

5.比特币历史与未来

1.比特币之父: 中本聪
2.2007年5月开始编写比特币代码
3.2008年8月注册域名bitcoin.org
4.2008年10月发布白皮书,随后公布源代码
5.2009年1月,比特币创世区块诞生,接下来两年,中本聪在社区持续活跃
6.2010年11月,交接项目,从此不再出现

谁决定发展方向

软分叉:新版本节点,不接受老版本节点产生的区块,但老版本节点接受新版本节点产生的区块
硬分叉:新版本节点,不接受老版本节点的区块,但老版本节点也不接受新版本节点的区块

核心开发人员,旷工,投资者,普调用户,商家,支付服务商等,共同决定了一个数字货币的未来发展方向。

上一篇 下一篇

猜你喜欢

热点阅读