区块链的一些基本概念

  • 区块链技术

区块链本质上是一个P2P的分布式账本数据库。区块链本身是一串连接的数据区块,每一个数据块中记录了一宗采用哈希算法组成的树状交易信息。

  • 基本概念

1,数据区块

    区块链系统中的所有交易都会保存在数据区块中,在比特币的系统中,大约每10分钟产生一个数据区块,每个数据区块都包含区块头和区块体:

    每一个数据区块中,都包含一个时间戳Timestamp,一个随机数Nonce,前一个区块的哈希值Prev-block,和当前区块保存的交易数据。

    区块体中记录了交易的数目以及交易的详情,其中的Merkle会对每一次交易进行签名,保证每一笔交易都不可伪造,重复。

2.  挖矿与分叉

    挖矿实际上就是穷举随机数算法,把上一个区块的哈希值,加上10分钟内产生的所有交易打包,再加上一个随机数,算出一个256位的哈希值,输入的随机数Nonce满足一定条件就可以获取记账权。新产生的区块会迅速的广播出去,接受其他节点的验证,验证通过后就可将区块加到链尾。

    比特币系统会让矿工竞争记账权(在主链上链接区块),这个竞争机制就是POW工作量证明。这种机制会消耗大量的资源和时间,付出工作量多,获得几张券的概率就越大。在创建好新的区块后,矿工也会获得系统的奖励。

    分叉是在不同的两个矿工几乎同时挖出两个新的区块的情况下,在主链上就会出现分叉,系统不会立马确认哪个区块不合理,而总是选择后续的矿工累积工作量证明最大的区块,并自动抛弃分叉的短链,以更长的链最为主链。

    一般都是选择最先达到6个区块的链最为主链。

3. 时间戳和不可篡改性

    时间戳是在获取记账权的节点在链接区块时,向区块中写入的时间戳, 用于记录当前区块的写入时间。每一个后续区块的时间戳总比前一个时间戳大,形成时间递增的链条,使得数据更加容易追溯,同时能够证明特定的数据在特定的时刻的确存在,保证了数据不可篡改和不可伪造。

4. 分布式数据库

    每一个数据区块就是一个账本,记录了每一个用户每一次的交易信息。因此,所有的这些区块组成了区块链贱人的分布式数据库系统,任何一个节点的数据被破坏,都不会影响整个系统数据的正常运转,因为有更多的健康节点保存了完整的数据信息。

5. UTXO交易模式

    UTXO是未花费的交易输出,在区块链中,除了创世区块之外,每个区块都会有若干个输入(资金来源)和若干个输出(资金去向),创世区块,和后来的挖矿奖励交易没有输入,除此之外,在比特币系统中,每一笔交易的输入,必须来自另一笔交易未被使用的输出。同时这笔交易会用上一笔输出地址对应的的私钥签名。

    当前整个区块链网络中的UTXO多会被保存在背个节点中,只有满足了UTXO和数字签名的交易才被认为是合法的。

6. 哈希函数

    区块链中的数据不仅包括了原始数据和交易记录,还包括了他们的哈希值,这样做有以下一些好处:

    1) 哈希值是单向数据,处理过的输出值,不可能还原出原始数据

    2)哈希函数处理不同长度的数据所耗费的时间是一定的,输出的数据长度也是一定的

    3)哈希函数的输入值即使只有微小的差距,输出的结果也会有很大的差异

7.  Merkle树

    是数据结构中的一种树,可以是二叉树,也可以是多差树。比特币中运用到Merkle树是二叉树,主要作用是快速归纳和校验区块中的数据完整性,会将区块中的数据分组进行哈希计算,想上不断递归产生新的哈希节点,最终只剩下一个Merkle节点。主要有两个优点:

       1)区块头中可以只包含根哈希值,提高了区块链的运行效率和扩展性,使得哈希运算可以运行在智能手机或者物联网设备上

        2)在不运行完整区块链节点的情况下,也能完成数据的校验。

8.    双重支付

    “双花”,利用货币的数字特性,使得同一笔钱完成了两次甚至多次支付。

    在区块链系统中,利用UTXO(未花费输出)和数字签名,有效的解决了这一问题。比特币客户端只会转发最先被监听到的交易,而矿工也会选择将这笔交易记录在未来区块中,当其中一笔交易得到6次确认后,就已经保证了比特币不会出现双花。

9. P2P网络

    对等网络,是一种在对等着之间分配任务和工作负载的分布式应用框架。区块链是建立在IP通信协议和分布式网络的技术上,完全通过互联网来交换信息,网络中的所有节点都具有同等的地位,不存在特殊化的中心节点和层级,每个节点都承担数据路由,验证区块等功能。

    根据存储数量的不同,这些网络节点又分为全节点,轻量级节点。全节点储存了从创世区块以来的所有区块链数据。轻节点只需要存储部分数据信息,当需要对别的数据时,可以想临近节点请求所需数据完成验证更新。

10.  加密算法

        公钥-私钥

        比特币系统中使用的是椭圆曲线加密算法(ECC)

11,数字签名

        数据的发送者,将发送的信息哈希算法处理得到一个哈希值,再将这个哈希值用私钥加密得出一个签名。发送数据时,将内容和签名一同发送给接收者,接收者通过公钥对签名进行解密得到哈希值,在将信息内容通过哈希算法计算,看两个哈希值是否一致来验证信息是否被篡改。

12  比特币的隐私模型

       在比特币系统中,不需要讲个人信息交付给第三方机构,只需要提供比特币的地址就能完成一次准匿名交易,在一定程度上,不可能通过交易追溯到交易者本身,因此比特币在一定程度上可以摆脱监管。

    比特币不是纯粹的匿名交易制度,因为通过交易地址和交易额串联分析,是可以获得一些交易者的身份信息,因此是准匿名交易机制。

 

 

 

 

转载于:https://my.oschina.net/u/4025538/blog/2876347

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值