Bitpie官网安卓最新版|比特币分叉是什么意思

作者: Bitpie官网安卓最新版
2024-03-16 18:21:47

比特币分叉列表 - 维基百科,自由的百科全书

比特币分叉列表 - 维基百科,自由的百科全书

跳转到内容

主菜单

主菜单

移至侧栏

隐藏

导航

首页分类索引特色内容新闻动态最近更改随机条目资助维基百科

帮助

帮助维基社群方针与指引互助客栈知识问答字词转换IRC即时聊天联络我们关于维基百科

搜索

搜索

创建账号

登录

个人工具

创建账号 登录

未登录编辑者的页面 了解详情

贡献讨论

目录

移至侧栏

隐藏

序言

1客户端的分叉

2旨在分裂加密货币的硬分叉

3旨在分裂非主要区块的软分叉

4意外的硬分叉

5参考文献

开关目录

比特币分叉列表

7种语言

العربيةکوردیEnglishEspañolTagalogTürkçeУкраїнська

编辑链接

条目讨论

简体

不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體

阅读编辑查看历史

工具

工具

移至侧栏

隐藏

操作

阅读编辑查看历史

常规

链入页面相关更改上传文件特殊页面固定链接页面信息引用本页获取短URL下载二维码维基数据项目

打印/导出

下载为PDF可打印版

维基百科,自由的百科全书

此条目翻译品质不佳。 (2019年2月25日)翻译者可能不熟悉中文或原文语言,也可能使用了机器翻译。请协助翻译本条目或重新编写,并注意避免翻译腔的问题。明显拙劣的翻译请改挂{{d|G13}}提交删除。

比特币分叉的定义为比特币网络上协议的改变,或者当“两个区块拥有相同的高度”的情况出现亦称为分叉。[1]分叉会影响规网路传输协定的有效性。有意分叉通常用于为区块链增加新功能,或者用以恢复黑客攻击或严重错误错误所造成的影响。分叉需要通过共识协商而达成,否则将会造成一个永久性的分支。

客户端的分叉[编辑]

以下是比特币网络的客户端分叉:

比特币XT

比特币经典

Bitcoin Unlimited

以上三个客户端都尝试增加网络的交易容量,但都未能实现大多数哈希运算力。[2]

旨在分裂加密货币的硬分叉[编辑]

硬分叉所分裂出的比特币(又名分叉币)是由改变区块链协议及共享比特币截至某日期时间的交易纪录而产生。比特币首次硬分叉发生于2017年8月1日,导致了比特币现金的出现。

以下按日期/区块列出分裂比特币的硬分叉:

比特币现金原链:分叉区块:478558,日期:0年8月1日,客户每持有1个比特币可以得到1个比特币现金原链

比特币现金:分叉区块:504031,日期:2017年11月13日,客户每持有1个比特币现金原链可以得到1个比特币现金

比特币黄金:分叉区块:491407,日期:2017年10月24日,客户每持有1个比特币可以得到1个比特币黄金

比特币SV::分叉区块:556766,日期:2018年11月15日,客户每持有1个比特币现金可以得到1个比特币SV

旨在分裂非主要区块的软分叉[编辑]

软分叉常用于修正溢价事件,由于软分叉在挖矿完成后才被公告而存有不少争议。

意外的硬分叉[编辑]

两个因协议改变而产生的硬分叉:

2013年链分叉(由BerkeleyDB转移至LevelDB而引起的链分裂)[3]

CVE-2018-17144(比特币0.15容许同一区块上出现双重支付)

参考文献[编辑]

^ Antonopoulos, Andreas. Mastering Bitcoin: Programming the Open Blockchain 2. USA: O' Reilly media, inc. 2017: Glossary. ISBN 978-1491954386. 

^ Ammous, Saifedean. The Bitcoin Standard: The Decentralized Alternative to Central Banking. John Wiley & Sons. 2018: 227, 228 [23 April 2018]. ISBN 9781119473893. 

^ Bitcoin Improvement Proposals. Contribute to bitcoin/bips development by creating an account on GitHub, Bitcoin, 2019-02-24 [2019-02-25], (原始内容存档于2021-03-15) 

取自“https://zh.wikipedia.org/w/index.php?title=比特幣分叉列表&oldid=75887567”

分类:​密码货币计算机相关列表比特币交易平台隐藏分类:​自2019年2月粗劣翻译

本页面最后修订于2023年2月8日 (星期三) 13:48。

本站的全部文字在知识共享 署名-相同方式共享 4.0协议之条款下提供,附加条款亦可能应用。(请参阅使用条款)

Wikipedia®和维基百科标志是维基媒体基金会的注册商标;维基™是维基媒体基金会的商标。

维基媒体基金会是按美国国内税收法501(c)(3)登记的非营利慈善机构。

隐私政策

关于维基百科

免责声明

行为准则

开发者

统计

Cookie声明

手机版视图

开关有限宽度模式

区块链技术研究综述:原理、进展与应用

区块链技术研究综述:原理、进展与应用

主管单位:中国科学技术协会

主办单位:中国通信学会

ISSN 1000-436X    CN 11-2102/TN

首页

期刊简介

编委会

投稿指南

道德声明

期刊协议

期刊订阅

会议活动

下载中心

联系我们

English

期刊介绍

期刊信息

投稿须知

稿件格式要求

审稿流程

下载中心

联系方式

Toggle navigation

首页

期刊简介

期刊介绍

期刊信息

编委会

投稿指南

投稿须知

稿件格式要求

审稿流程

下载中心

道德声明

期刊协议

期刊订阅

会议活动

联系我们

English

通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027

综述

区块链技术研究综述:原理、进展与应用

曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4

1 北京邮电大学网络与交换国家重点实验室,北京 100876

2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124

3 网络通信与安全紫金山实验室,江苏 南京 211111

4 工业和信息化部信息化和软件服务业司,北京 100846

Survey of blockchain:principle,progress and application

ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4

1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China

2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China

3 Purple Mountain Laboratories,Nanjing 211111,China

4 Department of Information Technology Application and Software Services,Beijing 100846,China

通讯作者: 霍如,huoru@bjut.edu.cn

修回日期: 2019-12-12  

网络出版日期: 2020-01-25

基金资助:

国家高技术研究发展计划(“863”计划)基金资助项目.  2015AA015702未来网络操作系统发展战略研究基金资助项目.  2019-XY-5

Revised: 2019-12-12  

Online: 2020-01-25

Fund supported:

The National High Technology Research and Development Program of China (863 Program).  2015AA015702The Development Strategy Research of Future Network Operating System.  2019-XY-5

作者简介 About authors

曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网

霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。

黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。

刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。

汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。

冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等

摘要

区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。

关键词:

区块链

;

加密货币

;

去中心化

;

层次化技术体系结构

;

技术多样性

;

工业区块链

Abstract

Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.

Keywords:

blockchain

;

cryptocurrency

;

decentralization

;

hierarchical technology architecture

;

technology diversity

;

PDF (1174KB)

元数据

多维度评价

相关文章

导出

EndNote|

Ris|

Bibtex

 收藏本文

本文引用格式

曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027

ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027

1 引言

2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。

由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。

区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。

2 相关概念

随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。

2.1 中心化与去中心化

中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。

2.2 加密货币

加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。

加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。

图1

新窗口打开|

下载原图ZIP|

生成PPT

图1  

“electronic cash”交易模型

交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。

最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。

2.3 区块链及工作流程

一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。

1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。

2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。

3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。

2.4 区块链类型

根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。

非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。

许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。

3 区块链体系结构

根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。

现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。

3.1 网络层

网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。

图2

新窗口打开|

下载原图ZIP|

生成PPT

图2  

区块链层次化技术结构

1) 组网结构

对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。

图3

新窗口打开|

下载原图ZIP|

生成PPT

图3  

区块链组网结构

无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。

结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。

混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。

2) 通信机制

通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。

传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。

图4

新窗口打开|

下载原图ZIP|

生成PPT

图4  

区块链网络通信机制

3) 安全机制

安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。

4) 研究现状

目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。

随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。

匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。

区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。

3.2 数据层

区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。

1) 信息模型

区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。

UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。

图5

新窗口打开|

下载原图ZIP|

生成PPT

图5  

UTXO信息模型

基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。

不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。

2) 关联验证结构

区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。

图6

新窗口打开|

下载原图ZIP|

生成PPT

图6  

基本区块结构

区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。

散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。

MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。

此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。

3) 加密机制

由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。

4) 研究现状

数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。

高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。

区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。

隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。

3.3 共识层

区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。

状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。

区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。

非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。

限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。

1) PoX类协议

PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。

图7

新窗口打开|

下载原图ZIP|

生成PPT

图7  

PoW协议示意

该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。

PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。

2) BFT类协议

PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。

图8

新窗口打开|

下载原图ZIP|

生成PPT

图8  

PBFT协议示意

PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。

3) CFT类协议

Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。

Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。

4) 奖惩机制

奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。

5) 研究现状

随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。

如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。

BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。

Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。

3.4 控制层

区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。

1) 处理模型

账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。

链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。

链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。

2) 控制合约

区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。

3) 执行环境

执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。

4) 研究现状

控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。

侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。

一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。

4 技术选型分析

区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。

4.1 比特币

比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。

图9

新窗口打开|

下载原图ZIP|

生成PPT

图9  

比特币运行模式

比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。

1) 网络层

比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。

2) 数据层

比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。

3) 共识层

比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。

4) 控制层

比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。

4.2 以太坊

以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。

1) 网络层

以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。

2) 数据层

以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。

3) 共识层

以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。

4) 控制层

每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。

4.3 超级账本Fabric

超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。

1) 网络层

Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。

2) 数据层

Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。

3) 共识层

Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。

4) 控制层

Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。

4.4 其他项目

除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。

5 区块链应用研究

区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。

根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。

鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。

表1

表1  

代表性区块链项目

技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币

新窗口打开|

下载CSV

5.1 智慧城市

智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。

5.2 边缘计算

边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。

5.3 人工智能

人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。

6 技术挑战与研究展望

6.1 层次优化与深度融合

区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。

1) 层次优化

区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。

网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。

数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。

共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。

控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。

2) 深度融合

如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。

6.2 隐私保护

加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。

6.3 工业区块链

工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。

工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。

可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。

“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。

当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。

7 结束语

区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献

View Option

原文顺序

文献年度倒序

文中引用次数倒序

被引期刊影响因子

[1]

袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.

[本文引用: 1]

YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.

[本文引用: 1]

[2]

邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.

[本文引用: 1]

SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.

[本文引用: 1]

[3]

YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.

[本文引用: 1]

[4]

韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.

[本文引用: 1]

HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.

[本文引用: 1]

[5]

ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.

[本文引用: 1]

[6]

CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.

[本文引用: 1]

[7]

LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.

[本文引用: 1]

[8]

JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.

[本文引用: 1]

[9]

王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.

[本文引用: 1]

WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.

[本文引用: 1]

[10]

DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.

[本文引用: 1]

[11]

DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.

[本文引用: 1]

[12]

FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.

[本文引用: 1]

[13]

KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.

[本文引用: 1]

[14]

KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.

[15]

BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.

[16]

VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.

[本文引用: 1]

[17]

FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.

[本文引用: 1]

[18]

HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.

[本文引用: 1]

[19]

APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.

[本文引用: 2]

[20]

REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.

[本文引用: 1]

[21]

ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.

[本文引用: 1]

[22]

REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.

[本文引用: 1]

[23]

MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.

[本文引用: 1]

[24]

AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.

[本文引用: 1]

[25]

SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.

[本文引用: 1]

[26]

MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.

[本文引用: 1]

[27]

SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.

[本文引用: 1]

[28]

YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.

[本文引用: 1]

[29]

DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.

[本文引用: 1]

[30]

KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.

[本文引用: 1]

[31]

LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.

[本文引用: 1]

[32]

BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.

[本文引用: 1]

[33]

DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.

[本文引用: 2]

[34]

TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.

[本文引用: 1]

[35]

CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.

[本文引用: 1]

[36]

CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.

[本文引用: 1]

[37]

ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.

[本文引用: 1]

[38]

BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.

[本文引用: 1]

[39]

MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.

[本文引用: 1]

[40]

KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.

[本文引用: 1]

[41]

FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.

[本文引用: 1]

[42]

BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.

[本文引用: 1]

[43]

WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.

[本文引用: 1]

[44]

YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.

[本文引用: 1]

[45]

ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.

[本文引用: 1]

[46]

YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.

[本文引用: 1]

[47]

ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.

[本文引用: 1]

[48]

BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.

[本文引用: 1]

[49]

DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.

[本文引用: 1]

[50]

KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.

[本文引用: 1]

[51]

BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.

[本文引用: 1]

[52]

TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.

[本文引用: 1]

[53]

KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.

[本文引用: 1]

[54]

LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.

[本文引用: 1]

[55]

KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.

[本文引用: 1]

[56]

LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.

[本文引用: 1]

[57]

XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.

[本文引用: 1]

[58]

BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.

[本文引用: 1]

[59]

LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.

[本文引用: 1]

[60]

BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.

[本文引用: 1]

[61]

JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.

[本文引用: 1]

[62]

HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.

[本文引用: 1]

[63]

BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.

[本文引用: 1]

[64]

SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.

[本文引用: 1]

[65]

STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.

[本文引用: 1]

[66]

ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.

[本文引用: 1]

[67]

KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.

[本文引用: 1]

[68]

BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.

[本文引用: 1]

[69]

刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.

[本文引用: 1]

LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.

[本文引用: 1]

区块链技术发展现状与展望

1

2016

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

区块链技术发展现状与展望

1

2016

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

企业级区块链技术综述

1

2019

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

企业级区块链技术综述

1

2019

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future

1

2019

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

区块链安全问题:研究现状与展望

1

2016

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

区块链安全问题:研究现状与展望

1

2016

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

Applications of blockchains in the Internet of things:a comprehensive survey

1

2019

... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...

Blind signature system

1

1984

... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...

How to make a mint:the cryptography of anonymous electronic cash

1

1997

... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...

Proofs of work and bread pudding protocols

1

1999

... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...

P2P 关键技术研究综述

1

2010

... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...

P2P 关键技术研究综述

1

2010

... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...

Epidemic algorithms for replicated database maintenance

1

1988

... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...

Information propagation in the bitcoin network

1

2013

... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...

Locality based approach to improve propagation delay on the bitcoin peer-to-peer network

1

2017

... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...

DHT clustering for load balancing considering blockchain data size

1

2018

... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...

An analysis of anonymity in bitcoin using P2P network traffic

2014

Deanonymisation of clients in bitcoin P2P network

2014

Dandelion:redesigning the bitcoin network for anonymity

1

2017

... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...

Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees

1

2018

... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...

Eclipse attacks on Bitcoin’s peer-to-peer network

1

2015

... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...

Hijacking bitcoin:routing attacks on cryptocurrencies

2

2017

... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...

... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...

Improving authenticated dynamic dictionaries,with applications to cryptocurrencies

1

2017

... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...

GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain

1

2019

... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...

An analysis of anonymity in the bitcoin system

1

2011

... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...

A fistful of bitcoins:characterizing payments among men with no names

1

2013

... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...

Blockchain transaction analysis using dominant sets

1

2017

... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...

Increasing anonymity in bitcoin

1

2014

... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...

Zerocoin:anonymous distributed e-cash from bitcoin

1

2013

... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...

Zerocash:decentralized anonymous payments from bitcoin

1

2014

... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...

A anti-quantum transaction authentication approach in blockchain

1

2018

... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...

The sybil attack

1

2002

... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...

Double-spending fast payments in bitcoin

1

2012

... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...

The byzantine generals problem

1

1982

... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...

Consensus in the age of blockchains

1

... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...

Consensus in the presence of partial synchrony

2

1988

... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...

... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...

Bitcoin and beyond:a technical survey on decentralized digital currencies

1

2016

... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...

Blockchains consensus protocols in the wild

1

2017

... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...

Practical byzantine fault tolerance and proactive recovery

1

2002

... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...

In search of an understandable consensus algorithm

1

2015

... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...

Proofs of useful work

1

2017

... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...

Comparative analysis of blockchain consensus algorithms

1

2018

... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...

Ouroboros:a provably secure proof-of-stake blockchain protocol

1

2017

... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...

Tight proofs of space and replication

1

... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...

A vademecum on blockchain technologies:when,which,and how

1

2019

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

A survey on consensus mechanisms and mining strategy management in blockchain networks

1

2019

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms

1

2019

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

An overview of blockchain technology:architecture,consensus,and future trends

1

2017

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

HotStuff:BFT consensus in the lens of blockchain

1

2019

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

Libra critique towards global decentralized financial system

1

2019

... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...

Proof of activity:extending bitcoin’s proof of work via proof of stake

1

... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...

Bitcoin meets strong consistency

1

... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...

Enhancing bitcoin security and performance with strong consistency via collective signing

1

2016

... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...

Casper the friendly finality gadget

1

... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...

Bitcoin and beyond:a technical survey on decentralized digital currencies

1

2016

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

Non-interactive proofs of proof-of-work

1

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

A secure sharding protocol for open blockchains

1

2016

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

OmniLedger:a secure,scale-out,decentralized ledger via sharding

1

2018

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously

1

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

A survey on the scalability of blockchain systems

1

2019

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

Scalable funding of bitcoin micropayment channel networks

1

2017

... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...

Making smart contracts smarter

1

2016

... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...

Vandal:a scalable security analysis framework for smart contracts

1

2018

... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...

ContractFuzzer:fuzzing smart contracts for vulnerability detection

1

2018

... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...

Decentralized user-centric access control using pubsub over blockchain

1

2017

... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...

Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems

1

2019

... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...

Hosting virtual IoT resources on edge-hosts with blockchain

1

2016

... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...

Blockchain based distributed control system for edge computing

1

2017

... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...

Integration of fog computing and blockchain technology using the plasma framework

1

2019

... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...

Blockchained on-device federated learning

1

2018

... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...

Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions

1

2019

... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...

基于命名数据网络的区块链信息传输机制

1

2018

... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...

基于命名数据网络的区块链信息传输机制

1

2018

... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...

/

期刊网站版权所有 © 2021 《通信学报》编辑部

地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层   邮编:100079

电话:010-53878169、53859522、53878236   电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn

期刊网站版权所有 © 2021 《通信学报》编辑部

地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层

邮编:100079   电话:010-53878169、53859522、53878236

电子邮件:txxb@bjxintong.com.cn

404

404

啊哦~你想找的内容离你而去了哦

内容不存在,可能为如下原因导致:

① 内容还在审核中

② 内容以前存在,但是由于不符合新

    的规定而被删除

③ 内容地址错误

④ 作者删除了内容。

可以到 建议专区 反馈更多问题。

返回首页

向专家提问

入门课堂 | 一文秒懂区块链里的分叉 - 知乎

入门课堂 | 一文秒懂区块链里的分叉 - 知乎首发于数字货币切换模式写文章登录/注册入门课堂 | 一文秒懂区块链里的分叉书匠火火玄学1.概念介绍什么是分叉:普遍地来讲,在大众认知内的分叉往往指的是在原有区块链基础上,按照不同游戏规则分裂出另外一条区块链,相应的一个币变成两个币以比特币区块链为例,平均每10分钟可以产生一个新区块。但是要注意,这里有一个词“平均”,这个词就代表:有可能100分钟产生一个,也有可能同时产生好几个。我们用个简单的图来说明一下:图中ABC区块是顺序产生的,但是在C区块之后同时产生了D和E2个区块:D和E新区块会分别向自己临近的区块广播:“我是新生成的区块呀!快把我记录进去呀!”并且会分别在此基础上开始生成新的区块:很快,就会有一个区块N先后收到D和E的广播,发现D和E拥有同样的时间戳,那么区块N就会判断,选择其中一个为有效区块,另外一个为无效区块。那么判断的依据是什么呢?就是链的长度。此时D区块的基础上已经产生了3个新区块,但是E区块基础上只产生了1个新区块,此时区块N就会向其他节点广播:“D跟E虽然是同时生成的,但是D基础上的链更长,所以D有效E无效。”结果就是区块D和它基础上的3个新区块继续存在,E和它基础上的1个新区块被放弃。同时产生2个新区块的状况,就叫做“分叉”。2. 为什么会分叉?有分歧就有分叉:在中心化系统中,软件升级极其简单,只需要打补丁或者对其某些功能的兼容性等迭代更新。而去中心化系统中,升级远没有那么简单轻松,它需要取得链上各节点或者交易方达成共识。在一些重大功能上的改善时,常会遭到社区某些人的反对,一旦有超过2/3的人不同意,那么他们就得选择其它途径,创造它们自己的协议和分支区块链,于是分叉也就随之发生。在比特币中,其通过比特币软件(也叫比特币协议)的形式实现,它确定了针对所有人的规则,包括区块大小、对矿工的奖励等。如果所有人使用比特币,那就得同意这份协议。类似于国家的法律,每个人必须遵守。然而,不仅仅是比特币,其它加密数字货币也是一样的,作为软件项目,总是不乏需要完善的地方,因此,技术更新和开发基本都是一往直前的,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。简单而言,区块链网络中只要发生意见分歧、协议改进(新增、升级)等就有可能产生分叉。简单说 分叉是指在区块链进行“升级”时,区块链社区成员间发生了意见分歧,从而导致区块链分叉,原有区块链被一分为二,根据分叉后的区块链是否兼容旧区块链,分叉又分为“软分叉”和“硬分叉” (后面章节会具体介绍二者的区别)。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。3.区块链分叉案例案例一:2016年6月,以太坊项目The DAO被黑客攻击,损失了价值超过6000万美金的ETH,随后以太坊团队通过回滚的方式“追回”了被黑客盗取资产,但一部分社区成员认为此举有违区块链不可回滚、不可窜改的基本精神仍旧坚持维护旧链。自此分裂出以太坊(ETH)和以太经典(ETC)两个独立的区块链项目,对应不同的共识理念。PS:以太坊持币者在分叉后除了原有的数字货币(ETC)外,还可以获得1:1数量对应的分叉币(ETH)。案例二:2017年8月,为解决比特币交易拥堵、手续费奇高等问题,比特币核心开发团队bitcoincore提出“隔离见证 + 闪电网络”的扩容方案,但另一派则认为应该直接在链上扩容,支持大区块(将区块大小提升至8M)。由于扩容方案理念不一致,于是在UTC时间2017年8月1号,位于比特币区块高度478558,比特币网络发生了"分叉",比特币区块链分裂为BTC以及比特币现金BCH两条链。PS:比特币持币者在分叉后除了原有的数字货币(BTC)外,还可以获得1:1数量对应的分叉币(BCH)。比特币分叉4.区块链分叉的影响1.分叉对于区块链自身进化来说不失为一种好的促进方式,可以通过分叉的形式给区块链更多可行性方案探索与验证的机会 ,正所谓一花独放不是春,百花齐放春满园。2.分叉对原有投资者来说也是一个利好,除了原有数字资产不变还可以分得相当数量的分叉币,不论分叉币后续成功与否,都基本没有风险。3.分叉过多或频繁分叉会导致社区混乱,社区成员间很难达成共识,同时也有违区块链“不可篡改”的精神。5.总结现在来和大家总结一下上面这种区块链分叉的特点:1、全网络节点遵循共同的机制,如工作量证明(POW);2、分叉的短暂的,虽然这种分叉经常出现,但是只有一条链会被保留下来,整个区块链任然是唯一的;3、这种情况下,工作在短链上的矿工是有损失的。短链被遗弃,他们在短链上的工作是没有激励的。源自公众号:库尔班区块链发布于 2020-12-11 19:52比特币 (Bitcoin)去中心化区块链(Blockchain)​赞同 7​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录数字货币在这里,读懂

一文读懂比特币分叉是怎么回事 - 知乎

一文读懂比特币分叉是怎么回事 - 知乎首发于每天学点区块链切换模式写文章登录/注册一文读懂比特币分叉是怎么回事景辰比特币即将分叉自从今年7月14日以来,分叉便成为笼罩在比特币上空的一朵乌云,为了防止由于分叉导致的比特币充值或提现被回滚和重放攻击,OKCoin币行和火币网方面纷纷表示平台在8月1日前后将停止比特币的充值和提现。过去的几天已经经过了BTC1的部署、对BIP91开始投票以及BIP141的截止,而今天比特币则将迎来新一轮考验,从UTC时间8月1日12点20分左右开始,即北京时间8月1日20点20分左右,ViaBTC将为其矿池的一部分矿工提供一种选项——将算力引导至一个名为Bitcoin ABC的新型的、有争议的软件客户端。如果足够多的矿工接受这种选项,结果将会导致比特币区块链的永久性分歧,并会创建一种称为Bitcoin Cash或BCC的新型加密货币,而如果比特币真的分裂为一种或多种比特币,OKCoin等币行表示也将会把分裂出来的各种比特币按拥有权提供给所有客户,并且逐步上线所有新种类的比特币的交易,但同时也有币行表示将不会支持分裂出的币种。分叉的影响比特币的历史上,确实发生过“真分叉”,那个时候所有的矿池马上就会协商确定,同步那一条链(通常是最长的哪条链),而抛弃掉短链。鱼池曾经就在被抛弃的短链上挖过矿,最后不得不放弃,重新去同步达成共识的最长链,出现过经济损失。比特币的底层软件代码如果走向分裂,可能会生成一种被称之为“比特币现金”的虚拟货币。数字货币持有者可能由此获得一笔“意外之财”,分叉前的所有比特币持有者将免费获得同等数量的比特币现金。比特币现金可用于交换法定货币或其他数字货币,但目前尚不确定分叉会否发生,也不清楚因分叉而出现的新币会价值几何。早就出过多次分叉危机 虽然说比特币从来不曾分过叉,但在这几年的发展中,比特币却曾有过多次接近分叉的危机时刻:2013年3月,比特币Core开发组发布了一个有BUG的版本0.8,新旧版本出现了冲突,比特币当时分叉成了二十多个区块,然后,大家很有默契的退回了0.7版本,这一次比特币没有分叉。2014年初,比特币矿池http://Ghash.io的算力浩浩荡荡的逼近了50%,也就是说全球有一半的比特币算力是他的,这使得理论上http://Ghash.io将会拥有攻击系统的能力。然后全球矿池开了个小会,大家苦口婆心的劝说http://Ghash.io降低算力,而http://Ghash.io也表态不希望算力继续上升,矿工也自发撤出,系统再次安全了,自然也没有分叉。到了2015年7月,国内的几个大矿池连续挖出了5个低版本区块,这几乎会造成事实上的分叉,因为连续挖到6个区块理论上就可以分叉了,而国外矿池没有承认,然后他们最终集体放弃了这几个区块,这次比特币还是没有分叉。这次为什么比特币要分叉 如果你仅仅是比特币投机者,不是区块链技术研究者,可能看到这里依然一头雾水,什么是比特币分叉?比特币分叉,准确来将应该叫做区块链分叉。区块链分叉是怎么产生的呢?这还要从区块链的自身的设计说起。比特币的世界里就是一笔一笔的交易,所谓交易就是我向你转了一个比特币这个事件,而区块链里的区块就是用来记录这些交易信息的存储空间,比特币是每十分钟产生一个区块,目前区块的大小是1M,假设每笔交易大概需要1KB,那么1M最多能容纳 1024 / 1 = 1024 笔交易,那么每秒只能容纳1.7笔交易。试想一下,如果现在几十亿人使用的支付宝每秒只能接受2笔交易,还能满足需求吗?那么比特币是固定死了必须是1M的大小吗?答案是否定的,比特币最初区块大小是32M,中本聪并无意限制区块大小,只是当初使用的人少,每个区块大小只有几KB的大小,为了避免浪费计算资源,同时为了避免DDOS攻击以保证比特币系统的安全运行,中本聪临时将区块大小限制为1M,以当时的比特币交易量来说,这1MB足够使用并且还绰绰有余。但现在近十年的时间过去了,使用比特币的人越来越读懂,1M区块大小带来了严重的问题,现在由于比特币区块大小的限制,致使比特币网络中积压了过多的交易,使得交易确认异常缓慢,最慢的情况下,你给你的朋友转账一笔比特币,他可能在三天后才收到你的转账,此时,你要么等待,要么支付更高的交易费用,当然,即使你支付更高的交易费用后,依然需要等待。为了解决上述问题,大家一致决定要对区块进行扩容,然后就出现了两种略有冲突的方法,这就是所谓的分叉:软分叉和硬分叉。分叉到底是怎么回事?一种方案是软分叉。在原有的比特币网络里面进行优化修改bug提升区块的容量,比如改成2M、4M或者8M、16M,其中以SegWit闪电网络为主流解决方案,通俗的说,就相当于一条主路上堵车,开发团队就再建造一条辅路,帮助主路分流拥堵。 这是一种温和的解决方式,能让原有的比特币网络和软分叉之后的网络进行兼容,比特币的主要交易还在主链上。当然,软分叉存在缺点,那就是治标不治本,只能解决暂时的拥堵问题,执行软分叉后,也仅能保持数年内网络的通畅,未来还需要不断扩容,对系统稳定性有影响。另一种方案是硬分叉。重新升级比特币系统,通过代码形式将区块的高度彻底改变,以bitcoin unlimited为主流解决方案。通俗的说,就相当于一条主路上堵车,我们直接弃用这条路,找个地方,做一个地上地下立体交通枢纽,新车都走这套交通系统,这套系统改变了比特币网络的区块大小,优化了网络的处理速度。但是硬分叉同样存在缺点,那就是不兼容原有的比特币系统,这就要求现在比特币网络所有的人都要支持硬分叉,若有部分人不支持硬分叉,比特币网络将会出现两个版本,也就产生了两个比特币,这两个比特币所存在的区块链形成竞争关系,这种内耗会导致价格波动较大,会导致比特币未来的局势不明朗。那为啥一直没有分叉呢?众所周知,区块链是由点对点的去中心化节点共同维护的,这里没有可以说了算的权威机构,区块链的有序运转靠的就是大家的共识,即对于哪些交易是可以接受的、哪些节点具有记账权等关键事宜,有一套公认的标准。这套标准是部署在区块链底层协议中自动化执行的,由大多数人投票决定。面对扩容问题时,每当有人问起,你对扩容怎么看,你支持Core还是Classic,扩容的事怎么解决?几乎所有的人都会说,社区不能分裂,扩容问题的解决要靠社区的共识,众说纷纭……在以太坊分叉之前,很多人受够了漫长的争论,心里在想,Core开发者真是傲慢,要是真分叉了,我是支持Core呢,还是支持Classic?然后,以太坊就分叉给你看了,一方面ETH价格大幅回落,一方面ETC伤而不死。以太坊就那么货真价实的分裂了,但是比特币社区的人生怕比特币也分了叉,自己手里的资产会打折,一面看以太坊的笑话,一面心里暗自庆幸,一面对着傲慢的Core一句话也不敢说,争论是大家唇枪舌剑好不热闹,但是一旦到做决定的时候,都把头埋在沙子里,仿佛危机就消失了。这场景就像是《武林外传》里的同福客栈,本来客栈可以招待100位客人,但是有一天要举办武林大会,来了1000多个人,这就住不下了。客栈要发展,股东来投票,共同作为客栈的股东,佟掌柜认为应该盘下对面的面馆改建;吕秀才认为给客房打个隔断做成单间也可以;白展堂却认为应该让出价高的客人住,那些出不起价钱的去睡大街就好了……由于大家都不控股,争吵不休,于是十年了,到现在武林外传也没有拍续集。那到底还分不分了?吵吵这么半天,我这吃瓜群众瓜都快吃完了,你们到底还分不分了?分!而且还提出来好多个方案:BIP141:当前的隔离见证激活方案是由BIP141定义。这个方案币圈的人都很熟悉,就是在持续两周时间里95%的算力在区块数据中发出bit1支持信号。不过目前它的算力支持率只有30%左右,这也是为什么有人提出其它激活方案的原因。BIP148:BIP148就是用户激活软分叉,目的是触发BIP141的激活条件。在8月1日这天,比特币BIP148软件会拒绝不包含bit1信号的区块。也就是说如果大多数矿工运行这个软件,他们会拒绝那些少数没有运行这个软件的矿工挖出的区块。因此,这些矿工会拥有最长的链,最终运行BIP0141的节点会在链上看到超过95%的区块包含bit1,这样隔离见证的激活条件就触发了。然而如果BIP148没有得到大多数矿工支持,那么比特币就会一分为二,产生两种比特币。SegWit2x:SegWit2x是由一些比特币公司和80%的矿工在Consensus2017会议上签署的协议。SegWit2x的内容包含隔离见证的激活和区块体积扩大至2MB。不过激活方式不同,它也是由矿工算力决定,不过算力要求是80%,而不是95%。而且这种方式不适用bit1数据发出信号,而是使用bit4。这意味着不同方案的隔离见证激活时间和激活环境不同,这让节点的隔离见证区块中继策略混淆,可能导致分裂。BIP91:BIP91通过让SegWit2x 和BIP148产生兼容性从而避免分裂。它与BIP148在某种程度上有相似,就是BIP91拒绝没有Bit1隔离见证信号的区块,这样BIP141就会被兼容。不过它没有设置激活时间,而是由算力触发。BIP91会拒绝非隔离见证区块,如果80%的算力在持续两天内支发出第一次支持信号,它就会被锁定。这种支持信号使用bit4发出,这样纽约共识就可以激活(80%算力用bit4发信号),同时激活现有的隔离见证方案。如果这些在8月1日前完成就会和BIP148兼容,因为BIP148也会拒绝非bit1区块。在比特币的分叉这个事件上,经过长时间的磨合,目前在各方的努力下,具有妥协性的BIP91方案已经出现,并得到矿工的支持。BIP91方案是抢在8月1日前锁定隔离见证,并可兼容BIP148协议。意味着,只要BIP91在8月1日前成功激活,届时,无论是运行BIP91协议的节点(支持矿工的提案)也好,运行BIP148协议的节点(支持Core团队的提案)也罢,双方是互相兼容的。而从时间上看,下面会发生这些事:8月1日:BIP148激活8月1日是矿工能够避免分裂的最后机会。在8月1日0:00(UTC) ,所有的BIP148节点会拒绝没有支持隔离见证的区块。如果Bitcoin Core的BIP141或BTC1的BIP9没有及时被锁定或激活,那么比特币就会分裂。此时,矿工还有机会避免分裂,那就是选择支持BIP148。这会保证他们所挖的区块链是最长链,同时使用BIP141激活隔离见证。8月4日:Bitcoin ABC可能会出现8月4日可能会出现一种新的比特币“Bitcoin ABC”,最近比特大陆宣布,如果8月1日前BIP9没有被激活且BIP148有存活的迹象,会执行“应急计划”:“Bitcoin ABC”,Bitcoin ABC在8月1日前会共享比特币区块链历史,在8月1日后的几天里,比特大陆会秘密地在这个区块链上挖矿,它可能会有一些协议上的改变,如提高区块大小。8月15日:BIP148可能会更改PoW算法8月15日可能出现另外一种新的比特币,我们暂时称之为“新Pow比特币”或“新挖矿算法比特币”。BIP148让用户激活软分叉而不是矿工,用户会拒绝不支持BIP141的区块,理想情况下是大多数矿工支持它,然后只存在这一条链,不过到目前,没有多少矿工支持USAF。如果矿工支持率很低,有些人可能会执行硬分叉来改变挖矿算法。这就相当在BIP148链上把当前的ASIC矿机淘汰了。这可能会让算力再次回到家庭电脑的CPU或GPU挖矿上。8月中旬到8月末:隔离见证锁定如果矿工通过BIP141、BIP91、BIP148中的任何一个避免了分裂,那么隔离见证最迟会在8月中旬到8月末被锁定。锁定意味着所有隔离见证客户端会在下一个难度周期开始执行新的规则:再过两周。此时,如果你是想要使用新特性且最高安全的用户,你有两周的时间来升级支持隔离见证的软件。如果分裂没有避免,情况就有点复杂了。在8月中旬,可能存在四种比特币:148比特币、新挖矿算法比特币、Bitcoin ABC 、原始比特币。8月末到9月中旬:隔离见证激活如果分裂被避免了,隔离见证会在这段时期被激活,如果你运行着兼容客户端,你可以使用新特性,并保持最高安全性。如果分裂没有被避免,情况就很复杂了,此时难以预测。10月末到11月中旬:SegWit2x硬分叉今年末(或明年初),SegWit2x的硬分叉会发生。精确地说是,在隔离见证锁定后三个月BTC1 客户端会激活硬分叉,这会提高区块体积,也就是说BTC1 客户端会与其他没有硬分叉代码的客户端不兼容。不过目前看来,并不是所有人都支持硬分叉,Core开发社区几乎算是拒绝了这个方案,还有一些公司和用户也不支持这个方案。因此,这可能会导致再次分裂。理论上这会出现第五种比特币,不过之前的那四种比特币不一定都会存活到这个时候。如何知道是否分叉了?BtcForkMonitor(网址:https://www.btcforkmonitor.info/) 是一个跟踪潜在的比特币分叉的站点。如果它检测到分叉,它承诺将在网站顶部弹出一份红色通知。该网站的开发人员正在同时运行Bitcoin ABC和Bitcoin Core节点,因此他们可以比较两个客户端,并查看每条链上有多少区块,并且互相做出对比。尽管如此,由于btcforkmonitor是一个独立的网站,它提供的信息可能会不准确。所以,除非你想运行自己的150 GB Bitcoin ABC全节点,否则和其他来源(例如其他运行完整节点的人)一起监控或许是更好的选择,你还可以在社交媒体上随时关注他们的更新。再说一下竞争币自比特币诞生以来,模仿比特币的,创新区块链的,实验新的共识机制的,各种各样的实验层出不穷,数目以百计。但币圈的人从来没有怕过,似乎已经司空见惯。币圈的人从来不怕竞争币,倒是对比特币的分叉怕得很。想一想原因也不复杂。竞争币不会直接影响比特币的价格,所以他们不会担心。可是比特币的分叉势必会给比特币的价格带来巨大波动,前车后辙,以太坊珠玉在前,这是最明显不过的预期。所以他们就担心了,一直在说不要不要。比特币社区变大了,人们的追求不一样,执念不一样,对比特币的期许也不一样,强行绑在一起同床异梦,所谓南辕北辙,所谓缘木求鱼,大概就是这个意思了。说书的还没见过不分叉的开源社区。有分叉才有选择,有选择才是市场经济嘛。而在刚刚结束的大佬云集的Finwise纷智·全球区块链上海峰会上,对于比特币分叉问题也做了深入的探讨,但是对于上文提到的BCC的地位,则有嘉宾将其定位为山寨币、竞争币,被列为了莱特币之列,同时,已经有若干大交易所公开声明不承认、不支持BCC的交易了。虽说比特币是去中心化的,但是现在越来越由各大掌握算力的矿池说了算了,哪有小散表达观点的机会?小散户只管看着就好了。究竟是否分叉而言, 很简单,矿池大佬们开个会:说你是你就是不是也是;说不是就不是是也不是。结论要留给市场,要留给时间。一切都是刚刚开始……推荐往期阅读:区块链的地位 | 区块链的来源 | 比特币的概念 | 疯狂的ICO | 助力跨境支付 | 公钥私钥钱包地址发布于 2017-08-01 16:55区块链(Blockchain)比特币 (Bitcoin)隔离见证​赞同 15​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录每天学点区块链未名湖畔学

比特币的分叉史(2009-2018) - 知乎

比特币的分叉史(2009-2018) - 知乎首发于区块链投资切换模式写文章登录/注册比特币的分叉史(2009-2018)知乎用户8Xf76N撰文:Sasha Ivanov编译投稿:Van概述:本文梳理了比特币“分叉”的原因及其脉络,和未来可能会发生的技术分叉和已经发生的最主要的分叉事件,便于专业读者从技术层面重新认识比特币。什么是比特币分叉?比特币的分叉不是字面意思,它的“分叉”是指分成了两个完全不同的东西。代码库分叉(Codebase Fork)在比特币的代码库中,fork是软件实现代码的副本。 代码库分支通常会对原始代码库进行调整。 在比特币的上下文中,代码库forks可以完全与比特币协议兼容,它们可能导致无意的区块链分支,或者它们可以建立一个全新的加密货币。区块链分叉当区块链分支到两个版本的交易历史时,会发生区块链分叉。从单个孤立块到全新的加密货币,可能是由于多种原因而发生的,也可能是预期的或人为意外的,并且可能根据具体情况导致许多结果。硬分叉硬分叉是一种放宽或删除规则的协议升级。 如果所有用户都升级,则硬分叉不会导致区块链分叉。 特别是在比特币的背景下,一些人认为,除非所有用户都升级,否则“升级”协议根本不应被称为硬分叉,而应该是新的加密货币或“分叉币”。软分叉软分叉是一种可以收紧或添加规则的协议升级。 软分叉升级可能会导致区块链分叉,但是需要大多数的哈希算力对同一个交易历史达成一致后才可执行。 软分叉分为两种,一种是由矿工引发的软分叉(MASF),和由用户引发的软分叉(UASF)。灰色地带虽然不同的术语听起来足够清晰,但比特币的现实却很复杂。 硬叉和软叉之间的区别并不总是很明显,有时甚至不清楚什么应该被视为协议升级。 直到今天,有些专家不同意某些事件应该如何归类,而出于政治动机的重写历史的尝试使得其中一些事件更加混乱。比特币创世核心比特币于2009年推出,当时Satoshi Nakamoto(中本聪)发布了第一个比特币代码库。 然后,它被简称为“比特币”(或更具体地说,第一个版本的“比特币0.1.0”)。 后代的相同代码库被重新命名为“Bitcoin Core”,有时也被称为“Satoshi客户端”。常规区块链分叉当两个或多个矿工同时找到有效区块时,比特币区块链会分叉成两个分支。 按照既定设计理念,较长的那个分支会胜出,而较短的分支会被放弃(孤立)。 这是一种常见的区块连分叉现象。第一个软分叉比特币的第一个软分叉协议升级禁用了协议功能OP_RETURN。 这在技术上是一个UASF,但在这些早期,它实际上只是Satoshi Nakamoto决定协议规则。 升级没有导致区块链分叉。第一个硬分叉可以说,比特币的第一个硬分叉协。议升级增加了一个新功能OP_NOP,并且也由Satoshi Nakamoto指示。 然而,不是每个人都同意这种升级实际上是一个硬分叉。 无论哪种说辞,它都没有引起区块链分叉。无意的区块链分叉当比特币网络的不同部分看到不同的交易历史并且情况不能自动解决时,会发生无意的区块链分叉。 这些类型的区块链叉通常是由软件缺陷或其他技术问题引起的,并且是比特币经历的最大的短期故障。 幸运的是,它在比特币的历史上只发生过两三次,每次通过社区协调解决而没有太大的损害。比特币结比特币结是Bitcoin Core的代码库分支的一个例子。 代码库fork是代码的副本,不需要导致区块链分叉。 事实上,比特币结被 设计为与Bitcoin Core保持兼容 - 它只提供不同的功能。LibbitcoinLibbitcoin是在不同代码库中完全重新实现比特币协议的一个例子。 它不是 Bitcoin Core的代码库分支,但它仍然与Bitcoin Core保持兼容。第一个矿工引发的软分叉(MASF)P2SH升级可以说是第一个MASF,虽然后来的MASF使用了基于哈希算力的升级机制。 它没有引起区块链分叉。BIP148客户端BIP148客户端是Bitcoin Core的代码库分支的另一个例子。 BIP148客户端经过调整以强制执行UASF,以激活隔离见证协议升级。 它可能与Bitcoin Core和其他比特币客户端不兼容。比特币ABC比特币ABC是Bitcoin Core代码库的另一个例子。 然而,比特币ABC被调整以确保它在某个时间点与Bitcoin Core和其他比特币客户端不兼容。比特币ABC从比特币链分叉,创造“比特币现金(Bitcoin Cash)”2017年8月1日,比特币ABC变得与Bitcoin Core和其他比特币客户不兼容。 在这样做的过程中,它创建了一种新的加密货币,称为“比特币现金”。(虽然未在此信息图中显示,但比特币现金现在也包括几个客户 - 而不仅仅是比特币ABC。)BTC1BTC1也是Bitcoin Core的代码库分支,以确保它与Bitcoin Core和其他比特币客户端不兼容。 但是,BTC1的特定目的是为新的比特币协议“Segwit2x”部署硬叉升级。(换句话说,目标是让所有比特币用户切换到Segwit2x协议并将此协议视为“比特币”。)第一次用户引发的软分叉(UASF)如果BIP148客户端没有获得足够的支持,它将从比特币中分离出来以创建一个新的加密货币。 但是,由于有足够的矿工升级他们的系统,BIP148客户端仍然与其他比特币客户端兼容。 许多人认为这个协议升级是第一次真正的用户引发的软分叉(UASF):不是由开发人员决定的,而是由草根用户运动产生的。比特币Clashic一个新的比特币ABC版本被设计为硬分叉到升级的比特币现金协议。 大多数比特币现金用户确实升级并声称这个新协议的名称为“比特币现金”。 然而,少数用户选择继续使用第一个比特币现金协议(主要是作为一个笑话),并采用了这个加密货币的新名称:“比特币Clashic”。Bitcoin Core(没有实现)在2018年初,大多数比特币Clashic社区采用了比特币Clashic客户端的代码库分支,称为Bitcoin Core Sq。 与现有的比特币Clashic客户不兼容,这再次创造了一种新的加密货币,故意混淆名称“Bitcoin Core”。Bitcoin CoreSq 和/或Bitcoin Core加密货币与Bitcoin Core软件客户端和/或比特币协议不兼容。 虽然比特币Clashic也存在了一段时间,但它现在已被完全抛弃(主要是支持Bitcoin Core)。Segwit2x的失败出于多种原因,几乎没有人采用BTC1。 它不仅没有“升级”比特币协议,它甚至没有继续作为一种新的加密货币。比特币黄金(Bitcoin Gold,),比特币钻石(Bitcoin Diamond )和数十个分叉币Bitcoin ABC从比特币现金(Bitcoin Cash)链成功分叉出来的先例之后,又推出了许多所谓的“分叉币”。 比特币现金产生于比特币社区长期存在的分歧,其他的分叉币通常被认为是区块链分支,只是一种推出新硬币的好方法。比特币SVBitcoin Satoshi的愿景(比特币SV)是比特币ABC的代码库,但经过调整以确保它 在某个时间点与比特币现金协议不兼容。比特币ABC和比特币SV拆分在2018年,比特币现金社区内的分歧有比特币ABC和比特币SV 都 从现有的比特币现金(Bitcoin Cash)协议中分离出来。 Bitcoin ABC在各方面的表现都更加强大,因此他们自称为Bitcoin Cash,虽然它现在也被称为“Bitcoin Cash ABC”。分拆的比特币SV方面声称“比特币SV”。(新的加密货币及其主要实现现在共享名称“Bitcoin SV”)截止今天BSV似乎已经失去了社区的支持。比特币黑暗(Bitcoin Dark)比特币黑暗(Bitcoin Dark)是Bitcoin Core的代码库分支,产生了一种新的加密货币,取名为比特币黑暗(Bitcoin Dark)。 像Litecoin和许多其他山寨币一样,代码库从一开始就被调整为与比特币协议完全不兼容。 Bitcoin Dark是一种全新的数字货币,但不是区块链分叉,只是名字里有“Bitcoin”。 Bitcoin Dark如今已经不存在了。发布于 2019-04-18 18:29比特币 (Bitcoin)区块链(Blockchain)互联网​赞同 1​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录区块链投资专注区块链投资新闻动态、知识普及,接受优质内

入门课堂 | 一文秒懂区块链里的分叉 - 知乎

入门课堂 | 一文秒懂区块链里的分叉 - 知乎首发于数字货币切换模式写文章登录/注册入门课堂 | 一文秒懂区块链里的分叉书匠火火玄学1.概念介绍什么是分叉:普遍地来讲,在大众认知内的分叉往往指的是在原有区块链基础上,按照不同游戏规则分裂出另外一条区块链,相应的一个币变成两个币以比特币区块链为例,平均每10分钟可以产生一个新区块。但是要注意,这里有一个词“平均”,这个词就代表:有可能100分钟产生一个,也有可能同时产生好几个。我们用个简单的图来说明一下:图中ABC区块是顺序产生的,但是在C区块之后同时产生了D和E2个区块:D和E新区块会分别向自己临近的区块广播:“我是新生成的区块呀!快把我记录进去呀!”并且会分别在此基础上开始生成新的区块:很快,就会有一个区块N先后收到D和E的广播,发现D和E拥有同样的时间戳,那么区块N就会判断,选择其中一个为有效区块,另外一个为无效区块。那么判断的依据是什么呢?就是链的长度。此时D区块的基础上已经产生了3个新区块,但是E区块基础上只产生了1个新区块,此时区块N就会向其他节点广播:“D跟E虽然是同时生成的,但是D基础上的链更长,所以D有效E无效。”结果就是区块D和它基础上的3个新区块继续存在,E和它基础上的1个新区块被放弃。同时产生2个新区块的状况,就叫做“分叉”。2. 为什么会分叉?有分歧就有分叉:在中心化系统中,软件升级极其简单,只需要打补丁或者对其某些功能的兼容性等迭代更新。而去中心化系统中,升级远没有那么简单轻松,它需要取得链上各节点或者交易方达成共识。在一些重大功能上的改善时,常会遭到社区某些人的反对,一旦有超过2/3的人不同意,那么他们就得选择其它途径,创造它们自己的协议和分支区块链,于是分叉也就随之发生。在比特币中,其通过比特币软件(也叫比特币协议)的形式实现,它确定了针对所有人的规则,包括区块大小、对矿工的奖励等。如果所有人使用比特币,那就得同意这份协议。类似于国家的法律,每个人必须遵守。然而,不仅仅是比特币,其它加密数字货币也是一样的,作为软件项目,总是不乏需要完善的地方,因此,技术更新和开发基本都是一往直前的,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。简单而言,区块链网络中只要发生意见分歧、协议改进(新增、升级)等就有可能产生分叉。简单说 分叉是指在区块链进行“升级”时,区块链社区成员间发生了意见分歧,从而导致区块链分叉,原有区块链被一分为二,根据分叉后的区块链是否兼容旧区块链,分叉又分为“软分叉”和“硬分叉” (后面章节会具体介绍二者的区别)。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。3.区块链分叉案例案例一:2016年6月,以太坊项目The DAO被黑客攻击,损失了价值超过6000万美金的ETH,随后以太坊团队通过回滚的方式“追回”了被黑客盗取资产,但一部分社区成员认为此举有违区块链不可回滚、不可窜改的基本精神仍旧坚持维护旧链。自此分裂出以太坊(ETH)和以太经典(ETC)两个独立的区块链项目,对应不同的共识理念。PS:以太坊持币者在分叉后除了原有的数字货币(ETC)外,还可以获得1:1数量对应的分叉币(ETH)。案例二:2017年8月,为解决比特币交易拥堵、手续费奇高等问题,比特币核心开发团队bitcoincore提出“隔离见证 + 闪电网络”的扩容方案,但另一派则认为应该直接在链上扩容,支持大区块(将区块大小提升至8M)。由于扩容方案理念不一致,于是在UTC时间2017年8月1号,位于比特币区块高度478558,比特币网络发生了"分叉",比特币区块链分裂为BTC以及比特币现金BCH两条链。PS:比特币持币者在分叉后除了原有的数字货币(BTC)外,还可以获得1:1数量对应的分叉币(BCH)。比特币分叉4.区块链分叉的影响1.分叉对于区块链自身进化来说不失为一种好的促进方式,可以通过分叉的形式给区块链更多可行性方案探索与验证的机会 ,正所谓一花独放不是春,百花齐放春满园。2.分叉对原有投资者来说也是一个利好,除了原有数字资产不变还可以分得相当数量的分叉币,不论分叉币后续成功与否,都基本没有风险。3.分叉过多或频繁分叉会导致社区混乱,社区成员间很难达成共识,同时也有违区块链“不可篡改”的精神。5.总结现在来和大家总结一下上面这种区块链分叉的特点:1、全网络节点遵循共同的机制,如工作量证明(POW);2、分叉的短暂的,虽然这种分叉经常出现,但是只有一条链会被保留下来,整个区块链任然是唯一的;3、这种情况下,工作在短链上的矿工是有损失的。短链被遗弃,他们在短链上的工作是没有激励的。源自公众号:库尔班区块链发布于 2020-12-11 19:52比特币 (Bitcoin)去中心化区块链(Blockchain)​赞同 7​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录数字货币在这里,读懂

比特币分叉到底是什么意思? - 知乎

比特币分叉到底是什么意思? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册隔离见证比特币分叉到底是什么意思?能不能通俗易懂的解释一下关注者12被浏览8,623关注问题​写回答​邀请回答​好问题 1​添加评论​分享​6 个回答默认排序xin song​ 关注比特币是遵循某种协议(算法)的一套程序,大家一起用这套程序抢着算,谁先算出谁获利。现在这套算法要做某种改变来适应越来越多的参与者。那么新算法有两种方案,方案1是兼容旧算法但无法彻底解决问题。方案2能彻底解决问题但肯定不能兼容旧算法。方案1叫做软分叉,用户升不升级软件都无所谓,觉察不到。方案2叫做硬分叉,如果有相当多用户坚持不用新算法,那么整个比特币就会分裂成俩种比特币。无论是哪种方案,因为算法变了,必然会产生分叉。你支持哪种方案?发布于 2017-07-19 14:33​赞同 5​​添加评论​分享​收藏​喜欢收起​何玺媒体人。创业者。​ 关注我们知道,总量有限的比特币背后其实是一套基于算法的技术。随着比特币的不断发展,当前的可挖的比特币数量已经越来越少(目前,比特币全球仅剩420万枚可挖)。与比特币数年越来越少相关的,是比特币的身价大涨。在这样的环境下,总量有限的比特币显然是不能满足市场巨大需求的。这样的情况下,对比特币进行扩容是必然的选择。对比特币进行扩容,实际就是对比特币后面的算法进行升级改造,重新部署。比特币扩容的方法有种,一种叫硬分叉,就是放宽算法,部署新的规则。在新的规则下,如果有节点没有升级,新规则下的区块会被认定为非法。这个时候,旧节点就会放弃追随这条被认为包含非法规则的链,哪怕它是最长链也一样会放弃。这种情况下,未升级的节点就会主动分裂出去。然后大家各自延续自己认为正确的链,形成新旧两条链;另外一种叫软分叉,会收紧算法,部署新的规则。在新的规则下,新规则是旧规则的一个子集,双方是兼容的关系,未升级的节点并不会认为新规则的区块非法。新旧区块仍然共存在同一条链上,并互相兼容,所以不存在分出新链的情况。分叉币,就是新的算法(共识机制)对原有货币进行硬分叉而来的新币种。比如ETH和ETC。两者可以说是完全不一样的币种。而分叉币发起方为了推广自己的币种,快速建立用户对新币的认知,采用一种1:1或1:XXX的形式向拥有比特币的用户人群发放新币。这行为被用户称为空投,而对应投放的币种,则被统称为糖果。实质上,“免费糖果”就是分叉币发起方的一种针对比特币用户群的营销活动。其本质就是为了用最少的投入来为自己的新项目引流。分叉币+空投币的模式,不仅可以降低新币获取用户的难度,同时还可以在分叉之前推高被锚定的数字货币的价格,一举两得。发布于 2018-02-06 09:47​赞同 2​​添加评论​分享​收藏​喜欢

Just a moment...

a moment...Enable JavaScript and cookies to conti

比特币分叉列表 - 维基百科,自由的百科全书

比特币分叉列表 - 维基百科,自由的百科全书

跳转到内容

主菜单

主菜单

移至侧栏

隐藏

导航

首页分类索引特色内容新闻动态最近更改随机条目资助维基百科

帮助

帮助维基社群方针与指引互助客栈知识问答字词转换IRC即时聊天联络我们关于维基百科

搜索

搜索

创建账号

登录

个人工具

创建账号 登录

未登录编辑者的页面 了解详情

贡献讨论

目录

移至侧栏

隐藏

序言

1客户端的分叉

2旨在分裂加密货币的硬分叉

3旨在分裂非主要区块的软分叉

4意外的硬分叉

5参考文献

开关目录

比特币分叉列表

7种语言

العربيةکوردیEnglishEspañolTagalogTürkçeУкраїнська

编辑链接

条目讨论

简体

不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體

阅读编辑查看历史

工具

工具

移至侧栏

隐藏

操作

阅读编辑查看历史

常规

链入页面相关更改上传文件特殊页面固定链接页面信息引用本页获取短URL下载二维码维基数据项目

打印/导出

下载为PDF可打印版

维基百科,自由的百科全书

此条目翻译品质不佳。 (2019年2月25日)翻译者可能不熟悉中文或原文语言,也可能使用了机器翻译。请协助翻译本条目或重新编写,并注意避免翻译腔的问题。明显拙劣的翻译请改挂{{d|G13}}提交删除。

比特币分叉的定义为比特币网络上协议的改变,或者当“两个区块拥有相同的高度”的情况出现亦称为分叉。[1]分叉会影响规网路传输协定的有效性。有意分叉通常用于为区块链增加新功能,或者用以恢复黑客攻击或严重错误错误所造成的影响。分叉需要通过共识协商而达成,否则将会造成一个永久性的分支。

客户端的分叉[编辑]

以下是比特币网络的客户端分叉:

比特币XT

比特币经典

Bitcoin Unlimited

以上三个客户端都尝试增加网络的交易容量,但都未能实现大多数哈希运算力。[2]

旨在分裂加密货币的硬分叉[编辑]

硬分叉所分裂出的比特币(又名分叉币)是由改变区块链协议及共享比特币截至某日期时间的交易纪录而产生。比特币首次硬分叉发生于2017年8月1日,导致了比特币现金的出现。

以下按日期/区块列出分裂比特币的硬分叉:

比特币现金原链:分叉区块:478558,日期:0年8月1日,客户每持有1个比特币可以得到1个比特币现金原链

比特币现金:分叉区块:504031,日期:2017年11月13日,客户每持有1个比特币现金原链可以得到1个比特币现金

比特币黄金:分叉区块:491407,日期:2017年10月24日,客户每持有1个比特币可以得到1个比特币黄金

比特币SV::分叉区块:556766,日期:2018年11月15日,客户每持有1个比特币现金可以得到1个比特币SV

旨在分裂非主要区块的软分叉[编辑]

软分叉常用于修正溢价事件,由于软分叉在挖矿完成后才被公告而存有不少争议。

意外的硬分叉[编辑]

两个因协议改变而产生的硬分叉:

2013年链分叉(由BerkeleyDB转移至LevelDB而引起的链分裂)[3]

CVE-2018-17144(比特币0.15容许同一区块上出现双重支付)

参考文献[编辑]

^ Antonopoulos, Andreas. Mastering Bitcoin: Programming the Open Blockchain 2. USA: O' Reilly media, inc. 2017: Glossary. ISBN 978-1491954386. 

^ Ammous, Saifedean. The Bitcoin Standard: The Decentralized Alternative to Central Banking. John Wiley & Sons. 2018: 227, 228 [23 April 2018]. ISBN 9781119473893. 

^ Bitcoin Improvement Proposals. Contribute to bitcoin/bips development by creating an account on GitHub, Bitcoin, 2019-02-24 [2019-02-25], (原始内容存档于2021-03-15) 

取自“https://zh.wikipedia.org/w/index.php?title=比特幣分叉列表&oldid=75887567”

分类:​密码货币计算机相关列表比特币交易平台隐藏分类:​自2019年2月粗劣翻译

本页面最后修订于2023年2月8日 (星期三) 13:48。

本站的全部文字在知识共享 署名-相同方式共享 4.0协议之条款下提供,附加条款亦可能应用。(请参阅使用条款)

Wikipedia®和维基百科标志是维基媒体基金会的注册商标;维基™是维基媒体基金会的商标。

维基媒体基金会是按美国国内税收法501(c)(3)登记的非营利慈善机构。

隐私政策

关于维基百科

免责声明

行为准则

开发者

统计

Cookie声明

手机版视图

开关有限宽度模式

区块链中的硬分叉和软分叉是什么?又是如何形成的呢? - 知乎

区块链中的硬分叉和软分叉是什么?又是如何形成的呢? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册比特币 (Bitcoin)区块链(Blockchain)区块链中的硬分叉和软分叉是什么?又是如何形成的呢?关注者8被浏览2,674关注问题​写回答​邀请回答​好问题​添加评论​分享​5 个回答默认排序加密队长JW​ 关注谢邀 @ETM漫谈区块链 。简单来讲,分叉就是通过改变现有数字货币的代码让某种货币一分为二,从一条链变成两条链。怎么理解呢,举个例子。包括比特币在内每个数字货币都通过代码写好了一套运行机制,比如如何交换如何记账,哪些有效哪些无效,这个机制被全网的使用者认可,这就好像全网所有的人都一起使用并且共同维护着同一个windows xp的系统。然后突然有一天,有一群使用者说比特币交易速度太慢了,手续费也高,功能也少,我们把他升级到win7吧,这样就能又快又好功能又多了,所以在某个时间点上,这群人改变了自己电脑里的xp系统代码,把他们一起升级到了win7,但是由于并不是所有人都觉得win7更好,仍会有一群人觉得老系统更好,虽然慢但是稳定,功能少但是有价值,所以他们拒绝一起升级。这个时候神奇的事情发生了,选择升级的这部分人处理交易的速度确实变快了,功能变多了,但是两种系统之间由于代码的差异过大产生了不兼容,即win7发出的交易指令只有win7看得懂,xp发出的交易指令只有xp能接收,同一笔钱,在某个时间点上,在两种不同的系统里,被当成了不同的东西分别处理,这个时候,我们称比特币或是某种其他数字货币发生了硬分叉,win7会继续在新认可的交易上延伸区块链,而xp会在原有的链上继续延伸,一条区块链变成了两条,这样一种新的货币就诞生了。除了硬分叉,还有一种软分叉,简单说的话就是给老系统xp打补丁,在不升级系统的情况下增加一些有限的功能优化老系统,由于系统没有升级,老系统之间还是可以相互兼容,且打过补丁的xp系统能够支持一些更高级的功能,虽然没打过补丁的xp不支持,但是那些涉及高级功能的交易就由打过补丁的xp处理就可以,这样就避免了货币的分叉,这通常是升级原有货币功能的一种选择。上面的比喻是为了帮助大家更好的理解分叉的本质,实际的情况并不一定是升级,代码的改动也很难在短期判断究竟孰优孰劣,就好像比特币和比特现金关于谁才是真正的比特币的争论。因为任何货币的分叉,都代表了对原有共识群体的重创,社群的分裂和权益人意见的分歧,长远来看,对任何原有货币的发展和共识都是不利的。以上。编辑于 2019-01-01 14:36​赞同 1​​1 条评论​分享​收藏​喜欢收起​王动捡漏真正比特币BSV。​ 关注软分叉和硬分叉都是形成于区块链协议的升级过程中,两者都能够继承升级前的历史数据,且新协议都不再接受运行旧协议节点的矿工新打包的区块,而区别在于新节点打包的区块是否能够被旧协议节点所接受。软分叉升级后打包的区块会由于旧协议节点察觉不到变化而会接受,硬分叉升级旧协议节点能发现协议的变化所以会拒绝。(不管软分叉还是硬分叉,事实上协议已经变化了,只是旧协议节点能否察觉的问题)软分叉的优点是,假如升级新协议的算力总和达到51%,则不会发生分叉,51%的算力会强迫49%的算力接受升级方案,当然这并不违反POW原则。而缺点也很明显,为使旧协议节点感知不到新协议的变化,协议的升级内容会很受限,甚至仅仅改变区块大小这个参数都无法做到,所以Core开发组搞出了隔离见证这样的怪胎。硬分叉的优势是,升级起来没有技术债务,无需束手束脚,可以用最简洁的方式对软件进行升级。而缺点同样明显,哪怕新协议的算力总和达到99%,未升级的节点也是可以正常按照旧协议出块的,这就形成了两条链,除非两条链中的一条上的矿工停止挖掘或转而去挖掘另一条。总和来看,如若矿工能够对新的协议达成共识,则无论软分叉还是硬分叉,其实都不会产生分叉;若大于51%而不足100%算力认同升级,则软分叉不会分叉,而硬分叉会分叉;若同意升级的算力不足51%,则两者都会产生分叉。两种策略都可以升级协议,只是软分叉会累积技术债务且束手束脚,而硬分叉则直接了当的多。编辑于 2018-12-26 10:01​赞同 3​​添加评论​分享​收藏​喜欢

硬分叉_百度百科

百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10硬分叉播报讨论上传视频区块链术语本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。代码出现一个硬分叉,会改变挖矿算法的难度级别。 [1]中文名硬分叉外文名permanent divergence适用范围区块链术语目录1定义▪官方定义▪抽象定义2比特币区块链上执行硬分叉的具体案例3正在策划的区块扩容硬分叉4软分叉5对比软分叉和硬分叉的优缺点定义播报编辑官方定义硬分叉和软分叉在bitcoin.org上都有定义,但定义其实很模糊,原文中硬分叉被定义成这样:A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can’t validate blocks created by upgraded nodes that follow newer consensus rules。区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。抽象定义硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。比特币区块链上执行硬分叉的具体案例播报编辑在2013年3月12日,当时是bitcoin qt 0.8.0 版本软件发布了,0.8版本采用了一种新的数据库level db。有的矿工节点升级了bitcoin qt 0.8版本,有的矿工还继续使用bitcoin qt 0.7版本的软件。双方各自生产区块,但bitcoin qt 0.8采用的新数据库生产出的区块被被qt 0.7版本节点拒绝掉。具体的原因是旧的数据库对超过800Kb的区块有时不接受。因此在区块高度 225430 比特币区块链分成了两条链,结果导致了比特币区块链产生两条链,一条是包含大于800kb区块的链,另一条是拒绝承认这些包含更大区块的链,这就发生了硬分叉。当时是采用bitcoin qt 0.8版本的矿工放弃了他们挖的链,退回到bitcoin qt 0.7版本上继续挖矿。这次硬分叉是一次意外,是bitcoin qt 0.8版本的软件出了bug,导致采用旧软件的节点拒绝验证新软件节点生产的区块。但硬分叉的成因就是采用旧软件版本的节点拒绝验证采用新软件版本的节点生产的区块,然后双方各自挖矿。在2015年7月4日比特币区块链在区块高度363731发生一次硬分叉。当时是Bitcoin Core 开发者往新版本的Bitcoin Core 0.10.0添加了BIP 66。这本来是一起软分叉的修改,在比特币网络上主要矿池都使用了0.10版本的软件时,但有一个矿池BTC Nuggets没有升级,导致BTC Nuggets挖出来的两个区块其他矿工拒绝掉,然后双方就各自挖矿延续自己认为是正确的区块链,由此产生硬分叉,分成了两条链。随后bitcoin.org发布公告,呼吁矿工升级到bitcoin core 0.10.2版本来消灭分叉。这也是一次意外,硬分叉的成因是采用新软件版本的节点拒绝验证采用旧软件版本的节点生产的区块,然后双方各自挖矿。这两次硬分叉都是意外,但硬分叉的成因前一个是因为对新产生的区块格式在不同节点上产生分歧,后一个是因为对交易格式在不同节点上产生分歧。正在策划的区块扩容硬分叉播报编辑比特币社区正在策划一次硬分叉,来由是区块被塞满了交易,为了能在十分钟一个区块里容纳更多的交易,就需要对区块的数据结构做修改。区块的数据结构如图1。图1 区块扩容需要修改的字段比特币网络主要的完整节点软件是bitcoin core 0.12,这个软件规定“区块大小”这个字段最大值为1M。这就导致最后一个字段“交易”能够容纳的比特币交易数据有限,一笔交易至少是250字节,1Mb只能装下4000多笔交易,平均每秒最多只能处理7笔交易。而因为实际的交易往往会达到500字节的大小,实际上平均每秒往往只能容纳3笔交易。所以有人就提出将这个字段的最大值调高,比如Bitcoin Classic这个软件就将这个字段的最大值调到2M,并且以后有计划取前2016个区块大小的中位数再乘一个约定好的倍数来决定下一批区块的大小上限。而Bitcoin XT则将这个值修改为20M,并且每两年翻一倍,直到上限值达到8.3G。而Bitcoin Unlimited则直接将这个字段修改为由矿池决定自己打包多大。问题是,使用这些修改了这个字段的软件的节点生产出的区块就会和没有升级的节点不兼容,没升级的会拒绝验证这些新节点生产的区块。这就会导致硬分叉。由此可见,所谓的硬分叉需要修改的“共识”就是指的是修改区块数据结构格式,或修改交易数据结构格式。软分叉播报编辑在bitcoin.org上,软分叉的定义是这样的:A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about.当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。对比软分叉和硬分叉的优缺点播报编辑软分叉可以保证不想升级的人不去升级,这种不想升级的需求在现实生活中其实是很常见的。硬分叉必须要求所有旧节点进行升级,否则旧节点就无法识别新节点生产的交易和区块,导致区块链分成两条链。软分叉的升级空间有限,因为比特币交易数据结构和区块数据结构所有字段都已经详细定义好了,你想保证向前兼容,就不可能增加新的字段,否则旧节点就会拒绝你。所以软分叉的升级空间补束缚在对现有字段的重新定义。就包括软分叉就无法重新定义区块数据结构里的“区块大小”这个字段,也就是软分叉永远实现不了对1M区块的突破。而且这种极端复杂的兼容性稍微出点错,就会新旧节点不兼容,即导致硬分叉。这个事情已经发生过一次了。硬分叉的升级空间则要大很多,因为硬分叉只要考虑能够接受以前旧节点生产的交易和区块就可以了,硬分叉不需要考虑旧节点是否会接受新节点生产的交易和区块。那硬分叉就可以对交易数据结构和区块数据结构更大胆的修改。最后,比特币交易数据结构和区块数据结构都有一个字段叫“版本号”,意义是“明确这笔交易或区块参照的规则”。这意味着中本聪是希望使用硬分叉来修改这些规则,就是说如果要修改规则,那就重新定义版本号。但软分叉在不修改“版本号”的前提下,却修改了规则。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000