程序员

[区块链 Sec1] 概述

2018-09-20  本文已影响0人  梦中睡觉的巴子

区块链(blockchain)思想最早出现在大名鼎鼎的比特币(Bitcoin)开源项目中,在诞生和发展的过程中,借鉴了来自数字货币,密码学,博弈论,分布式系统等多个领域的技术成果。

数字货币存在的实质在于货币自身的价值依托由最早的实物价值,发行方信用价值,直到今天的对科学技术和信息系统的信任价值(比特币某种意义上讲就是通过解决数学计算来被赋予价值)。

区块链:实现分布式记账本系统的一种技术,已经脱离比特币网络而独立发展,实质上是一种去中心化的记录技术

区块链的三个基本概念

  1. 交易:一次对账本的操作,导致账本状态的一次改变,比如添加一条转账记录
  2. 区块:记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识
  3. 链:由区块按照发生顺序串联而成,是整个账本状态变化的日志记录


    image

比特币为例的区块链工作过程

网络中的节点会将一些收到的等待确认的交易记录打包在一起(此外还要包括前一个区块头部的哈希值等信息),组成一个候选区块。然后,试图找到一个nonce串(随机串)放到区块里,使得候选区块的哈希结果满足一定条件(比如小于某个值)。这个nonce串的查找需要一定的时间去进行计算尝试。

一旦节点算出来满足条件的nonce串,这个区块在格式上就被认为是“合法”了,就可以尝试在网络中将它广播出去。其他节点收到候选区块,进行验证,发现确实符合约定条件了,就承认这个区块是一个合法的新区块,并添加到自己维护的区块链上。当大部分节点都将区块添加到自己维护的区块链结构上时,该区块被网络接受,区块中所包括的交易也就得到确认。

比特币的这种基于算力寻找nonce串的共识机制称为工作量证明(Proof of Work,PoW)。目前,要让哈希结果满足一定条件,并无已知的快速启发式算法,只能进行尝试性的暴力计算。尝试的次数越多(工作量越大),算出来的概率越大。

基于区块链的分布式账本应该包括以下特点:

上一篇下一篇

猜你喜欢

热点阅读