区块链1.0应用——比特币学习

区块链1.0应用——比特币学习

比特币的概念

比特币是一份数字文件,里面记录着账户和金额,也就是数字账本。文件的副本被保存在比特币网络的每一台电脑中。单独看这些数字文件不具有任何价值,它之所以具有价值,是因为人们信任比特币,人们自愿用它交易真实货物或者购买服务。

比特币系统解决的问题

  • 比特币是高度自治的,不受单个政府控制
  • 比特币系统能够提高跨国贸易效率
  • 比特币具有不可串改性
  • 比特币可以保证账户隐私安全

去中心模型

去中心化: decentralization, 在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。
任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。

比特币引用了一个去中心化的模型

  • 中心化的记账方式特点:由某一个人统一记账。
  • 去中心化的记账方式:可能由节点中的任何一个人记账,记账的结果会和大家共享,这种方式公正,不会出现信任危机,比特币也正是选用了这么一种记账方式。

比特币系统中采用点对点通信

点对点(peer to peer) 通信没有经历中心化的服务器。

账本隐私和快速对账

比特币系统使用 hash 算法对交易的隐私数据进行加密

hash 算法能够提取事物的特征,输出一段 16 进制的数字,称为 hash值。就以人的一张脸来进行分析,每个人的瞳距,脸宽,鼻子大小,嘴大小都不一样,那所谓的提取事物特质,在这里你就可以理解成,提取了人脸的特质。

比特币系统使用 hash 算法实现快速对账

比特币系统通过比对 hash 值,实现快速对账。

账本一致性

比特币中会出现双花问题(双重支付),比特币系统通过工作量证明来解决,保证账本一致性(即最长链作为可信任的链)。

工作量证明

比特币中的交易,并不是谁想记录就能记得,想记账的人,他得先拿到记账权,拿到记账权以后他才可以生成区块,也就是将交易信息打造成新的区块。 最后还需要将交易结果告诉比特币系统中的其他用户,做完这一系列事情的人,我们就称之为比特币系统中的矿工。在成功记账,并且对外发布后,比特币系统会给这位矿工一些奖励。

  • 记账权的获取,选用了工作量证明的算法(Proof of Work) , 简称 pow算法,这个算法在比特币网络中的应用场景是这样的。
    区块链1.0应用——比特币学习_第1张图片
  • 在这张图片中可以看到, 2 部分的输入信息, 1 个跳出条件,区块数据和nonce 作为输入条件,目标 hash 作为运算结束的跳出条件。
  • 区块数据其实就是比特币系统中的交易信息, nonce 是一个由 1 开始往上递增的整数。把区块数据连同 nonce 进行一个 hash 计算,当 hash 计算的结果,大于比特币系统提供的 hash 值,则说明本次计算失败,需要将 nonce 值+1,重复之前过程,直到计算出一个 hash 值,小于比特币系统给出的目标hash 值。通过变换 nonce,重复计算小于目标 hash 的过程,我们称之为挖矿,而整个算法,我们把他称为工作量证明。

记账权是由算力决定的

在 pow 算法中,算力的体现就在于同一时间段内, nonce 值的尝试次数。 比如我的电脑在 1 秒钟内,尝试了 1 万次 nonce值,也就是 nonce 从 1 尝试到了 10000,而算力较弱的电脑在 1 秒钟内,仅仅尝试了 1 千次 nonce 值,也就是从 1 尝试到了 1000,算力强的电脑计算得出小于目标 hash 的速度就会更快,所以在这里算力强的电脑更容易拿到记账权,从而去增添区块,延长比特币系统的链条。

比特币系统的分叉

硬分叉(hard fork)

  • 比特币的分叉通常是不同的矿工,使用了不同版本的比特币系统进行挖矿, 而导致的,这是矿工在比特币系统协议层面上产生了分歧。
  • 扩容就涉及到了比特币系统的更新,想要使用大容量区块的矿工,就必须更新自己电脑上的比特币软件。
  • 扩容并不是所有的矿工,都做了比特币系统的更新,有少部分的矿工,不认可比特币系统的扩容,所以他们依然使用了旧版本的比特币软件,这样会带来分叉问题。
    区块链1.0应用——比特币学习_第2张图片

永久的分叉,并且无法将两条链无法合并,这就是硬分叉

软分叉(soft fork)

有可能合并回来的分叉,就叫软分叉。

总结:硬分叉由比特币系统更新导致,不可合并。
软分叉由区块被篡改导致,后续有可能合并。

比特币系统总结

比特币系统中运用到了很多的技术,主要分别是

  • 分布式数据存储
    比特币系统就是一个分布式的账务系统,账本在每个参与者电脑上备份,也就是把账本的数据,存储在全球的多个参与者的电脑上,除此之外,这个账本还需要实时同步和对账,比特币系统做到了足够的公开透明,但也因此降低了系统的效率。
  • 点对点传输
    比特币的账本分布在全球各地,它们通过点对点数据传输,即点对点通信,实现对账,相互备份。简单来说点对点通信就是 A 和 B 在通信过程中,不经过一个用于记录通信数据的中心服务器。
  • 共识机制
    比特币系统的主链容易出现短暂的分叉,短暂分叉并不会影响比特币的正常工作,因为这个分叉最终是会合并到主链上去的。比特币中用 pow 算法保证了账本的一致性,也让比特币系统变得更加安全可靠。
  • 加密算法
    加密算法在比特币系统的方方面面都运用到了,比如,对用户个人信息的加密,转账过程中的签名授权,账本一致性校验,挖矿算法的目标 hash 等。

这些技术统称区块链1.0技术。

你可能感兴趣的:(区块链,区块链,学习)