区块链和比特币基础

------- 本系列文章主要是自己想总结一下这方面的知识,方便自己日后可以查看。

区块链(BlockChain)起源:

        区块链技术发源于比特币,从比特币系统中演变而来。

定义:

        区块链就是一个分布式的,去中心化的公共数据库(或称公共账本)。区块链技术是多个参与方之间基于现代密码学、分布式一致性的协议、点对点网络通信技术和智能合约编程语言形成的数据交处理和储存的技术组合。

分类:

        以参与方分类,区块链可以分为:公共链、联盟链和私有链。从链与链的关系来分,分为主链和侧链。

区块链的价值与应用:

        根据各个区块链采取的技术组合不同,形成的区块链特点也不相同。但是需要指出的是,区块链技术是一系列技术的组合,可以根据业务的需要进行与针对性的组合和创新。

       总体来说,去中心化信用机制是区块链技术的核心价值之一,所以区块链本身又被称为“分布式账本技术”、“去中心化价值网络”等。目前,我们的信用机制是中心化的,像银行,我们信任了银行这个第三方机构,所以把钱放到这个中心上,由它们进行管理,但是中心化的信任和信用机制必然导致中心化机构成为价值链的核心,也容易引发问题。而区块链技术则首先在人类历史上实现了去中心化的大规模信用机制,在消除中心机构“超级信用”的同时,保证信用机制安全、高效地运行。

     区块链颠覆性价值至少包括以下几个方面:

  1. 简化流程,提升效率
  2. 降低交易对等的信用风险
  3. 减少结算和清算时间
  4. 增加资金流动性,提升资产利用效率
  5. 提升透明度和监管效率,避免欺诈行为
  6. 数字货币
  7. 跨境支付

比特币:

          前面讲到区块链发源于比特币,也就是比特币先于区块链被提出来,比特币系统出现后,人们把他底层使用的技术总结为区块链技术,区块链由此而来。所以比特币是第一个,也是规模最大、应用范围最广的区块链。所以学习区块链技术,比特币是第一个入门应用。


定义:       

      一种数字货币,也可以理解为一串数字,大家都认为他是有价值的,可以充当一般等价物的虚拟货币。

优点:

  1.      去中心化,财产控制在自己受理
  2.      无通胀,无假钞
  3.     流通性好,全世界通用

运行原理:

        支撑比特币运行的系统本质是一个去中心化的记账系统。下面从这个几个方面来概述:

  1.  账本的内容(数据储存的格式)
  2. 账本如何验证
  3. 所有全权问题
  4. 为什么记账
  5. 共识机制

1.账本的内容(数据储存的格式):

         比特币的交易记录会保存在数据区块之中,比特币系统中大约每10分钟会产生一个区块,每个数据块一般包含区块头(Header)和区块体(Body)两部分,如下图,  图片摘自《区块链技术指南》。

       区块头封装了当前的版本号(Version),前一区块地址、时间戳、随机数、当前区块的目标哈希值,Merkle树的根值等信息。区块体则主要包含交易计数和交易详情。

2.账本如何验证:

   第一次交易:hash(交易信息1)=摘要信息1

  第二次交易:hash(摘要信息1,[交易信息2])=摘要信息2

    .....

    .....

这样每个人只要验证最后一次的摘要信息是相同的,说明两个账本是相同的。

3.账户所有权问题:

      实际上比特币的账户是用地址来表示,账本上不显示个人信息,转账是把比特币从一个地址转移到另一个地址。谁拥有某个地址的私钥,谁就可以使用某个地址付款。比特币地址和私钥是一个非对称的关系,私钥经过一系列运算(其中有两次Hash)之后,可以得到地址, 但是无法从地址反推得到私钥。具体的付款流程大概是这样,账户方保存一个私钥,利用私钥和交易摘要生成签名信息(交易摘要为Hash(交易信息)得来),然后将信息向网络上其他节点进行广播,其他节点收到后需要对其进行验证。具体验证过程是这样的,利用接收到的签名信息和付款方地址经过一系列运算得到交易摘要(这里可以理解为付款方地址就是一把公钥)。

4.使用工作量证明去挖矿:

      挖矿也就是记账的意思,记账需要计算Hash值,打包成区块,消耗资源。所以是要付出劳动才能完成这个过程,因此需要给这个劳动者付出的劳动一定的报酬(奖励),不然没有人愿意瞎忙活。但是并不是每个人都可以记账,不然这样会造成混乱,只有达到某种要求的人才可以完成记账,也就是这个劳动是要有成果的,只有完成某项任务的人才可以完成记账得到报酬。那这个要求是什么呢?就是要解决一个密码学的难题(即工作量证明),只有解决这个问题的才能完成最终记账。另外要注意的是,在这个劳动过程中,还要遵守一定的规则:

       ①一段时间内只有一个人可以记账成功,也就是超过这个时间段你虽然解决 了难题,但是别人在规定时间内已经解出了,那你这个劳动就是无效的,别人不承认。

       ②其他节点验证通过后才会写下你的记账记录

      这里还要说一下的是,解决难题后,要及时将这个结果广播出去给其他节点验证,不然很可能被人抢先一步。

      上面讲到要解决一个密码学难题来完成工作量证明,那具体是一个怎样的问题呢?

           公式:Hash ( 上一个Hash值,交记录集,随机数 ) = 000....00abGYUJ48U   (0的数量为N,后面的字符串是任意的)

         其实就是解上面这个方程,通过穷举随机数的方法,使得有一个随机数可以成立,也就是可以得到一个前N个为0 的字符串,目前这里的N=18,后面随着难度的增加,0的个数会更多。最先计算出这个随机数的人,就完成这个工作量证明,完成记账。

5.共识机制:

    就是比特币系统里承认的一套机制,只有承认并严格按照这个机制去执行任务的人才会被大家所接受。前面讲到的只有解出密码学难题的人才可以记账,就是大家的共识,大家一致认为:解出难题--》记账有效,解不出,超时解出--》记账无效。

        

猜你喜欢

转载自blog.csdn.net/qq_34493908/article/details/81587401