主页 > 苹果手机如何下载imtoken > 比特币按个算的吗 CS269I:计算机科学研究的激励措施

比特币按个算的吗 CS269I:计算机科学研究的激励措施

苹果手机如何下载imtoken 2023-01-17 04:25:48

第 9 讲 比特币挖矿的激励措施 1 比特币

数字货币已经存在了几十年,但仅仅在 12 年前,数字货币才兴起:比特币。比特币以完全去中心化的方式实现了不受信任的各方之间的数字支付,这意味着可以在没有中央机构(没有银行、信用卡公司、政府等)参与的情况下进行支付。在比特币之前,这样的系统能否在大规模交易中发挥作用,仍然是一个未解之谜。

为什么使用比特币?其广泛应用仍有待确定。一个有代表性但不那么乏味的例子是国际汇款。银行之间的资金流动非常昂贵,通常需要几天的缓冲时间才能完成。但是,使用比特币,您可以立即实现相同的目标,从而节省时间和精力。

那么,比特币是如何运作的呢?一个基本的例子是事务,它由以下过程组成:

比特币交易

一个或多个发送者 一个或多个接收者 一些比特币从每个发送者传递给每个接收者 比特币所有权的转移证明,作为指向最近涉及比特币转移的交易的指针返回 a 交易费用,由发送者提供给授权人本次交易的

讨论:

我们不妨考虑一对一的比特币发送和接收,毕竟这是发送者和接收者由他们的公钥指定的更常见的情况。因此,比特币“用户”的概念相当于一个特定的公钥。比特币的市场价格多年来波动很大,最近一个比特币的价格可以达到 50,000 美元。交易费用在下一次讲座之前不会发挥重要作用,所以我们现在可以忽略它们。

如果满足以下条件,则称交易有效:

所有发件人都有密文签名(由发件人的公钥验证),发件人实际上拥有正在传输的比特币(如果你知道比特币是如何工作的,很容易验证))

比特币涨幅怎么算_比特币算力监控_比特币按个算的吗

特别是,交易通过 P2P 网络广播给所有用户,所有用户跟踪所有授权交易。所以大家都知道大家的余额,现在是否有转账的能力。所有授权的交易都称为账本(ledger),是比特币世界围绕的太阳。

很多问题立刻浮现在我们的脑海中。例如,如何授权交易并将其记录在账本上?此前,这项工作是由银行等实体完成的。还有,比特币是怎么炼成的?以前,货币是由政府发行的。令人惊讶的是,比特币同时解决了这两个问题。

2 比特币的区块链协议 2.1 块

交易不是一次一个,而是打包成块并记录在分类帐上。块具有以下组件:

一些交易的前一个块的散列一个随机数(无意义的序列,例如一些随机的字节集)

一个区块通常有 1000-2000 笔交易(一个区块大小的上限为 1MB),第二个组成部分使账本形成一条链,因此称为区块链。

2.2 高层思想

区块是如何添加到区块链中的?谁能做到这一点?他们为什么这么麻烦?我们如何确保每个人都同意区块链的意义?这些问题的两个解决方案非常聪明和优雅:

任何用户都可以授权。比特币鼓励用户通过明确的金钱奖励来授权交易。为避免混淆,授权新的区块交易需要工作量证明,即授权人必须解决计算难题。2.3 个计算困难的谜题

为了弄清这些细节,我们先从第二点说起。一个重要的定义是:如果 h(b) 足够接近 0,则一个块 b(包含交易信息、前一个块的哈希和无意义序列)是有效的。 h 是一个预先确定的哈希函数(目前是 SHA-256,使得h(b) 最长 256 字节)。“足够接近 0”​​意味着 h(b) 的前 l 个字节必须全为 0,其中 l 是一个参数。显然,l 可以控制问题的难度——l 越大,解决问题的难度就越大。

比特币算力监控_比特币按个算的吗_比特币涨幅怎么算

为了保证有效区块的创建率维持在每 10 分钟一个,参数 l 将根据该窗口期的平均交易速度每两周校准一次。这是为了将P2P网络的传输延迟保持在可接受的范围内。目前 l 的值约为 70.

2.4 区块奖励和比特币挖矿

维基百科上的解释类似,也更详细。如果您想了解更多详情,请访问:中文维基百科/挖矿

挖矿:寻找新的有效区块的过程。比特币矿工(miner)的预期行为是选择几笔已经公布的大额交易(例如交易费用最高的交易),希望通过随机调整最终的废话获得有效区块b顺序。

由于 h 是一个密码散列函数,我们确信没有比随机或穷举更快的方法来找到使 b 有效的序列。(这尚未得到证实,但在当前的技术水平下是合理的。)假设 SHA-256 的行为类似于随机函数,那么对于任何给定的块 b,找到有效块的概率为 2 (-l)。这表明找到有效块的期望是 2l。事实上,矿工使用的方法一般是固定交易集,然后通过穷举无意义序列的方法找到有效区块。

每当找到新的有效区块时,矿工都会立即在 P2P 网络中广播此信息。通过这种方式,它与区块链相连。如果有人先声明了一个新区块,并且快速反向检查哈希函数发现它是正确的,那么正在挖矿的人只能重新启动程序并使用新区块的哈希和这个人们尚未授权的 Remining 交易这个块。

矿工在向区块链添加新区块时获得的奖励由两部分组成:

与交易内容无关的奖励。比特币最初将这个奖励设定为 50 BTC,但根据协议,这个数额每四年减半。目前的比特币奖励是6.25个比特币,大致相当于30万美元。此区块中的所有交易费用。目前交易手续费非常少,默认为0.00001 Bitcoin/KB(数据量),可选。

交易费用的传递只在用户之间产生——交易发起者会给授权者比特币,但挖矿奖励的比特币代表了新比特币的发行。这也是发行新比特币的唯一方式。目前存在的比特币数量为1500万枚,但由于比特币发行数量不断减少,比特币数量上限仅为2100万枚。(除非协议有变)

2.5 个分叉

比特币涨幅怎么算_比特币按个算的吗_比特币算力监控

如果在一瞬间,两个不同的比特币矿工同时发现了一个有效区块,会发生什么?这个结果被称为区块链的“分叉”。这是因为两个有效块同时指向前一个块。

在这里插入图片描述

这需要一种机制来决定块的哪一侧是“真实的”一侧。这样每个人都知道要授权和扩展哪个交易。

比特币协议规定了分叉时的行为:**用户必须认为最长的分叉是有效的。**在这种情况下,平局被打破 - 在上述情况下,用户更愿意继续他们首先听到的声明块。由于传输速度的限制,很明显不同的用户以不同的顺序听到公告,然后表现不同。但是,很快一个新矿工将授权一个新区块,扩展其中一个分支,那么平局就会被打破,不在最长链上的区块将被“孤立”,上面记录的所有交易的状态变为未经授权。(可能其中一些已经被最长的区块授权了。)同时,这个区块的创建者将不会再从中获得任何奖励。

**由于分叉的性质,除非已包含在区块链中并被另一个区块扩展,否则不应将交易视为已授权。**也就是说,如果有人用比特币买东西,收银员不应该把物品给他,直到区块实际被放入区块链。当然,更保守的收银员会等到 k(≥1) 再进行交易,以防止分叉长度再次出现平局。

2.6 次女巫攻击

比特币用户是通过公钥来识别的,生成很多公钥并不是很困难。因此,一个人可能有几个“用户”身份。在系统中故意创建大量身份被称为“女巫攻击”。这种攻击可以通过在其他系统中的恶意行为来做很多事情(例如,利用大量虚假节点发送大量虚假信息干扰系统的正常运行),并实际上感染很多系统,但在比特币中是完全没用的——在比特币网络中,你的影响力只取决于你的计算能力,而不是你的身份数量。

3 激励问题

可以想象,比特币矿工可以通过多种方式偏离预期行为,我们接下来将探讨其中的一些。首先,我们应该声明,比特币发布以来的这些年里,“野”中的攻击很少。通常的解释是,对比特币的任何重大攻击都会立即使货币贬值,这对包括攻击者在内的所有人都是一种损失。但是,我们还必须仔细考虑未来可能遇到的攻击类型。最近发现的一些攻击相当微妙,难以检测,并且随着时间的推移可能会变得更加普遍。

3.1 双花攻击

比特币涨幅怎么算_比特币按个算的吗_比特币算力监控

译者注:双花攻击,简称双花攻击,虽然名字听起来太俗了。

第一种可能的攻击形式是“故意分支”。这很容易做到——在挖掘有效区块时,插入不是最新区块的哈希。

为了理解为什么矿工可能想要创建一个分叉,假设在交易 T 中比特币按个算的吗,Alice 将一些比特币转移给 Bob。假设此交易作为块 b1 的一部分添加到区块链中。根据上面的讨论,Bob 只是在将另一块 b2 附加到 b1 后,才将购买的商品运送给 Alice。当 Alice 有货时,她可以尝试以下攻击:尝试找到一个有效的扩展 b0 的块 b3,另一个扩展 b3 的块 b4,以及扩展 b4 的第三个块 b5。Alice 不会将交易 T 放在任何这些块中。如果 Alice 在任何其他矿工扩展 b2 之前成功创建了这三个区块,她就会抢劫 Bob:b1 和 b2 是孤立的,并且 Alice 向 Bob 发送的付款被取消并且货物已发货。花费攻击,尤其是在 Alice 在块 b3 中向 Carol 支付 T0 的情况下,向卡罗尔承诺她已经向鲍勃承诺的比特币。由于易于复制,每种数字货币都必须应对双花攻击。

Alice 成功双花攻击的概率取决于她拥有多少计算能力。假设爱丽丝在用于比特币挖掘的所有计算周期中控制挖掘比特币的概率 α。部分 alpha 有时被称为 Alice 的挖矿算力。由于找到一个有效块归结为随机性或耗尽,Alice 找到下一个有效块的概率大约为 α。正如上述双花攻击所要求的,在任何人之前连续找到三个区块的概率仅为α^3。更一般地说,如果 Bob 在交付货物之前等待 k ≥ 1 个区块附加到 b1,则双花攻击成功的概率仅为 α^(k+2)。

α有多大?如果它只是一个矿工,它不会很大。但是,如果有很多矿工参与到矿池中,他们可以联合起来解决同一个问题,并在矿池成员之间分享找到有效区块的奖励(基于每个矿池成员的贡献)。计算量按比例分配)。但是,大型矿池可以控制总算力的很大一部分(例如 α=0.3),此时可能发生双花攻击。

3.2 51% 攻击

从表面上看,如果α=0.51,那么双花攻击也是可以的——成功率可以提高到1/8左右。但是,一旦 α > 1/2,就可以保证更强的攻击成功:Alice 只需将自己的区块链(b_3,b_4,b_5...)延伸到最长的区块链,此时她自己的区块链最终将优于所有其他连锁店。

更一般地说,当单个实体控制超过 50% 的计算能力时,比特币就失去了作用。这样的实体可以有效地充当中央权威,击败整个比特币。例如,虽然这样的实体不能完全从另一个用户的帐户中窃取比特币(由于用户的签名作为密码保护),但它可以通过强制隔离涉及该用户的任何块来冻结它。用户的资产。只有当没有人控制超过 50% 的总算力时,比特币才有兴趣研究。

3.3 自私挖矿

我们之前的所有攻击都涉及故意分叉。接下来,我们讨论另一个偏见:区块预扣。回想一下,一旦发现有效区块,矿工就应该向所有人宣布;但如果她愿意,她可以选择保密。

比特币按个算的吗_比特币算力监控_比特币涨幅怎么算

Alice 保持封锁并放弃相应奖励的动机是什么?直觉是,Alice 可以欺骗所有其他矿工解决错误的计算问题(扩展最后一个公开宣布的区块,而不是 Alice 的秘密区块)。同时,Alice 可以私下扩展自己的区块。这个技巧增加了 Alice 完成(有效)计算的几率,从而潜在地增加了她的预期回报。

下面我们详细描述自私挖矿的策略。我们先假设当前区块链的最后一个区块是 b_0,而 Alice 刚刚发现了一个新的有效区块 s_1(她在向其他人隐瞒这个区块的存在)

自私挖矿:

私下计算以找到扩展 s_1 的有效块 s_2。如果另一个矿工宣布一个新的有效区块 b_1(扩展 b_0),然后放弃并重新开始。(这对她来说是一个糟糕的结果,因为她计算了一个有效区块,但因为故意隐藏并浪费了它的奖励) . 如果 Alice 在任何其他矿工找到 b_1(b_0 的扩展)之前找到 s_2(扩展 s_1))比特币按个算的吗,则 Alice 继续挖掘她的秘密链 s_1,s_2,……直到她获得“领先”优势 b1,b2, ……公链的b_l降为1(即l=k-1)。声明她拥有的整个秘密链。

例如,假设 Alice 很幸运,在其他矿工找到 b1 之前找到了 s2 和 s3。Alice 继续尝试扩展她的秘密链的末端,s3(以 s_2 为首,仍然是安全的)。但是,如果其他矿工首先找到 b2,那么 Alice 将不得不兑现她的工作——宣布 s1、s2 和 s3

如果其他矿工的行为正常,那么自私挖矿会给 Alice 带来比诚实挖矿更丰厚的回报吗?答案不是那么明显,但可以通过计算找到。

结论如下:

定理3.1:如果Alice的算力α>1/3,并且其他矿工是诚实的,那么自私挖矿的回报将超过诚实挖矿。

详细证明参考:I. Eyal 和 E. G¨un Sirer。多数还不够:比特币挖矿很脆弱。在第十八届金融密码学与数据安全国际会议论文集,2014.(读完之前需要先了解马尔可夫链)

有趣的是,由一个神秘的个人或团队(仅称为中本聪)撰写的关于比特币的原始白皮书似乎暗示,如果矿工的总计算能力不超过 50%,就不应该存在激励问题。据推测,Nakamoto 正在考虑基于分叉的攻击(例如双花攻击),而不是基于块保留的攻击。

这个定理还表明,如果至少有一个矿工控制了超过 1/3 的算力,那么所有矿工保持诚实的结果并不是一个“均衡”。那么究竟什么是均衡呢?这是一个相当困难的问题。