导航:首页 > 比特币区 > 比特币投票地址

比特币投票地址

发布时间:2024-07-31 11:15:43

『壹』 闪电比特币是什么

闪电比特币(Lightning Bitcoin,LBTC)是一种点对点的电子现金系统,是基于比特币的创新实验,它使用基于UTXO的DPoS共识机制,将投票权和记帐权分开,使代币不再被任一方绑架,是一种高速度、低手续费、高扩展性的全球价值互联网传输协议。目前,LBTC已经上线包括ZB.com 、Biki.com、MXC.com等数十家知名交易所。

LBTC基础资料:
分叉时间:北京时间2017年12月18日
分叉块高:499999
共识机制:基于UTXO的DPoS
出块间隔:3秒,可动态调整
设置不可逆转块
块体积:2MB,可动态调整
不支持隔离验证
添加重放保护
支持CPU挖矿
总量:7,465,926 LBTC

LBTC的优势
去中心化—— 共识机制采用DPoS,将投票权和记帐权分开,使代币不再被任一方绑架,用户不用专业矿机也能够参与,达到真正的去中心化
快如闪电—— 区块间隔3秒,区块大小2MB,彻底解决比特币被人广为诟病的网络拥堵问题,增大实用价值
分配公平—— 原来持有比特币的都能一比一分到LBTC,剩下的以挖矿方式收敛性释出,出块奖励与比特币一样四年减半一次
费用低廉—— LBTC挖矿的进入门槛低,无需专业矿机;交易速度也快,所以能够直接影响交易成本,使手续费保持合理低廉
社区自治—— 链上治理系统将所有用户整合进决策过程中,任何人都可以成为生态的一部份
可扩展性—— DPoS机制以减少节点数量为LBTC带来更高的可扩展性
安全可靠—— 整体架构建立在比特币运行了9年的基础之上

『贰』 详解比特币挖矿原理

可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。

比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。

至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。

通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。

在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。

在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。

每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:

交易的语法和数据结构必须正确。

输入与输出列表都不能为空。

交易的字节大小是小于MAX_BLOCK_SIZE的。

每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。

没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。

nLockTime是小于或等于INT_MAX的。

交易的字节大小是大于或等于100的。

交易中的签名数量应小于签名操作数量上限。

解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。

池中或位于主分支区块中的一个匹配交易必须是存在的。

对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。

对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。

对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。

对于每一个输入,引用的输出是必须存在的,并且没有被花费。

使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。

如果输入值的总和小于输出值的总和,交易将被中止。

如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。

每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。

以下挖矿节点取名为 A挖矿节点

挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。

验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。

A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。

一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:

High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000

区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。

然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。

如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。

在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。

UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。

块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。

区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。

A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。

用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。

需要以下参数

• block的版本 version

• 上一个block的hash值: prev_hash

• 需要写入的交易记录的hash树的值: merkle_root

• 更新时间: ntime

• 当前难度: nbits

挖矿的过程就是找到x使得

SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET

上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。

简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。

如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?

比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。

那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。

为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。

举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。

比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。

每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。

比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。

节点维护三种区块:

· 第一种是连接到主链上的,

· 第二种是从主链上产生分支的(备用链),

· 第三种是在已知链中没有找到已知父区块的。

有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。

如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。

选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。

因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。

当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。

分叉之前

分叉开始

我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。

假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。

比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。

分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。

所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。

从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。

比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

『叁』 比特币分叉往事补遗

互联网是有记忆的。

最近比特币屡创新高,华尔街机构纷纷入场囤币,连马斯克都忍不住公开喊单,得到了主流媒体和金融机构的认可,大家都对比特币系统的安全性没有任何质疑。


不过,很多人可能想象不到,就在三年前,比特币还面临过诞生以来最大的一次危机——差点被 BCH 集团夺权篡位,甚至连“比特币”这个名字都差点不保。


比特币分叉都是上一个牛市的陈年旧事了,本来不想多说,但是最近又有一些无聊的人,抹黑中伤币信,我们不说话,让一些不明真相的朋友还真以为币信十恶不赦,成了反派的代名词,还是简单说一说当年的币信为保护比特币网络做的一些事情吧。


这些事情都已经过去好多年,这些年来一直没对外提,也不求什么名利,只求大家知晓真相,去伪存真,同时也在茶余饭后,多一些谈资。


BCH 分叉党为什么仇视币信?


很多人觉得当年“比特币分叉”这件事并没什么大不了的,毕竟这种现象现在在加密数字货币社区很常见,可能一个程序员用不了几天就能成功将一个币种分叉。


但是在当年,分叉是一件非常严重的事情,牵扯到方方面面的人和事,牵扯到诸多信仰和利益,简直和“佛道之争”不遑多让,简直已经达到你死我活,兵戎相见的地步。


这并不夸张说辞,而是事实。


现实中很多关系非常好的朋友,合作伙伴,因为比特币分叉这件事而反目成仇,老死不相往来。


很多人无法理解,为什么 BCH 分叉集团对比特币支持者、对币信恨之入骨?天天怼天怼地各种造谣?而且有时候为了让自己的谣言看上去逻辑完备,往往不惜花大量时间去搜集各种资料,然后移花接木,张冠李戴,让众多不明群众看了觉得“资料详实”,大呼过瘾。


原因就在于,币信断了 BCH 分叉集团的财路。


正所谓“断人财路,如杀人父母”,币信在瓦解 BCH 集团分叉s行动的过程中,做了许多工作,甚至在关键时期守护了比特币两周时间,成功瓦解了BCH(之前叫 BCC ) 篡权夺位的阴谋。


不得不说,BCH 集团真的是知行合一,他们也有信仰,他们真的相信 BCH 肯定会成功,能够打败比特币,所以他们把手头的比特币基本上都换成了 BCH ,要是被他们篡权成功,其回报之丰厚绝对难以想象。


结果这一切都被币信在关键时刻给毁了,你说他们恨不恨?


币信和比特大陆的恩怨


有关比特币分叉的文章有很多,我这里就不再多说,感兴趣的朋友看一下虎扑的文章《比特币分叉往事》或者搜索其他文章了解。


这里主要说说在分叉大战整个过程中,币信扮演了一个什么样的角色,因为这个事情遭受了怎样的损失。


可能很多朋友在 2018 年的时候,看到过比特大陆因专利的事情状告币信矿业公司的新闻,其中的被告还有深圳比特微(神马矿机)和新特能源股份有限公司(矿场方)。


当时很多人看到这个新闻其实挺震惊的,因为币信星空和比特大陆吴忌寒两人的关系其实一向都非常好,私底下经常一起约饭。


他们怎么突然就对簿公堂了?到底发生了什么事情?


在那个官司中,涉及到的专利叫做串联供电技术。


说起串联供电技术,就不得不提到一个技术宅男——瓦西里。


瓦西里早年是俄罗斯的 Bitfury 公司(2013 年就已经开始做比特币矿机公司)的工程师。从 Bitfury 出来之后,2014 年,瓦西里被一个名叫 Yuri 的俄罗斯人忽悠到了中国,因为 Yuri 跟他说他联系到了中国的烤猫,能够拿到他们的芯片做矿机,可以发大财。


那个时候,烤猫公司刚刚宣布,他们不再自己做矿机,而是直接转型成为芯片提供商,欢迎大家采购芯片。

Yuri 是个典型的商人,由于当时烤猫最新芯片矿机方案不成熟,在尝试几次做矿机方案不成功之后,他转而向烤猫兜售他的“串联供电”技术。


这项技术早就存在,但是瓦西里受其启发,第一次成果将其用在矿机主板上。


有了这项技术,矿机可以不用昂贵的电源控制芯片,直接对挖矿芯片供电,这样不但可以节省大量成本,还可以不受电源芯片货源的制约。(当时比特大陆将市场上的电源芯片一扫而空,不但没货还抬升了价格)


这项技术说起来简单,实现也简单,但研发却非常困难,因为没有电源芯片控制,电流无法稳定输出,很容易造成电流均衡而烧毁芯片。


烤猫对这项技术非常感兴趣,于是和 Yuri 谈了很多次,但是 Yuri 的条件太苛刻,后来烤猫得知这项技术的实际拥有者并不是 Yuri 而是瓦西里,于是直接找到瓦西里,购买了他的技术,并且还将瓦西里招到了公司当硬件开发工程师。


后来,杨作兴从 RockMiner 离开,加入了烤猫矿机( ASICMiner )研发团队,和瓦西里成为同事,一起研发矿机和芯片。


2015 年,烤猫突然人间蒸发,烤猫公司也原地解散,所有技术封存。后来道杨作兴在比特大陆兼职了一段时间,顺便将串联电源技术带到了比特大陆。


到了 2016 年 ,杨作兴有了创业的想法,首先是找吴忌寒聊,得到了吴忌寒的单方面的支持,然后吴让他去找詹聊一下,却遭到了詹克团的当面否决,甚至詹还当面将杨作兴的商业计划书直接用碎纸机碎成碎片。


于是,杨作兴创办了神马矿机,从此和比特大陆打擂台。


自然,神马矿机也顺理成章地用上了串联电源技术。


值得说一下的是,杨作兴创业之前曾多次找到星空聊创业的事情,在詹之后,杨再次找到星空,确认杨下决心要做矿机芯片后,星空联合其他几位朋友一起投了,成为了神马矿机的大股东之一。


星空投资神马矿机的逻辑很简单——由于烤猫失踪,烤猫矿机彻底退出 历史 舞台,当时比特大陆的蚂蚁矿机一家独大,基本处于垄断地位,这对比特币网络并不好,很容易出大问题。(事实证明这个判断是非常正确的)


当时一起投资神马矿机的,还有鱼池的神鱼和王纯,大家的想法都非常一致,不能让比特大陆再这样搞下去。


要知道,为了能够成功分叉比特币,比特大陆很早就开始布局,他们在那段时间,将大量矿机优先卖给支持分叉的人,支持比特币的人反而很难拿到货。


并且,大区块的支持者甚至只需要支付 10% 的货款,这相当于是给他们做了一个五倍杠杆,只需要支付一份算力的钱,就能获得五份算力。


很多人因此而发家致富,因此也对比特大陆更加忠心耿耿,在支持分叉的岐途上一路走到黑。


幸运地是,神马矿机研发顺利,并且迅速成长成为能够和比特大陆一较高下的矿机厂商。


币信矿业当时是比特大陆的超级客户,为了支持神马矿机的发展,也采购了大量的神马矿机。


在分叉大战期间,当 BCH 集团意识到是币信在暗中保护比特币网络的时候,他们采用了围魏救赵的方式,将神马公司和币信矿业公司,以侵犯专利为由,一起告上了法庭。


虽然最终这个官司比特大陆输了,但是他们却达到了预期目的——矿场场地方为了避免风险,要求币信的矿机限时从矿场中搬离,币信算力因此暂时消失,这场较量才告一段落。


经此一战,币信损失惨重。


一方面,币信用自有算力去阻止 BCH 算力暴击(后文有解释),每天就有将近 100 个比特币的损失(持续了一个难度周期,即 14 日)。


另外一方面,因为矿场被迫搬离,这其中又耽误了很长时间无法挖矿,中间也有不小的损耗,币信也遭受了巨大亏损。


不过,这个时候,BCH 集团针对比特币精心策划地采用的紧急难度调整算法(EDA)已经失去了最佳作用时间,他们原本想用这个方式来偷袭比特币网络的阴谋也彻底破产。


如果当时没有币信算力的狙击,BCH 真的有可能已经成功篡位,不但算力超过比特币,可能连比特币这个名字都被其抢走,比特币可能成长到今天的规模和地位。


因为这件事情,星空和吴忌寒这两个原来的好兄弟,也因此反目成仇,断了往来。币信从此也成为了 BCH 利益相关者的肉中刺,眼中钉,欲处之而后快。


币信为什么不支持 BCH ?


众所周知,其实无论是币信也好,还是鱼池也好,当年和比特大陆的关系其实都不错,包括香港共识和纽约共识大会,大家都坐在一起谈,一起讨论。


目的当然是共赢,希望比特币发展得更好。


但是,这一切在 2017 年之后事情开始有了变化,吴忌寒逐渐有了要分叉的想法,并且他在 2017 年 8 月将这个想法付诸实践。


在这个过程中,BCH 阵营的做法一直相当具有攻击性,一副我就要干死你的架势。其实分叉就分叉吧,各自好好做自己的事情就好,但是 BCH 从一开始就打算好了,要踩比特币上位。


其实说来很讽刺,原来的比特币布道者,却摇身一变成为了比特币最坚定的反对力量,攻讦比特币也最卖力。

他们说“BCH 才是真正的比特币”,号召大家把比特币卖了买 BCH。不知道多少人信了他们的谎言,将自己幸苦囤的比特币换成了 BCH,因此而损失惨重,最终不得不彻底离开了这个行业。请问,这种行为和诈骗有什么区别?


他们说比特币区块小,无法处理太多交易,链上非常堵。结果大家发现比特币没他们说的那么堵,于是他们就发起“粉尘攻击”,短时间内发送大量的小额垃圾交易,造成比特币网络拥堵的假象。然后他们鼓吹大区块,造谣说比特币最终会因拥堵而消亡。(事实上,比特币至今还活得很好,并且越来越健壮。)


记得当年杀毒软件是如何作恶的吗?为了卖出他们的软件,有些无良公司会自己炮制病毒,等用户中毒之后,再去兜售产品。他们的行为简直如出一辙。


当时澳本聪站出来支持分叉,于是他们与其一拍即合,请来了澳本聪为 BCH 站台,写文章,开发布会,一顿骚操作猛如虎,风光得不可一世。


当时他们万万没想到,出来混总是要还的,澳本聪这个诈骗犯可不是易与之辈。仅仅是三个月之后,澳本聪就反手给了 BCH 致命 一刀,掀起了差点将 BCH 彻底毁灭的分叉大战。


没错,BCH 分叉比特币,澳本聪又来分叉 BCH,另外分出个 BSV,真是一出好戏!


币信一直都是比特币的信徒,或许 BCH 的初衷是好的,但是在后续的推进过程中,币信自然非常不认可他们所采取的各种作恶手段。


也许这些手段在政治斗争中非常常见,摸黑陷害竞争对手都是常用伎俩,但这是比特币社区,寄托了无数人的期望和信仰,最初的信仰者就是一小撮理想主义者,变成这个样子,肯定是大家所不愿看到的。


并且,BCH 背后主要推手是比特大陆,无论是开发人员,还是社区中的意见领袖,大部分都是比特大陆资助的,BCH 俨然就是一个公司币,过于中心化,想要取比特币而代之,显然是不合适的。


并不是说公司币不行,例如 BNB 这样的平台币就做得非常好,但是如果这个公司币想要干翻比特币自己上位,那就有点定位不清了。


总之,BCH 集团的很多行为都透露出他们的极其不靠谱,要是将比特币的未来寄希望在这样一群人身上,那比特币迟早玩完,这是所有比特币社区的人不愿看到的。


于是,在关键时刻,币信决定出手干预。


币信是如何保护比特币网络的?


不得不承认,BCH 为了赢得这场分叉之战,的确做了大量的工作和准备,在很久之前就开始聘请社区内的一些意见领袖开始造势,不停地写文章,有些文章写得还挺有深度,看上去有理有据,逻辑完备。(后来澳本聪也采用了同样的套路,忽悠了一大批死忠粉)


除了舆论战,在技术和未来愿景方面,BCH 集团也画了很多大饼,看上去让人神往,由于大区块的特性,的确有很多比特币无法实现的功能,这让很多人对其充满了期待。


如果这些还只是常规操作,那么有一点不得不让人惊艳,那就是—— BCH 的紧急难度调整机制(EDA)。

因为 BCH 使用和比特币同样的算法,按正常的思路,BCH 要想分叉成功,并且持续保持出块,就必须拥有庞大的算力支撑,因为分叉的时候,比特币网络的难度已经非常大了,小算力根本爆不出块。


所以,他们想出了一个紧急难度调整机制:如果当前区块的前6个区块出块时间大于12小时,则难度自动下调20%,如果当前区块的 MTP 时间和从当前块往前数第6个块的 MTP 时间相差大于12个小时,就应急降低20%难度。


简单来说,就是如果一定时间内不出块,就会自动下调20%难度,再不出块就继续下调 20%,直到出块为止。这样就算只有很小的算力,也能保证能够出块。


这个机制乍一看像是防守机制,纯粹是为了自保,为了自己能够生存下去而已,但是各位别被其表象所迷惑了,这实际上是一个极具有攻击性的机制,因为难度只有下调,没有上调。


设计这套机制的人,深谙人性之道,他们懂得,矿工其实是趋利的,只要哪里有钱赚,就会用脚投票,直接把算力切到哪里。


当 BCH 的难度降低了,拥有同样的算力,那矿工就能够挖到更多的币,只要所得到的利润大于比特币,那么矿工的算力就会被吸引过来。


这样,就算 BCH 的价格比比特币低,只要难度够低,矿工就能赚更多钱,算力就会过来。


而 BCH 的算力和比特币的算力是互斥的,挖 BCH 就不能挖 BTC,是一种此消彼长的关系,一旦比特币算力都迁移到 BCH 网络,再配合拉涨币价,在当时的环境下,还真有可能会被 BCH 篡位成功。


要知道,当时很多中立方都表示过,哪个网络的算力大就支持哪个币是真正的比特币。


不得不承认,紧急难度调整机制的设计的确非常天才,所以,这种机制也被人称为针对比特币的“算力暴击”。


BCH 集团酝酿多时,花费了大量的人力物力筹备分叉,他们准备在分叉之后,立刻对比特币展开“算力暴击”,即分叉完成之后,就把自己的算力从 BCH 网络撤出,让难度大幅下降,同时大幅度拉涨币价,这样就可以吸引大部分的矿工算力过来,比特币网络的算力就会暴降,让比特币网络因拥堵不出块而无法运转,最终一举奠定胜局。


这个计划近乎完美。


这简直就是针对比特币的阳谋,大家都知道怎么回事,但是就是没办法去破解,因为当时 BCH 集团控制了一半以上的比特币算力,只要吸引 10%左右的算力过来,比特币网络就可能运转不了了。


当时除了 BCH 集团控制的算力和矿池,就只有三个矿池占比比较大,分别是鱼池鱼池、国池(比特币中国矿池)、和币信矿池。


矿池就算想要支持比特币,那也得矿工答应,矿池是无法控制用户的算力的,不然矿工肯定会用脚投票直接走人。


所以,BCH 集团当时觉得胜券在握了,估计他们连庆祝酒会都已经准备好了。


但是,让他们万万没有想到的是,等分叉完毕,BCH 出了几个块,当他们将自有算力从 BCH 网络撤出,静静等待不出块而难度自动下降之时,意外却出现了——有神秘算力突然接入了 BCH 网络,爆块继续。


由于有持续爆块,BCH 的紧急难度调整机制就无法生效,因为这样难度一直降不下来(出块间隔时间小于 12 小时)。


并且,为了防止神秘算力针对 BCH 网络发动 51%攻击,他们又不得不很尴尬地重新将自己的算力切回来,持续挖着。


这些神秘算力隐藏了 Coinbase 和地址,一时间所有人都搞不清其来路。


突然出现的神秘算力打乱了“算力暴击计划”的节奏,本来等难度降低后,他们准备了大量的资金要配合拉盘,一时间拉盘计划也无法继续推进,生生卡住了。


这种情形,就仿佛一个刺客,针对刺杀目标发动了致命一击,然后突然出现了一股神秘力量,将这致命一击给挡住了,并且持续守护着目标,导致刺客后续的一系列攻击都无法实施。


BCH集团非常费解:这股神秘力量到底从哪里来的?


前面说过,除了 BCH 集团自己控制的算力,另外拥有比较大的算力的,就只剩下鱼池、国池和币信矿池这三方。


鱼池和国池都是散户的算力,他们根本无法动用,只有币信矿池基本都是自己的算力,也就是说只有币信有这个条件做这件事。


答案呼之欲出:币信!


是的,这股神秘算力就是币信的自有算力。


币信在 BCH 集团准备针对比特币发动第一次也是最强的一次算力暴击的时候,出手了。


其他人没办法做这件事情,只有币信有这个条件,只有币信能做,那就由币信来做!


为了比特币的未来,舍我其谁?


要知道,当时难度没降下来,矿工挖 BCH 肯定是不划算的,币信矿业顶着每天几十甚至上百比特币的巨额亏损,硬生生守护了比特币一个难度周期!(即两周时间)


BCH 集团也很快反应过来,知道这肯定是币信干的好事,但是没办法,在技术上他们是无法拒绝币信的算力的,只能干瞪眼。



通过这个方式,他们终于将币信算力赶出了 BCH 网络,这才得以对比特币实施算力暴击。


币信矿场刚停机,他们就迫不及待开始拉盘了,BCH 开始大涨,但那个时候已经他们无力回天了,因为最佳狙击时机已过,他们已经失去了“天时”,效果大打折扣。


尽管后面 BCH 针对比特币多次算力暴击,导致比特币网络算力经常不稳定,但胜负已定,已经无关紧要,不影响大局。


经此一役,币信损失惨重,不但损失了十几天的比特币挖矿收益,矿场也不得不搬离,损失的比特币在现在看来,简直是个天文数字。


但是,这一切都是值得的,币信为守护了比特币贡献了自己的力量,帮比特币挡住了致命一击,做了比特币信仰者该做的事情。


虽然币信因为这件事几乎将以前所有挖矿赚到的利润都一次性亏了出去,但长期来看,币信肯是受益的。


后记


这些往事封存已久,很多人其实并不清楚其中的细节,也不知道币信当年做的事情,这其实也没什么,币信一直都活得很好。


但是这么多年来,币信一直被一些别有用心者抹黑造谣,实在心累,想想还是写点文字,将事实公布,免得无辜吃瓜群众被其误导。


分叉风波已经过去多年,比特币依然还是那个比特币,比特币社区也比以前更加健壮,这是我们这些比特币信仰者最大的幸福。


Long Bitcoin, Short the world!

#欧易OKEx# #比特币[超话]# #数字货币#

『肆』 合约地址是什么意思

合约地址是哗仔指区块链系统中的一种特殊地址,它是用于标识智能合约的地址。智能合约是一种特殊的计算机程序,它可纳迅以在特定的条件下执行特定的操作,并且可以在区块链系统中自动执行。

智能合约通常使用技术,如比特币的脚本或以太坊的智能合约语言来编写,它们可以被编译成机器可读的字节码,并存储在区块链系统中。每个智能合约都有一个的地址,称为合约地址,用于标识智能合约。

合约地址有助于确保每个智能合约的性,并且可以用于检索和访问智能合约。合约地址也可以用于接收和发送比特币,以太坊或其他加密货币,以及发送和接收其他数据。

合约地址通常是一个长度为42位的16进制字符串,它可以用来标识智能合约,并用于发送和接收加密货币或其他数据。合约地乱茄汪址也可以用于验证智能合约的完整性,并且可以用于跟踪智能合约的交易历史。

合约地址可以用于构建复杂的智能合约,它们可以用于实现各种功能,如自动执行交易、自动执行投票、自动执行投资等。智能合约可以用于构建分布式应用程序,并可以用于实现自动化和去中心化的业务流程。

总之,合约地址是一种特殊的地址,它可以用于标识智能合约,并用于发送和接收加密货币或其他数据。合约地址可以用于构建复杂的智能合约,它们可以用于实现各种功能,如自动执行交易、自动执行投票、自动执行投资等。此外,合约地址还可以用于验证智能合约的完整性,并且可以用于跟踪智能合约的交易历史。

『伍』 比特币之挖矿与共识(二)

比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它 转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。

独立校验还确保了诚实 的矿工生成的区块可以被纳入到区块链中,从而获得奖励。行为不诚实的矿工所产生的区块将被拒绝,这不但使他们失 去了奖励,而且也浪费了本来可以去寻找工作量证明解的机会,因而导致其电费亏损。

当一个节点接收到一个新的区块,它将对照一个长长的标准清单对该区块进行验证,若没有通过验证,这个区块将被拒 绝。这些标准可以在比特币核心客户端的CheckBlock函数和CheckBlockHead函数中获得

它包括:

为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?

这 是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒 绝,因此,该交易就不会成为总账的一部分。矿工们必须构建一个完美的区块,基于所有节点共享的规则,并且根据正 确工作量证明的解决方案进行挖矿,他们要花费大量的电力挖矿才能做到这一点。如果他们作弊,所有的电力和努力都 会浪费。这就是为什么独立校验是去中心化共识的重要组成部分。

比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块, 它将尝试将新的区块连接到到现存的区块链,将它们组装起来。

节点维护三种区块:第一种是连接到主链上的,第二种是从主链上产生分支的(备用链),最后一种是在已知链中没有 找到已知父区块的。在验证过程中,一旦发现有不符合标准的地方,验证就会失败,这样区块会被节点拒绝,所以也不 会加入到任何一条链中。

任何时候,主链都是累计了最多难度的区块链。在一般情况下,主链也是包含最多区块的那个链,除非有两个等长的链 并且其中一个有更多的工作量证明。主链也会有一些分支,这些分支中的区块与主链上的区块互为“兄弟”区块。这些区 块是有效的,但不是主链的一部分。 保留这些分支的目的是如果在未来的某个时刻它们中的一个延长了并在难度值上超 过了主链,那么后续的区块就会引用它们。

如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被 保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从 孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有 可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。

选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链, 新块本身就代表它们的投票。

因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链全貌。

解决的办法是,每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就 是最长的或最大累计工作的链(greatest cumulative work chain)。节点通过累加链上的每个区块的工作量,得到建立这个链所要付出的工作量证明的总量。只要所有的节点选择最长累计工作的区块链,整个比特币网络最终会收敛到一致的状态。分叉即在不同区块链间发生的临时差异,当更多的区块添加到了某个分叉中,这个问题便会迎刃而解。

提示由于全球网络中的传输延迟,本节中描述的区块链分叉自动会发生。

然而,倒三角形的区块不会被丢弃。它被链接到星形链的父区块,并形成备用链。虽然节点X认为自己已经正确选择了获胜链,但是它还会保存“丢失”链,使得“丢失”链如果可能最终“获胜”,它还具有重新打包的所需的信息。

这是一个链的重新共识,因为这些节点被迫修改他们对块链的立场,把自己纳入更长的链。任何从事延伸星形-倒三角形的矿工现在都将停止这项工作,因为他们的候选人是“孤儿”,因为他们的父母“倒三角形”不再是最长的连锁。

“倒三角形”内的交易重新插入到内存池中用来包含在下一个块中,因为它们所在的块不再位于主链中。

整个网络重新回到单一链状态,星形-三角形-菱形,“菱形”成为链中的最后一个块。所有矿工立即开始研究以“菱形”为父区块的候选块,以扩展这条星形-三角形-菱形链。

从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。

然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

2012年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。在比特币的早期,矿工可以通过遍历随机数 (Nonce)获得符合要求的hash来挖出一个块。

难度增长后,矿工经常在尝试了40亿个值后仍然没有出块。然而,这很容 易通过读取块的时间戳并计算经过的时间来解决。因为时间戳是区块头的一部分,它的变化可以让矿工用不同的随机值 再次遍历。当挖矿硬件的速度达到了4GH/秒,这种方法变得越来越困难,因为随机数的取值在一秒内就被用尽了。

当出现ASIC矿机并很快达到了TH/秒的hash速率后,挖矿软件为了找到有效的块, 需要更多的空间来储存nonce值 。可以把时间戳延后一点,但将来如果把它移动得太远,会导致区块变为无效。

区块头需要信息来源的一个新的“变革”。解决方案是使用coinbase交易作为额外的随机值来源,因为coinbase脚本可以储存2-100字节的数据,矿工们开始使用这个空间作为额外随机值的来源,允许他们去探索一个大得多的区块头值范围来找到有效的块。这个coinbase交易包含在merkle树中,这意味着任何coinbase脚本的变化将导致Merkle根的变化。

8个字节的额外随机数,加上4个字节的“标准”随机数,允许矿工每秒尝试2^96(8后面跟28个零)种可能性而无需修改时间戳。如果未来矿工穿过了以上所有的可能性,他们还可以通过修改时间戳来解决。同样,coinbase脚本中也有更多额外的空间可以为将来随机数的扩展做准备。

比特币的共识机制指的是,被矿工(或矿池)试图使用自己的算力实行欺骗或破坏的难度很大,至少理论上是这样。就像我们前面讲的,比特币的共识机制依赖于这样一个前提,那就是绝大多数的矿工,出于自己利益最大化的考虑,都会 通过诚实地挖矿来维持整个比特币系统。然而,当一个或者一群拥有了整个系统中大量算力的矿工出现之后,他们就可以通过攻击比特币的共识机制来达到破坏比特币网络的安全性和可靠性的目的。

值得注意的是,共识攻击只能影响整个区块链未来的共识,或者说,最多能影响不久的过去几个区块的共识(最多影响过去10个块)。而且随着时间的推移,整个比特币块链被篡改的可能性越来越低。

理论上,一个区块链分叉可以变得很长,但实际上,要想实现一个非常长的区块链分叉需要的算力非常非常大,随着整个比特币区块链逐渐增长,过去的区块基本可以认为是无法被分叉篡改的。

同时,共识攻击也不会影响用户的私钥以及加密算法(ECDSA)。

共识攻击也 不能从其他的钱包那里偷到比特币、不签名地支付比特币、重新分配比特币、改变过去的交易或者改变比特币持有纪录。共识攻击能够造成的唯一影响是影响最近的区块(最多10个)并且通过拒绝服务来影响未来区块的生成。

共识攻击的一个典型场景就是“51%攻击”。想象这么一个场景,一群矿工控制了整个比特币网络51%的算力,他们联合起来打算攻击整个比特币系统。由于这群矿工可以生成绝大多数的块,他们就可以通过故意制造块链分叉来实现“双重支 付”或者通过拒绝服务的方式来阻止特定的交易或者攻击特定的钱包地址。

区块链分叉/双重支付攻击指的是攻击者通过 不承认最近的某个交易,并在这个交易之前重构新的块,从而生成新的分叉,继而实现双重支付。有了充足算力的保证,一个攻击者可以一次性篡改最近的6个或者更多的区块,从而使得这些区块包含的本应无法篡改的交易消失。

值得注意的是,双重支付只能在攻击者拥有的钱包所发生的交易上进行,因为只有钱包的拥有者才能生成一个合法的签名用于双重支付交易。攻击者在自己的交易上进行双重支付攻击,如果可以通过使交易无效而实现对于不可逆转的购买行为不予付款, 这种攻击就是有利可图的。

攻击者Mallory在Carol的画廊买了描绘伟大的中本聪的三联组画(The Great Fire),Mallory通过转账价值25万美金的比特币 与Carol进行交易。在等到一个而不是六个交易确认之后,Carol放心地将这幅组画包好,交给了Mallory。这时,Mallory 的一个同伙,一个拥有大量算力的矿池的人Paul,在这笔交易写进区块链的时候,开始了51%攻击。

首先,Paul利用自己矿池的算力重新计算包含这笔交易的块,并且在新块里将原来的交易替换成了另外一笔交易(比如直接转给了Mallory 的另一个钱包而不是Carol的),从而实现了“双重支付”。这笔“双重支付”交易使用了跟原有交易一致的UTXO,但收款人被替换成了Mallory的钱包地址。

然后,Paul利用矿池在伪造的块的基础上,又计算出一个更新的块,这样,包含这 笔“双重支付”交易的块链比原有的块链高出了一个块。到此,高度更高的分叉区块链取代了原有的区块链,“双重支付”交 易取代了原来给Carol的交易,Carol既没有收到价值25万美金的比特币,原本拥有的三幅价值连城的画也被Mallory白白 拿走了。

在整个过程中,Paul矿池里的其他矿工可能自始至终都没有觉察到这笔“双重支付”交易有什么异样,因为挖矿程序都是自动在运行,并且不会时时监控每一个区块中的每一笔交易。

为了避免这类攻击,售卖大宗商品的商家应该在交易得到全网的6个确认之后再交付商品。或者,商家应该使用第三方 的多方签名的账户进行交易,并且也要等到交易账户获得全网多个确认之后再交付商品。一条交易的确认数越多,越难 被攻击者通过51%攻击篡改。

对于大宗商品的交易,即使在付款24小时之后再发货,对买卖双方来说使用比特币支付也 是方便并且有效率的。而24小时之后,这笔交易的全网确认数将达到至少144个(能有效降低被51%攻击的可能性)。

需要注意的是,51%攻击并不是像它的命名里说的那样,攻击者需要至少51%的算力才能发起,实际上,即使其拥有不 到51%的系统算力,依然可以尝试发起这种攻击。之所以命名为51%攻击,只是因为在攻击者的算力达到51%这个阈值 的时候,其发起的攻击尝试几乎肯定会成功。

本质上来看,共识攻击,就像是系统中所有矿工的算力被分成了两组,一 组为诚实算力,一组为攻击者算力,两组人都在争先恐后地计算块链上的新块,只是攻击者算力算出来的是精心构造 的、包含或者剔除了某些交易的块。因此,攻击者拥有的算力越少,在这场决逐中获胜的可能性就越小。

从另一个角度 讲,一个攻击者拥有的算力越多,其故意创造的分叉块链就可能越长,可能被篡改的最近的块或者或者受其控制的未来 的块就会越多。一些安全研究组织利用统计模型得出的结论是,算力达到全网的30%就足以发动51%攻击了。全网算力的急剧增长已经使得比特币系统不再可能被某一个矿工攻击,因为一个矿工已经不可能占据全网哪怕的1%算 力。

待补充

待补充

『陆』 区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法

分叉

前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。

虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。

规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。

比特币网络如何解决分叉带来的双花支付

可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。

这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。

你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。

同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。

如果有一台超级电脑,能够在区块解题中获胜?

即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。

51%攻击是指的什么

根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。

个人博客:https://dreamerjonson.com/

『柒』 比特币如何防止篡改

比特币网络主要会通过以下两种技术保证用户签发的交易和历史上发生的交易不会被攻击者篡改:

『捌』 数字货币转给了骗子,能根据地址找到对方吗

这个应该能查到对方,(现在登录平台,账号……都是实名认证,想钻法律监管空子不太容易)现在网络监管逐步趋于完善,登录昵称都很严格,都是实名认证。

『玖』 eth/btc是什么意思

BTC比特币

比特币是第一个创建的分布式数字资产平台。自2009年发布以来,它已被证明不仅是最受欢迎的,也是最大的市场资本价值。此外,它也是最贵的,每个币在2018年2月17日的价值为10,710美元。比特币引入了第一个专门用于记录所有交易的区块链分布式账本,并摆脱了用户需要中央机构处理或验证交易的功能。

其目标是为用户提供一个平台,让他们可以跨境进行交易,而无需任何中介,也就是我们所说的去中心化。该平台的最大货币(BTC)供应量约为2100万。在这个数字中,约有1650万已被开采,目前正在流通。它在全球无时无刻的被开采着,来确保硬币的流通性。

优点:

1、它的分布式系统为用户提供了很大的自由。

2、高便携性。

3、这是一个安全的网络。

缺点:

1、价格波动较大。

2、用户可能会丢失密钥。

ETH以太坊

以太坊也是一个分布式的平台,由网络程序员Vitalik Buterin于2015年7月创建。以太坊旨在使用户能够创建和部署智能合同。智能合约的一个主要功能是允许创建在Ethereum网络上运行的加密资产或令牌。以太坊代币用于购买云存储空间等各种功能。这些令牌存储在与以太坊区块链兼容的数字钱包中。

以太坊的数字货币Ether充当了执行智能合约的介质。目前,已有约9800万个以太币已被开采和流通,流通供应量每年增加约1800万。以太币被创建为在以太坊网络上运行,它可以用于补偿参与者节点,也可以从一个用户转移到另一个用户。

优点:

1、构建了多平台。

2、能够运行智能合约。

3、安全性极高。

缺点:流通量较多。

(9)比特币投票地址扩展阅读:

产生原理:

从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。

以钞票来比喻的话,比特币就是钞票的冠字号码,某张钞票上的冠字号码,就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。

要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。

完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。

在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。

阅读全文

与比特币投票地址相关的资料

热点内容
比特币如何做合约 浏览:351
比特币相关论文总结 浏览:474
上海排查虚拟货币结果 浏览:853
郎咸平比特币第一次 浏览:617
手机免费虚拟货币 浏览:588
中国以太坊的用户数量 浏览:917
人民币成为数字货币 浏览:831
btc期现套利流程 浏览:782
gt720的算力 浏览:773
洪蜀宁比特币 浏览:66
数字货币与数学货币的区别 浏览:858
windows更新比特币 浏览:282
以太坊钱包更新慢 浏览:928
比特币第一年多少用户 浏览:771
华擎h61probtc装显卡 浏览:205
eosbtc是什么币 浏览:912
btc分叉何时结束 浏览:98
比特币怎么领糖果 浏览:835
虚拟货币用英语怎么说 浏览:597
矿机算力板维修论坛 浏览:263