码迷,mamicode.com
首页 > 其他好文 > 详细

区块链是怎么运行的

时间:2018-07-18 23:33:48      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:开始   中介   鼓励   电脑   用户   比特   bsp   哈希函数   不同的   

  1. 什么是区块链?
    区块链就是一种去中心化的分布式共享数据库技术。

    去中心化:没有中介机构进入,所有节点的权利义务都一样。

    分布式:将数据和程序分布在多台设备上。

 

    2. 区块链怎么运行?

 

      2.1比特币钱包

      Bob和Alice电脑上都有比特币钱包。钱包是一种文件,可以让用户访问多个比特币地址。一个地址是由多个字母和数字组成的字符串。每一个地址都有自己的比特币余额。

      2.2创建比特币地址

       Bob建立一个新的比特币地址用于接收Alice的付款。创建新地址的过程实际上就是创建一对密钥。私钥保存在比特币钱包,而新建的地址存储公钥。

     可以将地址看成银行账号,但工作方式稍有不同,比特币用户可以建立多个地址,并且鼓励为新的交易建立地址,增强隐蔽性。

      2.3 创建一个支付:

     Alice告诉她的比特币客户端,她要向Bob的收款地址转账。Alice的钱包里有她的每一个比特币地址的私钥。比特币客户端用Alice此次使用的付款地址的私钥,对她的这一交易申请进行签名。此时,网络中的所有人都可以利用公钥来验证这个交易的合理性。(付款的时候是从已有的地址里面挑选一个地址进行交易吗?如果一个地址里面余额没有了,那这个地址还存在吗?要不要删除?如果每一笔交易都建立一个地址,那么钱包里面是不是要存无数的地址,这个地址都在区块链里面吗?一个人拥有的比特币是所有的地址的和吗? )

      2.4验证交易:

      矿工的电脑将过去10分钟内的交易打包成一个新的区块。矿工的电脑被设置为能计算加密哈希函数。

      源数据被转换成哈希函数,微小的变化都能带来哈希值的不同。

     为相同的数据创建不同的哈希值,比特币使用随机数来实现。随机数是在进行哈希计算之前,在数据中添加的随机数字。改变这个随机数会产生极不相同的哈希值。每一个新的哈希值包含关于此前所有比特币交易的信息。

     矿工的电脑基于前一个区块的哈希值、新交易区块和随机数,来计算新的哈希值。创建哈希在计算上微不足道,但比特币系统要求新的哈希值拥有特定格式——必须以特定数量的0作为开始。矿工无法预测哪个随机数会产生以要求的数量的0作为开始的哈希值,所以他们被迫用不同的随机数创建很多哈希,直到获得有效的那一个。(工作量证明)

     每一个区块都包含一个名为coinbase的初始交易,这是给胜出矿工的50比特币的支付。成功的矿工的钱包里生成了一个新地址,里面的余额是新挖到的比特币数量。

      2.5交易验证:

      任何人想要修改其中一条记录,比如上面所说的Alice的例子将在越来越多的记录下被淹没。修改记录就要重做Alice到最近一条记录的所有工作。(工作量证明)

 

区块链是怎么运行的

标签:开始   中介   鼓励   电脑   用户   比特   bsp   哈希函数   不同的   

原文地址:https://www.cnblogs.com/yitou13/p/9332861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!