比特币潜在诱因——支配比特币协议看不见的经济力量

除了作为货币的管理和转账协议之外,比特币协议创造了一套复杂的经济激励体系来管理其内部运作。这些激励极大地影响了协议的能力和安全保障,以及其未来发展的路径。本文探讨了这些经济暗流,它们的优势和缺陷,以及它们如何影响协议。

比特币,仍然越来越受欢迎,它是建立在开放的P2P(对等网络)的节点网络。比特币系统是免许可permissionless的——任何人都可以选择加入网络,转移资金,甚至参与交易的授权。比特币的安全性的关键在于它能够抵抗攻击者的操作,这些攻击者可以选择在多个假身份下加入系统。毕竟,任何人都可以下载比特币节点的开源代码,并按自己喜欢的方式向网络添加更多的计算机,而不必向其他人表明自己的身份。为了解决这个问题,该协议需要参与系统的节点来证明他们能通过计算来努力解决密码难题(工作量证明),以便积极参与协议。

从事这种工作的节点称为矿工。该系统奖励矿工与比特币,以产生工作量证明,并因此设置激励这种投资的努力。

比特币在计算机上运行软件的参与者的第一个也是最明显的效果是,一旦比特币有了足够的价值,人们就开始大量挖矿。事实上,努力挖矿到这样的程度,大多数采矿快速过渡到专用的计算机农场使用专门的齿轮为此目的:第一,GPU被用来大规模并行工作;和后来,定制设计的芯片,或专用集成电路(ASIC)(专用集成电路),专为特定的计算在协议的核心(与当前ASIC的机器是大约一百万倍的速度比普通PC在执行这项工作)。比特币网络迅速增长,变得更加安全,协议定期发放的竞争变得激烈起来。

在讨论比特币的安全性和经济性之间的相互作用之前,让我们快速研究一下协议本身的规则;这些协议产生了这种复杂的相互作用。

比特币协议的快速入门

持有比特币并希望转移它们的用户将交易消息(通过安装在他们的计算机或智能手机上的软件)发送到比特币网络上的一个节点。主动节点从用户收集这些交易并将它们扩展到网络中的对等节点,每个节点通知其连接到请求的传输的其他节点。然后将交易集中成批称为块。然后,块被链接在一起,以创建区块链,这是所有接受的比特币交易的记录。链中的每个块通过将该块的加密哈希有效地包含该前辈的唯一标识符来引用它的前驱块。区块链的完整副本保存在比特币网络中的每个节点上。创建块的过程称为挖矿。其中的一个结果是生成新的比特币,我们称之为铸币。

协议的规则使得块创建极其困难;只有在包含密码难题的答案时,块才被认为是合法的。作为补偿,每当矿工设法创造块,他们奖励比特币。他们的报酬部分是由新铸造的比特币组成的,部分是由嵌入在他们块区的所有交易所收取的采矿费。铸币率目前为每块12.5比特币。这个数量大约每四年减半。随着这一数额的减少,比特币开始越来越多地依赖于交易费用支付矿工。

比特币的操作的关键是让所有的节点在块链的内容上达成一致,它是系统中所有传输的记录。因此,块被快速地传播到网络中的所有节点。然而,有时节点可能会接收两个不同版本的区块链。例如,如果两个节点同时管理创建一个块,则它们可以保持两个不同的扩展到块链。这些块可能包含不同的支付集合,因此必须决定接受哪个版本。

比特币协议规定,节点只接受最长链作为事件的正确版本,如图1所示。(更确切地说,节点选择包含最累积的计算工作的链。这通常是最长的链。这个规则,通常被称为“最长链规则”,为比特币提供了安全性。攻击者希望对节点进行信任,认为发生了一组不同的支付,将需要产生比网络其余部分更长的链——这是一个非常困难的任务,因为每个块的创建所需的工作量证明。事实上,只要攻击者具有比整个比特币网络结合在一起的计算能力,块链中的块和交易变得越来越难替换,因为它们上面的链增长。

比特币潜在激励

这种替换链的困难意味着攻击者可以成功地尝试很多次。这些失败的尝试可能会使攻击者在最长链上挖矿块而不得到相关的挖矿奖励。天真攻击对攻击者来说确实是昂贵的(稍后会讨论更复杂的攻击)。

图1显示了块链的演化:分叉出现并被解决,因为分支中的一个变得比另一个长。离开最长链的块最终被抛弃。它们不再被扩展,它们的内容(颜色为红色的交易)被忽略,而创建它们的矿工没有得到奖励。在点1,有两个可替换的链,是由于创建了一个没有引用区块链最新提示的块。在点2,分叉被解决,因为一条链比另一条长。在点3有另一个分叉持续较长,在第4点,第二个分叉被解决。

比特币经济学101:难度调整与采矿经济均衡

Bitcoin的块创建率由协议保持大致恒定:块以预期的大约10分钟的随机间隔被创建。如果创建块太快,生成块所需的工作量证明的难度会自动增加。这种机制已经到位,以确保块不会淹没节点,因为更多的计算能力被添加到系统中。因此,该系统以相对恒定的速率向矿工提供支付,而不管采矿中投入的计算功率的多少。

显然,随着比特币的价值(美元)上升,挖采矿务(以比特币计价的支付)变得更加有利可图。然后,更多的参与者发现加入矿工团体是有益的,因此,块创建的难度增加。随着难度的增加,采矿区块慢慢变得更加昂贵。在理想情况下,当块创建成本等于提取奖励量时,系统达到平衡。事实上,采采矿总是会略有盈利,采矿是有风险的,而且还需要对设备进行初始投资,而一些剩余的回报必须弥补这一点。因此,比特币的安全有效地调整自身以匹配它的价值:更高的值也意味着协议的更高的安全性。

随着采矿报酬继续下降(按照协议的挖矿进度表),创造块的动机预计将更多地依赖于交易费用。如果比特币交易量突然下降,这些费用可能不足以补偿矿工的计算资源。一些矿工可能会暂时停止他们的块创建过程。这可能危及系统,因为交易的安全性取决于所有诚实的矿工积极参与。(在采采矿下跌后,比特币的附加工作,见卡斯滕等。

许多人抱怨,创建块所需的计算浪费资源(特别是电力),除了向系统的潜在攻击者施加巨大的成本外,没有经济目标。工作量证明确实是一个无用的密码难题的解决方案,当然,这个“无用”的工作确保了比特币网络的安全。但是如果一些工作可能有用呢?还是可以更有效地生产?如果挖矿不需要为每个节点浪费资源,那么攻击者也不需要攻击系统。事实上,如果工作量证明成本较低,更多的诚实参与者加入采矿(收集奖励),很快难度调整机制再次提高难度。因此,从某种意义上说,比特币的工作量证明是建立在一定数量的资源上,而不管个体矿工的效率如何。在不增加成本的情况下,从采矿中获得实质性利益需要一个对社会有用的工作量证明,但不能给个体矿工提供价值。

去中心化挖矿

比特币协议的关键在于其去中心化性:没有一个实体比其他实体具有更大的权限或控制权。这既促进了系统的恢复力,也没有单一的信任锚或单一故障点,以及不同参与者之间的采矿费竞争。

为了保持这种去中心化,重要的是,在比特币中的采矿活动是由许多小的实体来完成的,并且没有一个矿工显著超过其他的矿工。理想情况下,给予矿工的回报应该反映他们投入的努力量:贡献一个α分数的计算资源的矿工应该平均创建块的α分数,从而提取所有分配的费用和块奖励的比例α分数。

在实践中,由于一些不同的原因,一些参与者可以从采矿中不成比例地受益。这种不平衡的报酬分配产生偏向于具有更大计算能力的更大的矿工,使他们比他们的较小的同行更有利可图,并对系统的集中化产生持续的经济暗流。即使是轻微的优势也会危及系统,因为矿工可以使用额外的回报来购买越来越多的计算能力,随着采矿者的成长而增加采矿的难度,并将其他较小的矿工(以及因此利润较低的矿工)驱逐出游戏。结果赢家采取所有动态必然导致集中在系统内,这是在支配下的矿工,没有安全属性可以得到保证。

专用集成电路挖矿

ASIC的出现让比特币社区感到震惊。ASICs在挖矿比特币方面比以前的系统更有效。由于这种特殊的硬件最初并不容易获得,它为其所有者提供了比其他矿工更大的优势,他们可以以低得多的成本挖矿。具有这种优势的人将向系统添加基于ASIC的工作量证明,直到难度级别高到其他所有人都会退出挖矿。当时的风险是,一个单一的大型矿工将有机会进入ASICs,并将主宰比特币系统。担忧在一段时间后平息了,因为ASICs变得商业化,分布更广泛。

事实上,ASIC挖矿实际上引入了对安全性有贡献的长期影响。之后,本文将研究矿工如何进行有利可图的双重支出和自私的采矿攻击。然而,人们可以辩称,即使是自私和战略性的矿工也能更好地避免此类袭击。事实上,一个投资了数百万美元的矿工(如ASICs)的矿工大量投资比特币的未来价值:预计矿工的设备将在未来很长一段时间内获得比特币的支付。如果矿工使用这种齿轮来攻击系统,货币的信心就会下降,同时也会带来比特币的价值和未来的回报。因此,矿工的利益在某种意义上与系统的整体健康相一致。

总而言之,ASIC采矿引入了进入系统的障碍,因为普通人不能简单地加入挖矿工作,因此减少了去中心化。另一方面,它引入了一种退出壁垒,因为矿工不能将他们的设备重新用于其他经济活动,因此有助于安全。

竞争性隐秘现象的出现(例如,LiteCoin,本质上是克隆比特币),其中一些使用与比特币相同的工作量证明,为那些希望将采矿权转移到别处的矿工提供选择。这引入了复杂的市场动态。例如,当特定的货币失去一定的价值时,矿工将把他们的采矿权转移到另一个密码,直到困难重新调整。这可能导致块创建的波动,从而破坏较小的隐周期性。

无ASIC挖矿的替代系统

有趣的是,一些加密技术使用了不同的工作量证明,它们被认为对ASIC挖矿更具抵抗力,即,他们选择难以设计专用硬件的加密算法;例如,以太坊使用Ethash。这通常是通过设计需要大量访问其他资源(如存储器)的算法问题来实现的,并且可以通过市售的硬件有效地解决。

这些替代系统原则上更加去中心化,但从另一面看,它们缺乏退出效应的壁垒和对安全的贡献。

当云挖矿变得高度可用时,会产生类似的效果。一些采矿实体提供他们的设备在云上出租。这些企业的客户是那些在系统中没有长期股权的有效矿工。随着这样的服务变得更便宜和更容易接近,任何人都可以很容易地成为临时矿工,对安全有类似的影响。

ASICBOOST

回想一下,创建块需要解决这个块特有的密码难题。这涉及猜测加密哈希函数的输入。解决这个难题主要是通过不同输入的蛮力枚举来完成的。

矿工可以通过使用比他或她的同行更有效的方法来创建块,从而获得优势。除了更好的硬件之外,优势还可以采用更多的算法形式。事实上,一个绰号为ASICBoost的算法trick最近成为了头条新闻。ASICBOOST使矿工能够重用在评估另一个输入时进行的一些计算工作,以评估另一个输入。这个算法是专有的,专利未决,目前还不清楚谁是谁和谁不使用它。这样的算法优势可以转化为更低的每哈希功耗。Bitmain是一家大型的ASBIC生产商,用于Bitcoin采矿公司,该公司还经营一些采矿池,最近被一些秘密部署的AsiBug的硬件变型指控,以增加其利润。据称,该公司在政治上阻止了一些协议的改进,这将恰巧消除了他们使用ASICBOST的能力。

通讯

另一种让矿工变得更有效率的方法是投资于通信基础设施。通过更快地传播块,并且通过更快地接收其他块,矿工可以减少其块不属于最长链的机会,并且将被丢弃(orphaned)。当外链块不受奖励时,与网络的更好连接转化为减少的损失。诚然,随着比特币当前的块创建率,这种优势是相当小的;块是不经常创建的,并且仅几秒钟的交付速度就产生了相对较少的优势。然而,更好的连通性是一种相对便宜的方式,从而变得更有利可图。

此外,当协议被放大并且交易处理被加速时,通信的效果变得更加明显。如今比特币平均每秒结算三至七笔交易。改变比特币的参数以处理每秒更多的交易将增加孤儿块的速率,并将扩大连接良好的矿工的优势。

规模经济

与任何大型实体一样,专业矿工也可以享受规模经济效益。随着采采矿的进一步发展,这些矿工更可能投入不同的优化,例如寻找更便宜的电力来源,或者将设备放在较冷的地区,以提供更有效的冷却给他们的机器(采矿通常消耗大量的电力,而冷却机器带来了真正的挑战)。大型矿工还可以批量购买ASIC,以获得更好的价格。所有这一切都转化为自然优势的大小,这是不特定比特币的现象,但事实上出现在许多行业。这些效应给大型矿工带来优势,并慢慢地将系统推向集中式。

许多人担心,今天大多数比特币采矿都是由中国矿工完成的。与其他地方类似的操作相比,他们更容易获得ASIC、更便宜的电力和更低的监管。中国政府严格控制进出中国的互联网流量,可能会选择破坏系统,甚至夺取国境内的采矿设备。

挖矿池与风险规避

比特币的挖矿过程产生非常高的回报,但对于每一个小矿工的概率非常低。一个运行满时间的单个ASIC可能少于1到60万个挖矿下一个块的机会,这意味着年可以在没有找到单个块的情况下进行。这种高风险/高回报的回报不适合大多数人。许多人希望在很长一段时间内有一个小的、固定的收入(这基本上是风险规避)。例如,一个固定的收入流可以用来支付采矿费。

矿池的形成

挖矿池是矿工的联盟,它们将计算资源结合在一起创建块,并共享池成员之间的奖励。由于游泳池的工人们比单独的矿工们更频繁地发现积木,所以他们能够更定期地向每个工人提供小额的连续支付。

从比特币网络的角度来看,池只是一个单一的挖矿节点。矿池参与者与矿池服务器交互,服务器将矿池正在工作的下一个块头发送给所有的工人。每个成员试图解决与此块对应的密码难题(实际上,它们使用同一块的小变体,并对工作难题进行稍微不同的证明,以避免重复工作)。每当工作人员找到解决方案时,它就被发送到矿池管理器,然后再将该块发布到网络。该块为矿池提供奖励,管理者然后在所有矿池的工作人员之间分配(减去一些少量的费用)。

矿池内奖励分布及可能的操作

许多矿池是公共和开放给任何愿意参与者。显然,这样的矿池必须采取措施确保只有真正为该矿池的采矿工作做出贡献的成员才能享受到一部分回报。为此,每个矿池成员将工作量证明的部分解决方案发送到矿池中,这些解决方案接近成为完整的块。部分解决方案比完全解决方案更常见,并且任何人在这个问题上都能提出一系列稳定的尝试,而这些目标都不符合目标。这表明工人确实从事工作,并且可以用来评估每个工人专用于矿池的计算能力的量。这样一来,员工就可以获得与所赚取的股票数量成一定比例的报酬(每一部分解决方案都授予一份股票)。

幸运的是,已经找到了一个有效的解决方案的成员不能窃取奖赏。算法难题取决于块头,它位于矿池管理器的控制之下。它编码对块本身内容的承诺(通过加密哈希),包括块的接收者的奖励。在找到特定块头的有效解决方案后,不能篡改标头而不使解决方案无效。

尽管如此,战略矿工的一些操作很容易受到矿池的影响:

在Bitcoin的早期,挖矿池只需将所有工人的奖励与最新的数据块分开,与每个工人提交的部分解决方案的数量成比例。股票的数量是由同一池创建的前一个块测量的。

一些工人想出了一个提高他们报酬的方法:如果一个池塘不吉利,而且找不到一个块区,很多部分解决方案(股票)就会积聚起来。如果池中发现了一个块,它的奖励将被分割成许多份额。为增发股票而工作的成本和以前一样高,但由于这个原因,收益预期很低。相反,工人可以切换到另一个池,在该池中最近发现了一个块,并且每个额外的份额都给予了更高的预期回报。如果这种行为被许多人采纳,实际上暂时不成功的池实际上应该被所有理性的矿工完全抛弃。池跳阻力奖励方案很快被大多数采矿池开发和采纳。

阻止矿工的攻击,而矿工不能窃取成功解决方案的块奖励,他或她仍然可以否认对其余池的奖励。矿工可以选择只向池管理器提交部分解决方案,但放弃所有成功的解决方案。矿工因此在其他人找到解决方案时得到一部分奖励,而不提供对池的任何实际贡献。放弃成功的解决方案破坏了池,并导致攻击者的收入损失很小。

尽管对攻击者造成了损失,但在某些情况下,采矿池还是值得投入他们自己的采矿权来破坏他们的竞争对手:攻击者池通过将一些矿工登记为受害者池中的工人而渗透到受害者池中。然后这些工人执行一个拦网攻击。仔细计算的成本和回报表明,在某些情况下(取决于攻击者和受害者池的大小),攻击是有利可图的。为了防止这种方案,已经提出了轻微修改采矿协议。在修改的版本中,工人将无法辨别部分和完整的解决方案的工作难题的证明,并不能有选择地保留完整的解决方案。

淘汰矿池

虽然矿池对于小矿工来说是很好的,减轻了他们的风险和不确定性,但是他们引入了一些集权。矿池操作员本质上是控制许多矿工的组合计算资源,因此是相当强大的。一些研究人员提出了一个技术修改的采矿协议,破坏公共矿池的存在。在这个方案下,在找到块的有效解决方案之后,挖矿它的矿池成员仍然能够将奖励重定向到自身(而不使解决方案无效)。假设许多矿工会自给自足,矿池不会盈利,因此会解散。

攻击的经济学与规则的背离

早些时候,本文描述了一种方法,矿工可以在该协议中占据更大的优势,既要比他或她公平的份额更多的利润,也要在链条中产生更多的块。到目前为止讨论的方法不违反任何协议的规则;在某种意义上,矿工期望充分利用他们的硬件和基础设施。本节讨论直接违反协议的规则,允许矿工以牺牲他人利益为代价。从某种意义上说,这种策略的存在意味着协议的激励结构有根本性的突破:理性利润最大化的参与者不会遵循它。

非正式地,协议指示任何节点:(1)验证它接收的每一个新消息(块/交易);(2)将所有有效消息传播到其对等体;(3)在创建时立即广播其自己的新块;(4)在该节点已知的最长链的顶部建立其新块。对协议的攻击对应于这些指令中的一个或多个的偏差。

验证

不验证传入消息的矿工是脆弱的,下一个块可能包括他或她没有验证的无效交易,或引用无效的前驱块。其他节点会认为这个新的块是无效的并且忽略它。这为矿工们提供了一个明确的激励,使他们只在有效的交易中嵌入块,并在接受之前验证每个新的块。

有趣的是,尽管有这样的逻辑,有时矿工在一个块区的顶部挖矿而没有完全验证它。这种实践被称为SPV挖矿(SPV代表简化支付验证,通常指使用不读取块的全部内容的瘦客户机)。

矿工为什么要在未经验证的大楼顶部进行建筑?答案再次在于激励措施。一些矿工应用方法来学习新创建的块的哈希ID,甚至在接收到它的全部内容之前(一种这样的方法,称为间谍挖矿,包括加入另一个挖矿池作为工作者来检测块创建事件)。即使在接收到块时,也需要时间来验证它包含的交易。在此期间,矿工意识到封锁链已经由一个块区延长。因此,不是让采矿设备闲置,直到块被验证,矿工决定挖矿它的顶部,假设它最有可能是有效的。为了避免下一个块与未经验证的块的交易包含冲突的风险,矿工不在下一个块中嵌入新的交易,希望仍然收集块奖励。

确实有证据表明矿工正在采取这种做法。首先,被挖矿的块的一些部分是空的(即使当许多交易等待批准)。另一条证据与2015年7月发生的不幸事件有关。一个无效块被(无意地)由于错误而挖矿,并且SPV矿工在它上面增加了五个额外的块而没有验证。当然,其他验证的矿工拒绝该块和引用它的任何块,导致网络中的块长分叉。在分叉中被丢弃的块可能包含了双重花费的交易。

这一事件显示了SPV挖矿的危险性:它降低了比特币的安全性,并可能触发区块链中的分叉。幸运的是,矿工大大提高了块的传播和验证时间,因此SPV挖矿的效果越来越小。计划中对空块给予奖励的下降也会降低参与这种行为的动机。

交易传播

比特币协议的第二个重要方面涉及信息传播:新的交易和块应该被发送到网络中的所有对等点。在这里,遵守协议的动机并不十分清楚。矿工们甚至可能不愿意分享尚未被包括在内的未经确认的交易,尤其是提供高收费的交易。一矿工们有强烈的动机将这些交易保持在自己的手中,直到他们设法创造了一个块区。将交易发送给其他人可以让他们抢先得到它提供的报酬。到目前为止,大多数交易费用相对较低,没有证据表明高收费的交易以这种方式被扣押。

接下来,让我们把注意力转移到明确用于操纵BooStand的挖矿协议上的偏差。

私自挖矿

每当矿工创建一个新的块时,协议称它应该在矿工观察到的最长链的顶部(即参考最长链的前端作为其前身)上创建,并且矿工应立即将新的块发送到网络对等体。

不幸的是,矿工可以受益于偏离这些规则和战略行动。矿工的一般策略是阻止砌块的出版,并保持公共链秘密的延伸。同时,公共链由其他(诚实)节点扩展。战略矿工只有在最长链太高的时候,才会有风险。当矿工这样做时,所有节点采用由协议规定的矿工突然释放的较长的扩展,并且丢弃先前的公共扩展。

重要的是,这种行为增加了矿工在最长链意义上的份额,它增加了矿工生成的最后最长链上的块的百分比。回想一下,比特币自动调整工作量证明的难度,以保持块创建速率恒定。因此,从长远来看,链中较大的块的相对份额转化为矿工的绝对报酬的增加。

没有明确的方法来验证矿工是否从事自私采矿。考虑到只有很少的块区是孤儿,看来这种做法没有被提起,至少没有大矿工(谁也会从中获益最多)。解释这一点的一种方法是,长期从事这种操纵的矿工可能会遭受声誉的损失,并招致社会的愤怒。另一种解释是,该方案最初需要失去一些自私的矿工自己的块,并且它只会从长远来看变得有利可图(协议需要大约两周的时间来调整难度级别)。

双重花费

双重花费是对比特币用户的基本攻击:攻击者向网络发布合法的支付,等待它嵌入到块链中,并使受害者确认它,然后发布一个较长的链块,该块在不包含该支付的秘密中被挖矿。付款不再是最长链的一部分,有效地,“从来没有发生过”。

这种攻击会带来风险:攻击者如果不在最长的链子中结束,他或她的块可能会失去奖励。令人惊讶的是,不幸的是,持久攻击者可以通过遵循更复杂的攻击方案来消除这种风险。其思想是频繁地放弃攻击,发布秘密攻击链,并为其块收集奖励。通过重置攻击时,一旦失去块奖励的风险太高,攻击者可以消除攻击成本,甚至是盈利的长期。这些方案本质上是自私挖矿和双重支出攻击的结合。

目前,在网络中经常没有观察到双重花费。这可能是因为执行成功的双重花费是困难的,或者因为那些能够成功执行这种攻击的矿工也对系统的声誉有很大的影响。

结论

激励措施确实在比特币协议中发挥了重要作用。它们对其安全至关重要,并有效地推动了其日常运作。正如这里所说的,矿工们竭尽全力使他们的收入最大化,并且经常发现创造性的方法,有时与协议不一致。

加密协议应该放在更强有力的激励基础之上。还有很多领域有待改进,从采矿奖励的基本知识以及它们如何与共识机制互动,通过挖矿池的奖励,以及交易费用市场本身。

原文作者:Yonatan Sompolinsky与阿维夫佐哈尔

======================================================================

如果你想学习区块链并在Blockchain Technologies建立职业生涯,那么请查看我们分享的一些以太坊、比特币、EOS、Fabric等区块链相关的交互式在线编程实战教程:

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
  • Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是比特币潜在诱因——支配比特币协议看不见的经济力量