TaibiaoGuo / blockchain101

区块链是面向未来数字化社会的新一代信息技术。本课程将系统介绍区块链原理和应用,让学生对区块链有整体的了解。课程设计目标是帮助学生树立分布式整体性世界观,教学大纲将涵盖围绕区块链,通过应用密码学、分布式系统基础、博弈论的基础知识,把区块链作为分布式整体世界观最前沿的创新应用进行系统讲解。课程还将引入区块链智能合约的概念,帮助学生理解区块链编程的理念和应用的方法。
Other
102 stars 12 forks source link

什么是区块链的“分叉”?庆052 #381

Open 2725457308 opened 3 years ago

2725457308 commented 3 years ago

issue应该包含一个简单明了的issue标题和一段帮助其他人理解问题的问题详情,阐述你对问题的思考。

举例: issue标题:ABCD(AI、Blockchain、Cloud、BigData)战略中区块链怎样成为ACD的基石? issue详情:ABCD(AI、Blockchain、Cloud、BigData)是数字经济中常常被提及的战略。区块链目前还存在性能受限、普及率低等问题,但其能建立去点对点信任的特性让其在数字经济中具有广泛的应用场景。区块链作为ACD的基石的过程中,会遇到哪些必须要解决的问题,会带来哪些机遇?

547827379 commented 3 years ago

简单说 分叉是指在区块链进行“升级”时,区块链社区成员间发生了意见分歧,从而导致区块链分叉,原有区块链被一分为二,根据分叉后的区块链是否兼容旧区块链,分叉又分为“软分叉”和“硬分叉”。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。分叉导致区块链被一分为二。 畅054

Yilinwang0806 commented 3 years ago

分叉主要可以分为软分叉,用户激活分叉和硬分叉。

所谓软分叉,是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,在去中心化架构中,节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。

因此只有矿工节点需要激活软分叉,因为网络中老的节点即使不升级也可以接受新的区块。

矿工们往往倾向于升级到新版本,否则他们挖出的区块将有可能不被采用新规则的节点所接受。不过事实上很少有矿工会直接选择是否升级新规则,他们往往要根据大多数人的选择再决定是否升级。

要想软分叉成功,则必须要超过一半算力的矿工决定升级。

尽管如此,软分叉比硬分叉动静要小得多,后者需要网络中所有参与者的同意。

用户激活软分叉(UASF)是一种更加复杂的软分叉,一般来说由P2P网络中的经济的大多数(economic majority)提出,它需要大量的行业支持和协作才能实现。

去中心化体系中的节点,以及其余的economic majority(包括网络中的钱包和交易所等)往往是决定激活软分叉的主体。然而,事情也并非都是如此,Bitcoin Improvement Protocol (BIP)148就是一个例外。 琳043

shfiovhdv commented 3 years ago

由于区块链是一个由数据块组成的链式结构,所以当他要升级的时候,实际上会从某一个数据快开始连到两个不同的数据块上,从而分成了两条链,就好像树枝一样,大家共用同一个树干,共享未分开前的数据,但是又有很多条树枝属于多条链,而这个过程就叫做分叉。 寒059

h784241862 commented 3 years ago

区块链的分叉可以说是区块链网络中独有的一种版本升级方式,就像我们生活中使用的互联网软件一样,使用了一段时间以后自然而然就需要进行优化升级,从而去解决一些用户的使用问题,区块链也是这样,只不过它的升级比较特别,升级的时候会有参与的矿工共同来决定,甚至还能产生多种版本,不像互联网一样,一家独裁没有选择的余地。 礼004

18573767928 commented 3 years ago

假设在区块增长到 2 号的时候,此时软件升级了,增加了之前版本中不能识别的一些表结构,会怎么样?

在传统的中心化软件体系中,由于数据存储都是集中的,版本管理也是集中的,如果是重大的升级,完全可以设置为若不更新到最新版就不能进行登录操作,从而确保用户使用的总是正确的版本。

然而区块链先天是去中心的使用方式,一旦有新的软件版本发布后,并每个人都会去升级到新版本,这就可能导致如下图所示的问题:在 2 号区块生成的时候发布了新的版本,且新的版本增加了之前版本不能识别的数据结构,此时部分用户升级了新版,部分用户还没有升级,这些新旧版本的软件仍然在各自不停的挖矿、验证、打包区块,这个就叫分叉 君040