首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

风大,牛飞起来了——区块链连载1

中国传统

初八

2018/2/23

对创业感兴趣的朋友,想必大家对于区块链这个名字早已不再陌生。今天开始竹君利用春节假期和大家聊一聊区块链。

1 背景

区块链原本是一项用来开发比特币(一种加密货币)交易平台的技术,当下,人们正致力于研究该技术来追踪各种各样的交易记录。拿出具体的、具备完整执行功能且超出加密货币范畴的区块链应用方案尚需时日,因为还需要扫清一系列障碍,这些障碍包括能否拿出技术方案来解决系统兼容性问题,以及监管处理和司法执行上的疑虑。不过,区块链具备的潜力——提供高效、快速、安全、可靠及可审计的交易——驱动着投资资金涌入这项技术。

2 定义

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。

区块链是什么?一句话,它是一种特殊的分布式数据库。

按字面理解,区块链是一连串区块,每个区块由加密信息组成,这一连串区块形成一个数据库或者“账本”。每个区块可以被看作是两个或多个机构之间交易信息的记录,这些机构均能实时访问共享数据库。当加密区块被添进区块链后,对某个区块中一项特定的交易记录进行变更将会花费极其高昂的代价,因为在那个特定区块之后进入区块链的每一个区块必须要进行解密。

从数据的角度来看

区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护)。

从技术的角度来看

区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。

首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

3 特征

开放,共识

任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。

去中心,去信任

区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。

交易透明,双方匿名

区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。

不可篡改,可追溯

单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。

4 构成

区块链是一系列持续不断增加的数据档案(记录),这些数据档案被编进一连串区块中,每一个区块包含一批档案或者交易信息。

每一个区块自带一个时间戳,并且该区块与之前的区块存在关联,这将使所有区块链接在一起从而形成“区块链”。区块链包含所有在网络中执行的交易信息,从而提高交易的透明度并降低审计交易的难度。

交易包括资产转让信息,这些信息囊括卖家(转让人)和买家(接收人)的身份、交易资产或价值、交易时间以及(或者)潜在的合同条款。

5 交易

已比特币为例的交易过程如下:

第1步:所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单。B以公钥作为接收方地址;

第2步:A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中。对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正确认到帐;

第3步:每个节点通过解一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)。节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一;

第4步:当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对。时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳;

第5步:全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。每个区块的创建时间大约在10分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理是根据最近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。

6 未完待续

欢迎大家关注我们的公众号,持续关注区块链专题解读。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223A05JMY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券