[译]区块链技术全解析入门版

原文链接:
https://www.guru99.com/blockc…

一、什么是区块链?

简而言之,区块链就是由许多包含信息的区块组成的链条。区块链技术通过给数字信息标记时间戳,使其无法回溯或篡改。区块链不需要银行或政府第三方机构的参与,用于金钱、产权、合同等的安全交易,当数据记录到区块链上后,几乎不可更改。

区块链是一种软件协议(类似于email使用的SMTP),但区块链必须运行在互联网之上,由于对其它技术的影响,因此也被成为元技术。区块链由数据库、软件应用、互相连接的计算机等部分组成。

区块链有时候被用于指比特币区块链,以太坊区块链,或其它虚拟货币、数字代币,但通常情况下是指分布式账本

二、区块链不是比特币!

《[译]区块链技术全解析入门版》

  • 区块链不是比特币,是比特币使用了区块链技术
  • 比特币是数字代币,区块链是跟踪记录数字代币拥有者的账本
  • 没有区块链就没有比特币,但是没有比特币照样能有区块链

三、区块链的结构

接下来,我们通过理解区块链的组成部分来学习它的结构

3.1 什么是区块?

《[译]区块链技术全解析入门版》

区块链是包含信息的区块组成的链条,存储在区块中的数据取决于区块链的类型。例如,一个比特币区块含有发送者、接收者、交易的比特币数量信息。

《[译]区块链技术全解析入门版》

链上的第一个区块被称为创世区块,其后的每一个区块都与前一个区块相连接。

3.2 理解SHA256 – Hash

每一个区块都有一个独一无二的哈希(Hash)值,可以理解成一个指纹,用于鉴定区块及其中所有信息的唯一性。所以当区块创建之后,区块中任何信息的更改都会造成哈希值发生改变。

《[译]区块链技术全解析入门版》

因此,当你想检测各区块中信息是否发生改变时,哈希值是非常有用的。如果区块的哈希值改变,那就不是原来的区块了。每一个区块都含有:

  • 数据
  • Hash值
  • 上一个区块的Hash值

举例如下,假设有一个三个区块的区块链,第一个区块没有上一个区块,即创世区块,第二次区块含有第一个区块的哈希值,第三个区块含有第二个区块的哈希值。

《[译]区块链技术全解析入门版》

因此,除创世区块外,所有区块均含有上一个区块的哈希值,这是保证区块链安全的关键技术,下面将讲解它的工作原理。

假设攻击者可以更改区块2中的数据,区块2的哈希值对应发生改变,但是区块3依然包含原区块2哈希值,这会造成区块3以及所有后续区块失效,因为没有上一个区块正确的哈希值。

《[译]区块链技术全解析入门版》

因此,更改一个区块会使得后续所有区块都失效。

3.3 工作量证明

哈希是防止篡改的良好机制,但如今高速计算机每秒钟能计算出成千上万个哈希值,攻击者在几分钟之内就能篡改一个区块,然后重新计算所有区块的哈希值使得整个区块链失效。

为了避免这个问题,区块链使用了作量证明的概念,一种降低区块创建速度的机制。工作量证明是一个计算问题,需要花费一定资源来解决,而验证这个问题的答案所需要的时间比解决起来花费的资源要少得多。

在比特币网络中,添加一个新的区块到区块链上需要花大概10分钟计算出所需的工作量。在上例中,如果攻击者更改了区块2中的数据,就需要花10分钟计算出区块2的工作量,然后才能更改区块3以及后续区块中的数据。

《[译]区块链技术全解析入门版》

工作量证明机制让篡改区块变得非常困难,篡改链上一个区块则需要计算后续所有区块的工作量,因此,哈希计算和工作量证明机制保证了区块链的安全。

3.4 分布式P2P网络

另外,还有一种保证区块链安全的方法,那就是分布式。区块链使用了分布式的点对点网络,所有人都可以加入,而不是通过中心化的实体来管理。当有人加入到这个网络中时,他会获得区块链的完整副本,每一台计算机称之为一个节点。

《[译]区块链技术全解析入门版》

我们来看下,如果有人创建了新的区块会发生什么。新的区块会被发送给网络中的所有人,每个节点都需要验证这个区块,确保它没有被篡改,验证完成之后,每个节点将此区块添加到各自的区块链上。

《[译]区块链技术全解析入门版》

网络中的所有节点有了共识机制,他们对区块是否有效达成一致,节点会拒绝被篡改过的区块。

因此,如果想成功的篡改区块链:

  1. 需要篡改链上的所有区块
  2. 重新计算所有区块的工作量
  3. 控制区块链网络中至少50%以上的算力

以上都完成之后,篡改的区块才能被网络中其它节点接受,这几乎是一项不可能完成的任务,所以区块链是相当安全的。

四、区块链交易是如何运行的?

《[译]区块链技术全解析入门版》

步骤一 有人发起一笔交易,该交易可能涉及加密货币,合同,记录或其他信息;

步骤二 在节点的帮助下,该交易被广播到P2P网络中;

步骤三 借助已知的算法,网络中节点验证交易的合法性和用户状态;

步骤四 交易一旦完成,新的区块被添加到区块链上,从此永久不可篡改。

五、为什么需要区块链技术?

以下列举了区块链技术如此受欢迎的原因

弹性恢复 区块链通常是冗余型的架构,即便在系统遭受大规模攻击的情况下,多数节点依然可用。

高效率 在金融行业中,区块链由于不需要冗长的验证,结算和清算过程,可以通过更快地结算交易来发挥重要作用,因为一个对数据达成一致的共享账本版本对所有持有者可用。

高可靠性 区块链证明并验证相关方的身份,移除了重复的记录,降低费率并加速交易。

交易不可篡改 通过按时间顺序注册交易,区块链证明了所有操作的不可更改性,这意味着任何新的区块被添加到区块链账本后,都不能被删除或更改。

阻止欺诈 共享信息和共识的概念可防止由于欺诈或贪污造成的可能损失。在以物流为基础的行业中,区块链作为一种监督机制,可以降低成本。

安全性 攻击传统数据库会直接导致特定目标奔溃。有了分布式账本技术,由于任何节点都有原区块链的完整拷贝,即便大部分节点宕机,系统依然可用。

透明性 公有链的更改会对所有人可见,这提供了更高的透明度,并且所有交易都是不可篡改的。

协作性 每个节点如何交换区块链信息都有标准规则,由此来保证所有交易的合法性,合法的交易会被逐笔添加到区块链上。

去中心化 不需要第三方中介的介入,允许参与方之间直接交易。

六、区块链的版本

《[译]区块链技术全解析入门版》

区块链 1.0:货币

DLT(分布式账本技术)的使用产生了第一个也是最明显的应用:货币。它允许基于区块链技术的金融交易,被用于货币和支付。比特币便是这一领域最突出的例子。

区块链 2.0:智能合约

区块链2.0时代的核心概念是智能合约,即“存活”在区块链上的小型计算机程序,它是能自动执行的自由计算机程序,通过检查预先定义好的条件,如简化、验证、实施,用于替代传统的合同。

区块链 3.0 Dapps

Dapp是Decentralized application的缩写,即运行在去中心化的点对点网络中的后端代码。和传统的互联网App一样,Dapp也有前端代码和用户界面,可使用任何能与后端交互的编程语言实现。

七、区块链的种类

公有链

在公有链中,账本对网络中所有人可见,它允许所有人验证区块,将包含交易信息的区块添加到区块链中。公共网络鼓励人们加入并自由使用,任何人都能使用公共区块链网络。

私有链

私有链存在于某一机构中,它只允许该机构特定的人验证和添加交易区块,但允许网络中所有人查看。

《[译]区块链技术全解析入门版》

联盟链

对于联盟链,它只允许组织中的机构成员验证和添加交易区块,账本可以公开或开放给部分组员。联盟链用于多个机构之间,仅被已授权的节点控制。

八、区块链的应用场景

如下表所示,区块链技术在许多领域被广泛使用

行业/领域使用场景
市场1. 账单数据监控和传输
2. 供应链网络中的配额管理
政府1. 跨国个性化治理服务
2. 投票选举,P2P债券
3. 文件与合同的数字化,所有权的转让证明
4. 登记与鉴定
5. 远程律师服务
6. 知识产权登记与汇率
7. 税收收据公证服务和文件登记
物联网1. 农业与无人机传感网络
2. 智能家居网络
3. 综合型智慧城市
4. 智能家庭传感器
5. 无人驾驶汽车
6. 个性化机器人,机器人部件
7. 个性化无人机
8. 数字助理
健康1. 健康数据管理
2. 通用EMR健康数据库
3. 量化生活数据共享
4. 健康大数据流分析
5. 健康代币
6. 个人发展合约
科学与艺术1. 超级计算
2. 人群分析
3. P2P资源
4. 数字思维健康服务
金融与会计1. 数字货币支付
2. 付款和汇款
3. 使用区块链网络的去中心化资本市场
4. 部门间会计
5. 清算和交易及衍生品
6. 簿记

九、区块链的重要实际使用案例

9.1 迪拜 – 智慧城市

聪明的迪拜政府在2016年引入了区块链战略,使用区块链技术,企业家和开发人员将能够与投资者和领先公司建立联系,目标是建设有利于各行各业发展的区块链基础系统,使迪拜成为世界上最幸福的城市。

9.2 提升客户留存率

这是一个靠谱的项目,基于区块链技术的CRaaS(客户留存即服务),它基于为相关网络附属的业务生成代币。在这个系统中,区块链上的交易是即时的,它可以存储在用户手机的数字投资组合中或通过浏览器访问。

9.3 区块链用于人道主义援助

2017年1月,联合国世界粮食计划启动了一个名为人道主义援助的项目,该项目是在巴基斯坦信德的偏远地区开发的。通过使用区块链技术,被援助人员接收到的钱,食物和所有类型的交易都注册在区块链上,以此确保了过程的安全性和透明度。

十、加密货币比特币:最流行的区块链应用

《[译]区块链技术全解析入门版》

什么是加密货币?

和传统货币美元一样,加密货币是交易的媒介,但它旨在通过某些密码学原理所实现的过程来交换数字信息。加密货币是一种数字货币,被视为替代货币和虚拟货币的一种。

加密货币是一种基于数字加密技术的承载工具,货币持有人拥有所有权,没有其他记录保留所有者的身份。1998年,魏岱发表了“B-Money”,这是一个匿名的分布式电子现金系统。

什么是比特币?

比特币是由一个化名中本聪的人在2009年推出的,是一种不被任何中心机构或银行管理的点对点技术。如今,发行比特币和管理交易都在网络上集中进行,比特币也是目前世界上主流的加密货币。比特币是开源和为公众设计的,没人具有控制权,发行量总共2100万枚,目前比特币市值为120亿美元。

任何人都可以使用比特币而无需支付任何手续费,当你交易比特币时,发送者和接收者直接交易而不需要第三方参与。

区块链和比特币

比特币是使用了区块链技术的数字代币,区块链是跟踪记录代币持有者的账本。没有区块链就没有比特币,而没有比特币照样能有区块链。其它主流的加货币:

  • 以太坊
  • 比特现金
  • 瑞波币
  • 莱特币

十一、区块链 vs 分布式数据库

《[译]区块链技术全解析入门版》

比较参数区块链分布式数据库
操作性插入增删改查
冗余性所有节点的完整拷贝主从复制或多主备
共识大部分节点对交易结果达成一致分布式交易分提交和确认两步进行
有效性全局规则在整个区块链系统上实施仅提供本地完整性约束
有无中介必须有
机密性完全保密不完全保密
稳健性完全稳健不完全稳健

十二、关于区块链的误解

误解正解
能解决所有问题只是一个分布式数据库
无需信任的技术可以改变并传递信用
绝对安全重点是完整性和机密性
智能合约一定合法只执行合法合同中的一部分
绝对不可变从概率的角度讲不可变
无需浪费电力需要,但新兴的区块链会更节能
本质上不可售卖是的,但新兴的区块链会提供更好的扩展性

十三、区块链技术的局限性

交易费过高 节点会优先完成奖励更高的交易,这是由商业中供需关系原则决定的

交易确认慢 由于节点会优先完成奖励更高的交易,交易量会积压

账本太小 数据量过大是获取区块链的完整副本是不可能的,这可能会影响不变性,共识机制等

交易成本,网络速度 在最初几年被吹捧为“几乎免费”之后,比特币的交易成本变得相当高

错误风险 只要涉及人为因素,总会存在错误风险。区块链用作数据库,则所有传入数据必须具有高质量。虽然人为干预可以迅速解决错误

资源浪费 所有运行在区块链上的节点必须达成共识,这使得宕机时间非常短暂,存储在区块链上的数据永久不可篡改。但是这些都是资源浪费,因为每个节点为达成共识不断重复同一任务。

总结

  • 区块链是由包含信息的区块组成的链条
  • 区块链不是比特币,是比特币使用了区块链技术
  • 所有区块都有唯一的哈希值
  • 每一个区块都包含上一个区块的哈希值
  • 向区块链(这里指比特币)中添加区块需要工作量证明
  • 区块链的数据库分布在多个节点,不是中心化的
  • 区块链技术具有弹性恢复、去中心化、高效率、高可靠和交易不可篡改的特点。
  • 区块链的三个版本,区块链1.0:货币,区块链2.0:智能合约,区块链3.0:去中心化应用。
  • 区块链的三种类型:公有链、私有链、联盟链
  • 使用区块链技术的不好之处包括交易费过高,交易确认慢,账本太小,错误风险
  • 区块链的重要实际使用案例有:迪拜智慧城市,提升客户留存率,联合国人道主义救援项目
  • 比特币使用了区块链技术,不被任何中心机构和银行控制

《[译]区块链技术全解析入门版》

程序员交流群,干货分享,加我拉你入群。

    原文作者:维尼熊
    原文地址: https://segmentfault.com/a/1190000016282809
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞