智能合约会让理财变安全吗?

Contract)来安全地处理“0确认“交易的一种机制,通过巧妙设置”智能合约“,用户可以在闪电网络上进行未确认的交易。

闪电网络支付通道时通过哈希时间锁定智能合约来实现的——这其实就是限时转账,通过该智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希锁将发起方的交易代币锁定,如果在规定时间内有人能够提供之前生成支付的加密证明,并且与之前约定的哈希值一致,交易即可完成。

然而,闪电网络哈希时间锁定智能合约真的如我们想象中的那么完美吗?在此,星球君(微信:o-daily)希望通过Peter R. RIzun 的分析告诉大家一个答案。首先,Peter R. RIzun 虚构设计了三个人:Alice、Bob、和Carol,通过他们之间的闪电网络交易来解释哈希时间锁定智能合约的问题。

闪电通道可以被看作是再两个人之间伸展的一串珠子(参考图1),Alice 如果想要支付给Bob 一笔费用,相当于把自己的一个珠子推送给Bob。如果Bob和Carol 之间也有一个闪电网络通道,那么Alice 可以通过Bob 给Carol 支付,相当于:Alice 推送一个珠子给Bob,然后Bob 再推送一个珠子给Carol。这里我们就会发现闪电网络流动性基本规则中存在的一个问题,即珠子可以从一侧移动到另一侧,但是却无法离开他们依附的那条“绳子”。

图1:Alice 可以发送一笔支付给Carol,但需要通过Bob 路由这笔交易。因为珠子不能离开他们依附的那根“绳子“,Bob 可以在与Alice 连接的那根”绳子“上增加一颗珠子,然后在与Carol 连接的那根”绳子“上减少一颗珠子。

这其实就是闪电网络上的资金流动方式,但是这种模式并没有告诉我们为什么通过闪电网络支付是安全可靠的。举个例子,如果Bob 一直保留Alice 推送给他的那一个珠子,然后一直不给Carol 发送一个珠子,情况又会如何呢?

事实上,这就是本文撰写的目的——寻找“究竟是什么让闪电支付变得‘去信任(trustless)’?“这个问题的答案。此外在文章的最后,我们还会揭示闪电网络一个肮脏的小秘密:闪电网络小额支付并非完全”去信任“——路由节点可能会丢失客户资金。

(星球君注:区块链去信任是指用户不需要相信任何第三方。用户使用去信任的系统或技术处理交易时非常安全和顺畅,交易双方都可以安全地交易,而不需要依赖信任的第三方。)

哈希时间锁定智能合约(HTLCs)

为了解释是什么阻止Bob 一直保留Alice 发送给自己的那一个珠子,而且不把一个珠子发送给Carol,我们需要在闪电网络通道上引入一个物理类比——“锁(locks)“。”锁“可以被放置在Alice、Bob 和Carol 共同依附的那条“绳子“上并限制珠子的移动,只有当特定条件被满足的时候,”锁“才会被打开。闪电网络支付中使用的哈希时间锁定智能合约包含两种类型的”锁“(参见图2):

第一种是在提供正确密码的时候才能被打开的“锁“——我们称之为”哈希锁(hash-lock)“。

第二种是在一段时间延迟之后自动打开的“锁“——我们称之为”时间锁(time-lock)“。

图2:当哈希值达到指定值的时候(在本例中为45f8),输入密码即可打开哈希锁;而时间锁则是在指定时间过后就会被打开(在本例中为48 小时)。

现在,让我们重新回到Alice 通过Boc 向Carol 支付一个珠子的例子上。为了让这笔支付交易“去信任“,Alice、Bob 和Carol 需要同时在线,而且还要按照各方都设定好的方式参与交易。

首先,Alice 必须要求Carol 想出一个密码,并告诉她这个密码的哈希值。让我们假设想出的这个密码是“boondoggle“,而与之对应的哈希值是”45f8“。接下来,Alice 要在她和Bob 之间设置一个哈希锁,并且该锁必须要在输入哈希值是”45f8“的密码时才能被打开。此时,Alice 和Bob 都无法打开这个哈希锁,因为他们都不知道密码。Alice 之后会向这个哈希锁推送一个珠子,最后她会在自己的珠子上设置一个时间锁,并将其设置为48 小时之后打开(如图3 所示)。

图3,在了解到Carol 秘密设置的密码哈希值之后,Alice 可以设置一个哈希锁,并以此保护他转移给Bob 的代币(该代币之后会路由给Carol)。Alice 就会用时间锁锁定代币,如果Bob 未能在48 小时内完成付款,她就会把这笔钱取回。

如果能够在48 小时内找到Carol 设定的密码,Bob 就能拿到Alice 发出的珠子。与此同时,Bobby 也知道(因为Alice 会告诉他)Carol 会公布这个密码来换取他的一个珠子。为了诱使Carol 采取行动,Bob 可以在他和Carol 之间放置一个相同的哈希锁,其中放置了他自己的一个珠子,然后Bob 可以再设置另一个时间锁(如图4 所示)。他知道如果要让Carol 打开哈希锁并拿走珠子,Carol 必须要输入密码——很明显,这个密码会和Alice 设定给Bob 打开的那个哈希锁密码一样。

图4:如果Carol 在48 小时结束之前公布了Alice 的密码,那么Bob 会看到Alice 提供给他的代币。Bob 会设置相同的哈希锁,然后推送一个代币给Carol,并用一个时间锁锁定该代币。Carol 要获取Bob 这个代币的唯一方式,就是公布Bob 需要从Alice 那里获取代币的哈希锁密码。

Carol 看到自己要获取的那个珠子,然后在锁中输入密码“boondoggle“(Bob 可以看到并记住),该锁的CUP 确认了密码为“boondoogle”的哈希值是45f8,然后就打开了这个锁。接下来,Carol 把这个珠子顺着“绳子”移到了自己这边(如图5 所示)。

图5,Carol 公布了自己的密码,然后打开密码锁取出代币。

获取了Carol 的密码之后,Bob 用同样的方式解锁了Alice 给自己的珠子(如图6 所示),整个支付交易完成。

图6,获取了Carol 的密码之后,Bob 现在可以获取Alice 给自己的珠子,整个支付交易也因此完成了。

你可能想知道,为什么Bob 会是第一个参与整个流程的人?因为如果Carol 没有参与合作的话,Bob 的珠子会被一直冻结,直到时间锁过期。而在实际交易中,Alice 向Bob 发送的资金可能会比她给Carol 的资金更多一点,因为Alice 希望用这种方式作为Bob 工作的费用,或是避免出现不必要的风险。支付交易完成之后,Bob 的账户余额会比这笔交易完成之前的更多一点,从而也激励他能去完成这笔交易(或是类似的交易)。

当然,你可能也想知道在整个闪电网络交易过程中为什么要使用时间锁。事实上,如果支付交易因为各种原因未能成功,时间锁能够让交易参与各方收回自己的资金。举个例子,想象一下如果Alice 把珠子转移给Bob 并添加了哈希锁和时间锁之后,Bob 突然不合作处理这笔交易,此时时间锁就能帮助Alice 取回自己发送给Bob 的那个珠子,因为她只要等待时间锁到期就可以了。在此期间,Bob 根本无法偷走这个珠子,因为他需要Carol 的ima,而且如果Bob 不给Carol 转移一个珠子的话,他就无法获得这个密码,因此对于Bob 来说必须转出一个珠子,才能获得一个珠子。

如果你对闪电网络支付流程感兴趣的话,可以深入探讨一下如果其中一方在不同步骤中变得不合作,Alice、Bob 和Carol 会不会因为对方行为面临资金损失的风险。

闪电网络有一个很少人知道的肮脏小秘密,如果想要了解这个秘密是什么,以及这个秘密对闪电网络支付交易会有什么影响——我们需要再深入挖掘一下。

现在让我们回想一下,当Alice 通过Bob 向Carol 发送一笔支付交易的时候,其中还存在一种“中间状态”(如图7 所示)。我们就直接用比特币来做解释,渠道状态包括三种输出:

2、Bob 的比特币;

3、“交易过程中(in flight)”的比特币。

图7,此时闪电网络通道状态交易包含了三种输出:Alice 的比特币、Bob 的比特币、以及“交易过程中”的比特币。

问题在于:如果交易过程中的比特币价值低于低于比特币粉尘(dust)阙值,此时这笔费用则不能在通道状态交易中表示为第三类输出!换句话受,如果支付金额太小,则无法使用哈希锁和时间锁来保护这笔交易。(星球君o-daily 注:粉尘就是那些金额太小的UTXO,把他们花费出去需要支付的手续费高出了其自身价值,所以粉尘就花不出去了。)

为了解释闪电网络如何处理这个问题,我必须要首先坦白一个问题,一开始例子中“绳子“上的珠子数量并不是固定不变的。实际上,每根”绳子“边上都应该还有一个”篮子“,这个”篮子“的标签是”矿工的费用“,其中包含了很小一部分珠子。”篮子“里的代币价值将会由确认通道状态交易的矿工声明,然后渠道状态会被推送到区块链上。也就是说,有一部分珠子会从”绳子“上移动到”篮子“里,或者从”篮子“里移回到”绳子“上,但这种情况只有当通道两端的人都同意时才会发生。

对于小额支付交易而言,Alice 和Bob 只是将“交易过程中的价值“移动到”费用篮子“里,而不是使用哈希锁和时间锁来锁定价值(如图8 所示)。Bob 相信Alice 会与他合作,而当他公布Carol 的密码的时候,” 交易过程中的价值“就会被他从”费用篮子“里拿出来。

图8,如果“交易过程中“的比特币低于粉尘阙值,则不能使用哈希时间锁定智能合约机制,因为在广播情况下通道状态交易无法被挖掘,此时”交易过程中“的代币会被倾倒进”矿工费用篮子“里。

Bob 随后可以将“交易过程中的价值“转储到他与Carol 分享的第二个”费用篮子”里,并且承诺如果自己知道密码之后就会把这个“篮子”给Carol。Carol 告诉了Bob 这个秘密,然后Bob 和Carol 一起把“费用篮子”里的这笔支付款转移到了Carol 的一侧。接下来,Bob 又回到Alice 这边,告诉了她Carol 的秘密,然后,如果一切顺利的话,Alice 也会与Bob 合作,把“交易过程中的价值”从“篮子”里取出来并放到“绳子”上Bob 的一侧。

与前面描述的哈希时间锁定智能合约不同,上述防范依赖于信任。比如,Carol 可以向Bob 透露密码,然后Bob 可以将付款留在“费用篮子”里,接着直接去找Alice 并告诉她密码就能拿到的这笔付款了。

在这种情况下,Carol 的追索权是非常有限的:她要么什么都不做,并且接受损失,要么关闭她与Bob 的通道。但是关闭与Bob 之间的通道又无法成全自己,因为那笔她理应收到的钱其实已经被发送给了矿工。

尽管上述问题听起来非常琐碎,但在实际情况下却真的能够运作起来。当然,Bob 没有什么特别的动机不把钱给Carol,但是如果他不给的话,对自己也没什么好处,因为矿工将会保留额外的资金,这笔钱并不会留在Bob 手上。不仅如此,如果Bob 真的这么做——即不把Alice 通过自己发送给Carol 的钱给Carol,Carol 很可能会关闭通道,这意味着Bob 是不值得信任的。这样看来,Bob 能够造成的损害似乎也比较有限,除了这笔支付交易的金额之外,还有就是构建一个新闪电通道的成本(因为Carol 已经关闭通道了)。

为什么“闪电网络肮脏的小秘密” 值得关注

闪电网络这个“肮脏的小秘密”非常值得关注,因为它揭示了第一层(L1)的问题(摩擦)已经转移到了第二层(L2)中,迫使第二层协议不得不实施复杂且难以理解的解决方案。在这种情况下,这些解决方案会改变闪电网络的“去信任”本质:对于高于粉尘阙值的支付交易,Alice、Bob 和Carol 都不会因为对方的任何行为而损失资金;而对于低于粉尘阙值的支付交易,Alice、Bob 和Carol 则有可能因为对方的过错而损失资金——显然,这与人们理解的闪电网络安全支付交易模式不一样了。

“我们谈论的只是小微支付,所以谁会在乎这个问题呢?”

然而,这种想法其实并不对,原因有以下两点:

1、使用区块链作为高费用清算层的比特币核心扩容计划将会提升粉尘阙值。粉尘其实是那些金额太小的未花费交易输出,把他们花费出去需要支付的链上费用高出了其自身价值,所以粉尘就花不出去了。但是如果将粉尘阙值提升,比如100 美元,那么世界上绝大部分比特币交易可能都会变成“粉尘”;

2、一些小微支付交易可能会出现快速、连续地丢失(例如发生了一起闪电网络路由攻击),可能会造成重大损失。

想象一下,未来大部分支付交易都发生在闪电网络上,第一层上的交易费用一直都超过100 美元,此时主链上低于100 美元的粉尘输出就会变得没什么价值了,因为链上费用比交易金额本身还高。

现在闪电网络还有另一个问题:即使50 美元的支付交易也可能无法做到“去信任”,因为如果50 美元低于粉尘交易阙值的情况下(考虑到50 美元在第一层协议上也可能出现链上费用比交易金额本身还高的情况,因此未来设置这个粉尘阙值政策也是合理的),哈希时间锁定智能合约就不能用于保护50 美元以下的支付交易了,也就是说用户可能会因为自己的过错导致损失50 美元。

当然,如果为了避免这个肮脏的小秘密引发“循环漏掉(loop hole)”,开发人员可以尝试将粉尘阙值设置为1 美元,这样大多数闪电网络交易就可以继续使用哈希时间锁定智能合约来保障资金安全。但问题是,当粉尘阙值设置的较低,输出就不会被花费出去。

也有人觉得路由节点可能会丢失客户资金,如果未来粉尘费用阙值提升的话,这些丢失的资金规模可能会比较大。我同样也不太认同这种看法,因为闪电网络支付路由的全部目的就是以交易费来赚钱,通常路由会利用自己的费用优势吸引更多流动性,路由节点的交易量越多,费用自然也就越多。现在,闪电网络开发人员已经意识到不可能让全部用户都来路由支付交易,对于普通用户来说,开发人员更多地是鼓励他们使用非广告通道来进行支付交易,同时永远不要把自己变成一个路由。

如果未来闪电网络上的费用变得更高,那么一个路由中心(hub)则可以对用户资金进行有效的监管控制。然而路由中心其实也不可靠,对于一个独立用户来说,如果支付交易没有得到哈希时间锁定智能合约的保护,就很难在区块链上清算并收回资金。不仅如此,如果用户余额与链上费用处于同一数量级,用户也会被路由中心困住。事实上,摆脱一个“糟糕”的通道其实很不值得,因为这么做会让用户失去自己的全部资金。

此外,路由中心还会设定一些特定条件,比如出于反洗钱(AML)和“了解你的客户(KYC)”目的而不转接洋葱路由(onion-routing)信息。如果客户无法满足这些特定条件的话,路由中心就会无限期地锁定客户资金。这样一来,对用户来说他们唯一的选择就是要么在区块链上进行清算,要么就丢失全部资金——这根本就不算是真正的选择!更可怕的是,路由中心还可以设置高额费用,用户如果想要获得自己的钱,就不得不支付这笔钱,他们别无选择。

未来,那些连接状态较好、但却收取较高链上费用的闪电网络路由中心必须要受到监管,因为他们已经能够对其客户资金进行“托管控制(custodial control)”了。

因此,我们能不能设想推出一个这样的法则:

当第二层上的支付金额低于在第一层上可实行的支付交易金额,该交易就不能被“去信任”。

如果底层区块链不受约束,闪电网络就很可能无法像人们所期望的那样工作。

未来,当大多数比特币交易都发生在闪电网络上,而且区块链也收取高额费用的时候,人们可能会发现闪电网络和预期的有很大不同,除了本文提到的这个“肮脏的小秘密”之外,其他闪电网络的潜在问题还包括:

1、闪电网络扩容的是交易,而不是用户。运行完整闪电网络交易验证节点的成本仍然很高;

2、第一层上的问题(摩擦)会影响第二层可互换性(fungibility),代币存在“位置依赖(position-dependent)”价值;

3、流动性:通过闪电网络交易,大多数“财富状态”其实是无法获得的,支付失败也是不可避免的;

4、如果闪电网络铺的很大,路由就会变得越来越难:闪电网络路由中心将集中化地减少路由和流动性问题;

5、对于使用非托管钱包的用户来说,体验总是很糟糕:用户需要在现上接收资金,然后还要雇佣“瞭望塔(watch towers)”来监控通道是否存在欺诈行为,并且订阅源路由服务来发送支付交易,甚至还要动态备份通道状态防止数据损坏。

6、系统性风险:闪电网络通道(热钱包)里需要锁定大量代币,这样才能确保提供足够的流动性;

7、当区块奖励用完的时候,第一层上的总矿工费将不足以确保区块链安全。

}

在DeFi世界,去中心化借贷系统是一个极其重要的赛道,也是整个DeFi体系里面的基石系统,它能够模拟现实世界里的金融系统,了解不同用户的资金需求,并提供用户间相互资金融通的平台;它能够无边际成本的支持符合同质化代币标准的所有加密资产之间的借贷,并能够根据市场供需,自动化的计算与调整市场的借贷利率。

它能够以提供存款凭证代币的方式,将同一资产穿梭、重复使用于不同的DeFi协议之中,从而数倍地提升资金在金融市场上的使用效率;它还可以与其它DeFi协议进行灵活组合,从而实现多层、多级、复杂、嵌套金融交易的自动化运行。

那么,DeFi借贷协议究竟是如何运行的?其基础的技术原理是如何?未来又会有哪些更激动人心的应用扩展?本文中,BKFUND创始人许超逸将对以上问题进行详细探讨。

基于资金池智能合约的借贷模型

传统的中心化借贷系统是以点对点的方式进行撮合执行的,例如资金富余的用户可以在一些中心化交易所的「理财」页面,将自己的闲置资金以自己想要的利率进行挂单,而资金短缺的用户则可以通过抵押自己其他代币资产并以指定的利率进行借单,像「交易市场」一样,「借入」挂单与「借出」挂单是一比一完全对应的,中心化交易所在其中承担了撮合的角色。

去中心化的DeFi借贷系统则有所不同,目前主流项目均普遍采用了「资金池」模型来解决流动性的问题,实现借贷需求的快速撮合,如下图所示,作为「存款人」可以将自己的闲置资产「存入」资金池,并且在需要的时候随时「取回」,而「借款人」可以从资金池里面「借出」一笔资金,并在任意时候进行「偿还」。系统将根据资金池里面的资金进出情况,实时调整动态的「存款利率」与「借款利率」。

存借款利率主要依据两个因素来调整,第一是市场的供需,即:当借款需求较为旺盛时,利率上升,而借款需求较为匮乏时,利率下降;第二是资金池里的资金使用率,即U = 借款额/存款额 *100%,存款人的收益(存款利息)来自于借款人所支付的借款利息,因此资金使用率上升时,借款利率下降,而资金使用率下降时,借款利率上升。

与中心化借贷系统的有所区别在于,DeFi借贷系统的资金使用率U并非越高越好,当U = 100%,即所有存入资金全部被借完的时候,若部分存款人从资金池中取回资金,这将发生资金池里面的存款额 < 借款额这一极端情况,这使得资金挤兑、资金池爆仓的风险大幅增加,因此DeFi借贷系统通常都会设计有最优使用率Uoptimal,当资金使用率超过最优使用率时,借款利率会大幅上升,以抑制更多的借款需求,保障资金池的安全。

由于「存款利率」与「借款利率」的调整均是实时且动态的,对于用户来说,意味着收益与风险的不确定性(特别是对于借款人而言),因此一些类似AAVE这样的新型DeFi借贷系统还提供有「稳定利率」的选择,稳定利率在用户一笔借款周期内一般不会改变,便于用户估算自己的资金成本,因此提供用户进行「浮动利率」与「稳定利率」进行切换的选项。特别的,当市场资金供需行情出现极大波动之时,也会出现「稳定利率再调整」的情况。

由于加密资产的市场价格波动非常剧烈,当借款人的抵押物价值下降,或者借入资产价值上升,以致于抵押率不足时,需要对借款人的借款执行清算,清算的本质是以低于市场价格的方式出售一部分抵押物,来支付借款人应向资金池归还的本金与利息,从而使得资金池得以持续健康运转。

「存入」、「取回」、「借出」、「偿还」、「利率调整」、「清算」这是触发DeFi借贷系统最主要的六项事件。

由于DeFi借贷系统基于去中心化的智能合约来运行,没有一个中心化的数据库来记录用户存入/取回/借出/偿还的时间,因此通常使用以太坊网络区块高度作为时间标记来更新一个资金池的利率指数Index,当「六项事件」中的任何一个事件触发时,该资金池的Index指数便会随之更新(Indexn = Indexn-1 * r),同时根据算法计算出系统动态的「存款利率」与「借款利率」,并更新相关的用户侧利息数据。

从六项事件的视角观察DeFi借贷系统的运作

存入加密资产是用户进入DeFi借贷系统的第一步,这一步骤将用户的加密资产从私人账户转移进入智能合约的资金池,同时系统根据实时的存款利率开始为用户计算存款利息。

像用户在银行里面存款一样,用户在DeFi借贷系统中存入加密资产,将会获得一份存款凭证,DeFi借贷系统依据存款凭证而非账户对用户的存款权益进行确权。这意味着,如果用户的存款凭证丢失或者转让,也将丧失其在DeFi借贷系统相应的存款权益。此外,存款凭证同时也是用户向DeFi系统借款时所需提供的抵押物。

存款凭证通常以同质化代币的方式向DeFi存款用户发放,这里又有两种不同的设计方案,以Compound为代表的DeFi借贷系统发放与存款本息额等值的凭证代币cToken,通过凭证代币与基础存款资产的汇率升值的方式来支付利息,另一种是以AAVE为代表的DeFi借贷系统发放与存款本息额等量的凭证代币aToken,通过增加凭证代币数量的方式来支付利息。

我们认为,这两种技术方案各有优劣,采用存款本息额等值凭证代币cToken的方案,在出现资金池挤兑、爆仓的极限情况下,可以采用降低cToken汇率的方式将资金池损失由全部存款人进行集体分摊,从而降低单个用户的损失金额。

而存款本金息等量凭证aToken的方案,更有利于构建一个在应用生态系统内价值相对稳定的支付代币,同时存款凭证的本金、利息部分可以进行更灵活的分拆发放,衍生出更多的金融应用场景。

取回的操作与用户存入的操作是反向的,即用户向合约系统归还存款凭证代币cToken、aToken或其他,并获得原始的存入资产。

需要再次强调的是,DeFi借贷系统以存款凭证代币为存款权益的确权,一旦丧失存款凭证代币,用户将无法取回资产,在过去的项目中,曾出现过DeFi借贷系统的新用户误将存款凭证当作一种系统的空投(AirDrop),以极低价格在市场出售,从而受到重大资金损失的情况。

用户通过抵押存款凭证代币,可以向DeFi借贷系统借出目前自己没有但是紧急需要使用的加密资产。并非所有的加密资产都可以用于抵押,通常在初期,DeFi借贷系统的管理员配置主流、流动性较好的加密资产作为抵押物,而随着用户的日益增长,抵押率的类型会逐步交由社区通过投票治理的方式进行调整。

与抵押物类型逐一对应的有最大抵押率与清算阈值两个参数的设置,最大抵押率表示该抵押物价值最大可借出加密资产的比率,而清算阈值表示抵押物面临被清算的门槛比率,通常清算阈值 > 最大抵押率。

例如使用户使用1万美元等值的DAI作为抵押,在最大抵押率75%的情况下,最多可以借出7500美元等值的ETH,但若是ETH价格稍有上涨,从7500美元涨到8000美元,若已达到清算阈值参数80%,用户的1万美元DAI将要面临清算。

我们观察到,主流DeFi借贷系统多数都没有将USDT这一交易量最大的稳定币纳入抵押品范围,可能是因为USDT本身过度中心化,以及其主体公司Tether曾接受监管部门调查的原因。

偿还的过程与借出是反向的,用户向DeFi借贷系统归还本金与计息,同时减少自身在DeFi借贷系统中相应的债务。

用户在DeFi借贷系统中的存入、借出目前都是活期的,因此偿还机制也是较为灵活的,用户可以根据自身的实际情况,选择全部偿还或者部分偿还。

清算过程涉及到DeFi借贷系统中重要的概念,即账户的健康因子(又称:健康指数),前面有提过到存款权益的确权是基于凭证的,而健康因子则与账户的借款额、抵押物相关,具体用公式表述为:

健康因子 = ∑(抵押物*清算阈值)/(借款额+借款利息)

当健康因子<1时,将触发DeFi借贷系统对该用户账户抵押物的清算,清算个别用户是为了避免系统性金融风险的发生,因此借款人将受到系统的惩罚,而清算人则会获得一定的奖励。

清算有两种常见的方式,一种是直接将借款人的部分抵押物以一定的折价通过合约挂单出售,允许任何用户代替借款人偿还债务后立即转售进行套利,另一种方式是从底价开始,以逐步加价的方式公开将抵押物进行拍卖。

借款人可能会对自己的抵押物受到清算而感到不满,而实际上,清算是对借款人资产的一种保护,当触发清算时,系统强制处置部分抵押物可以使得账户整体的健康指数回升到正常水平,从而避免抵押物被全部清算。如下图所示:

6)稳定利率、再平衡与利率切换

如前文所述,当DeFi借贷资金池每一次发生存入、取出、借出、归还、清算之时,其利率指数Index都会随之发生变化,这会影响到相应的「动态利率」,而出于满足部分用户愿意支付利息溢价以降低借款成本不确定性的需求。

类似AAVE这样的新型DeFi借贷系统尝试了「稳定利率」的机制,「稳定利率」机制通过预言机去获得外部系统的借贷利率,结合资金池的动态利率综合计算得出当前的稳定借款利率,并对单个用户在其借款周期内保持相对稳定,不受动态利率变化的影响。

需要说明的是,目前的「稳定利率」并非绝对稳定,仍然有可能经历系统强制调整即称之为「再平衡」的过程,「再平衡」的原因一种是因为「稳定利率」已超过存款的收益,导致用户可以无限制的从系统中借款再存入进行套利,这需要进行稳定利率的「向上再平衡」,另一种是当「稳定利率」与动态利率的差值过大使得用户需要支付的溢价超过一定数值的时候进行「向下再平衡」。

借款用户允许在「动态利率」与「稳定利率」之间进行切换,以获得最优的借款条件,同样这会触发资金池利率指数Index的更新。

以上,便是DeFi借贷系统最基本的技术原理,我们将其主要公式用一张图总结如下:

DeFi借贷系统的应用扩展

以资金池为核心模型的DeFi借贷系统的蓬勃发展,确实满足了部分用户的资金借贷需求,然后,相比于传统金融行业,功能仍显不足,从金融应用发展的角度去思考,我们认为,DeFi借贷系统未来将会有如下多个方向的扩展:

固定周期的存借款有利于用户更好地规划自身资金的使用周期,同时资金池也能够更好的预测资金的变动情况。然而,固定周期的存借款模型给现有的利率指数算法的改进带来的的挑战是,既要能够让固定周期利率相比于活期利率更具吸引力,又要适应用户自身违约,提前取款或者提前归还的现实场景。

由于DeFi借贷系统的存款利率本身也是浮动的,当市场需求旺盛时存款利率会大幅上涨,因此可以基于存款利率做一些结构化理财产品的开发,类似传统的分级基金,将资金分为优先级、中间级、劣后级,基金管理人向不同风险偏好的用户募集资金并获得管理收益与业绩奖励。

闪电贷是加密货币领域当中最令人兴奋的原生应用之一!这项技术可以让用户以无任何抵押、且极低的交易成本(AAVE为0.09%)使用资金池内无限制的资金量,只要用户在同一笔交易内偿还相应数量的资金即可。

而闪电贷的开发技术门槛初期比较高,后续随着类似FuruCombo这样的平台的出现与发展,闪电贷编程开发的门槛将不断降低,交易员只需要专注于策略本身的研究与实现,就可以获得在各个不同的DeFi协议之间套利赚钱的交易机会,闪电贷交易策略未来可能会成为加密经济里面最有价值的交易策略!

下图是一个简单的FuruComb工具使用示例:

用户从AAVE协议里面通过闪电贷借出200 DAI

4)机构专属的私有资金池

DeFi借贷系统多数仅支持主流加密资产的相互借贷,然而对于一些小型的加密货币,虽然流动性要远远弱于主流加密资产,其机构成员、社区成员之间亦有相互短期拆借的应用需求。较好的做法是,由机构担保开发、运营私有借贷资金池,以供作小币种的借贷及抵押需求,这样即使出现因流动性不足而爆仓的问题,也不会影响到公用资金池的安全性。

5)第三方用户担保借款

这是一个经常被标榜为「无抵押借款」的应用,实际上这个功能是由DeFi借贷系统的一个机构用户或大客户以其在资金池内的抵押物作为担保,向另一借款人提供借款的场景,机构客户通常与借款人有线下的信用担保或实物担保关系,使得机构客户愿意以自己的抵押物为他人提供借款。

这里的主要问题是机构客户应有从中获利的可能,即当借款人按期还款时,其所支付的利息应高于系统利息,其中的差额作为对机构客户的奖励。

6)第三方协议担保借款

这是由DeFi借贷向一些主流DeFi协议授信,以供他们的用户从借贷协议应用中进行杠杆借款,Cream所开发的Iran Bank便是第三方协议担保借款的典型应用之一,然而前几天,Iran Bank因受到黑客攻击,资金池被「借走」约3750万美元的加密资产,成为目前损失额最大的一笔DeFi安全攻击。

真正的「无抵押借款」场景应该是指类似我们在「借呗」等APP一样,通过账户地址历史积累的DeFi交易记录获得一定程度的授信,从而向DeFi协议进行短期借款。

这里有一个值得讨论的问题是,区块链网络账户地址本身可以无限制的生成,且创建成本接近于零,频繁的DeFi交易记录是否具有特别的价值?

我们认为随着DeFi的进一步繁荣发展,这个答案应当是肯定的。频繁DeFi交易的账户地址,其拥有者的资金体量、DeFi应用经验、抗风险能力要远远超过普通的用户,未来一些新型的DeFi协议在内测阶段将可能会筛选优质的DeFi老用户进行体验并空投代币作为测试激励,减少项目方被机器人批量薅羊毛的损失,若地址未按期归还借款,该地址将被所有的DeFi协议列入黑名单,不再拥有相应的内测激励机会。

DeFi借贷系统的资金池模型、闪电贷等技术创新带领了一股新的创新浪潮,在开发者与社区用户的共同努力下,DeFi借贷系统及其生态产品将进一步发展,并不断的与主流金融、主流资产进行融合、创新,开启未来新的金融秩序。


声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

}

 加密货币,ICO,神奇的互联网现金 - 这一切都非常令人兴奋,而你,热切的开发者,想要了解这些疯狂的东西,该从哪里开始呢?

我很高兴你对这个领域感到兴奋。我也是。但你可能会发现还是不清楚从哪里开始。区块链正在以极快的速度发展,但没有清晰明确的指南来学习这些东西。

自从我离开Airbnb,全职在区块链行业工作后,很多人都问我如何进入区块链领域全职工作。那么,考虑一下我的权威指南(当然不可避免是不完整的)--如何进入区块链工程领域。

  1. 为什么要学习区块链开发?

  2. 01 为什么要学习区块链开发?

在回答这个问题之前,让我先做一个小的陈述:区块链现在是一个被价值高估的事物。这些价格是不可持续的,崩盘肯定会到来。这一切以前都发生过,而且很可能还会发生。但如果你在这个领域长期工作,你就会学会对价格置之不理。用 Emin Gun Sierr 的话来说,价格是加密货币中最没意思的部分。但是,区块链领域的技术都是非常重要的技术,它们将不可逆转地改变世界。如果你不确定是否要投身于这个行业,我不能直接告诉你答案,但我可以告诉你五个让我信服的理由:

比特币是10年前发明的,但区块链行业的创新率直到最近几年才达到一个狂热的水平,特别是随着以太坊在2015年的推出。这一领域的大多数新公司和想法都是建立在以太坊之上的,况且以太坊还很不成熟。

即使你现在开始,你也可以在几年内成为世界级的专家。大多数人都没做那么久,要赶上也没那么难。从现在开始学习区块链类似于在21世纪末开始研究深度学习。

这个领域还没有很强的人才漏斗

大学里最优秀、最聪明的学生大多专注于机器学习、网络编程或游戏开发。虽然区块链在公众话语中变得越来越具有吸引力,但它们仍然是一个怪异和颠覆性的话题,进入这个领域对你的职业生涯来说可能是场冒险。

在早期,区块链只属于cypherpunk(赛博朋克)(其实更准确的说服应该是加密朋克)、偏执狂和怪人的领域,只是最近才开始改变。作为一个好奇和开放的开发人员,你会给这个领域带来很多价值。

大部分创新都发生在学术界之外

据我们所知,中本聪并不是一个学者。目前还没有一所大学或机构提供一整套的区块链知识体系。这里的大多数创新都是由狂热者、企业家和独立研究人员领导的。你需要知道的几乎都是白皮书、博客、公共休闲频道和开源软件。你只需要卷起袖子,投入战斗。

这个领域还没有足够的开发人员,他们也不能快速得到培训。每个人都在竞相招聘区块链人才,项目方也感受到了人才短缺。许多最好的公司付不起足够的钱让员工留下来,因为他们有太多的机会。如果你掌握了一些技能,就很容易找到工作。

加密货币真的太特么酷了

还有什么地方可以建立像加密、安全、去中心化货币这样科幻小说里的事物?现在是狂野的西部 - 当然这带来好坏两面。这个领域可以更加透明,并最终实现监管。但毫无疑问,加密货币是您现在可以从事的最具创新性的领域之一。 

Naval Ravikant 在最近的一次采访中说:成功的关键是给社会提供它想要的东西,只是你不知道怎么去做而已。你无法在学校学习到这样的知识;如果可以的话,这个世界的物质文明早就极度饱和了。

所以去建立一些没有人知道如何构建的东西吧。而现在,区块链是全新的,还有很多东西需要解决。如果你成功地建立了去中心化技术的未来,那么世界将会给你带来丰厚的回报。那么,在你进入这个领域之前,你需要知道哪些东西呢?

我建议你在深入研究之前,先加强对基本原理的理解。区块链建立在计算机科学、密码学和经济学数十年研究的基础上。中本聪是一个“反叛者”,但他也很清楚之前的历史。为了理解区块链的工作原理,您需要了解先于区块链产生的区块,以及为什么他们不起作用。

 以下是一些需要熟悉的预备知识,按重要性排序。

(注意,以下内容里的链接只是一个学习起点,您可能会想深入了解更多。)

您需要熟悉主要数据结构的特性和复杂性保证:linked lists, binary search treeshash maps, 以及 graphs (特别是在区块链中具有显著特征的有向非循环图)。从头开始构建它们有助于更好地理解它们的工作方式和属性。

密码学是加密货币的代名词和基础。所有加密货币都使用公钥/私钥加密(public/private key cryptography)作为身份和身份验证的基础。我建议学习 RSA( RSA)(它很容易学习,不需要很强的数学背景),然后看看 ecdsa( ECDSA)。椭圆曲线密码需要更抽象的数学——理解所有细节并不重要,但要知道,这是大多数加密货币(包括比特币)使用的密码。

 另一个重要的密码原语是密码散列函数(哈希函数)。这些可用于承诺机制,并且是 merkle 树的构建块。Merkle trees 支持 Merkle proofs,这是区块链用于可扩展性的关键优化之一。

关于分布式系统有一些很好的教科书,但这是一个庞大而困难的研究领域。分布式系统对于区块链的论证是绝对必要的,因此在处理区块链编程之前必须在此建立基础。

一旦你的系统不再运行在一台机器上,就必须开始论证一致性和共识。您需要了解可线性化和最终一致性模型之间的区别。您还需要了解容错一致性算法的保证,例如  Paxos 和  RAFT。了解在分布式系统中论证时间的困难,理解安全与活性之间的权衡。

有了这样的背景,你将能够理解拜占庭容错共识的难点,这是公共区块链的主要安全要求。您将需要了解  PBFT,这是首个提供拜占庭容错共识的可扩展算法之一。PBFT 是许多非工作证明区块链一致性算法的基础。再次提醒,你不需要了解 PBFT 太多的细节,而是总体的思路及其安全性保障机制。

理解传统的分布式数据库也是非常有用的(其核心思想是,区块链本质上是数据库)。了解分片(例如通过一致性哈希),主从复制(leader-follower replication),分布式哈希表 (DHTs),例如 Chord 或 Kademlia。

区块链的分布式在很大程度上源于其点对点网络拓扑结构。因此,区块链是过去 p2p 网络的直接产物。

 要了解区块链通信模型,您需要了解计算机网络的基础知识:如 TCP 与 UDP、数据包模型、IP数据包,以及大致的网络路由工作方式。

公共区块链倾向于通过 gossip protocols 和 flooding 来传播信息。学习p2p网络设计的历史,包括 Napster to Gnutella, BitTorrent,Tor,都具有一定的指导意义。区块链有自己的特点,但它们借鉴了这些网络的经验教训以及它们是如何设计的。

加密货币本质上是多学科的 - 这是使它们如此迷人和激进的主要原因。除了计算机科学,密码学和网络,它们还与经济学密切相关。加密货币可以通过其经济结构获得许多安全属性,这通常被称为加密经济学。因此,经济学对于理解加密货币至关重要。

对加密货币最重要的经济学分支是博弈论,即研究多个主体之间的收益和激励。你不需要深入到很细节,但你需要了解博弈论分析的基本工具,以及如何使用它们来分析一次性和持续性游戏中的激励因素。

你需要掌握两个关键的概念:纳什均衡点谢林点,因为它们在密码学分析中具有突出的特点。

加密货币不仅是协议,也是货币的形式。因此,它们响应宏观经济规律(如果它们可以被称为规律的话)。加密货币受制于不同的货币政策,并对通货膨胀和通货紧缩作出可预见的反应。你应该了解这些过程以及它们对支出、储蓄等的影响。

另一个有价值的经济概念是货币的流通速度,特别是当它与货币的价值相对应时。

加密货币也深深地与市场交织在一起,这需要了解微观经济学。你需要对供求曲线有很强的直觉。你应该能够解释竞争和机会成本(它们将经常应用于挖矿领域)。在许多硬币发行和密码经济系统中,拍卖理论具有突出的特点。

我希望你已经熟悉了其中的一些话题。如果是的话,请随意浏览或跳过它们。

好吧,到现在为止,你已经完成并巩固了你的基础知识,现在您已经掌握了以上的理论,让我们来开始区块链开发吧。

03 为什么要学习区块链开发?

2008年10月,Satoshi Nakamoto发表了一份白皮书,他在其中描述了一种分散数字货币的协议。他把这个协议叫做比特币。

在你了解区块链背后的伟大创意之前,你必须先从比特币开始,掌握 Satoshi 的独到见解。

首先,我建议你建立关于工作证明分叉选择规则(也称为中本共识)的直觉能力。你可以从以下视频开始:

区块链可视化 Demo:

(此图为视频截图,链接如下:)

资源及 PPT 点击此链接

一些额外的可靠学习材料:

  • 比特币机制:utxos和比特币脚本(比特币脚本不是特别重要,只是大致知道它能做什么)( UTXOs and Bitcoin script)

  • 比特币的可扩展问题是比特币生态系统中大多数争议的根源。你应该知道为什么行业内对块大小争论这么多。(Bitcoin scalability problems)

  • 安全对于区块链的开发是绝对必要的。智能合约一直受到灾难性黑客攻击的困扰,包括DAO黑客攻击、Parity钱包黑客攻击,以及第二次Parity钱包黑客攻击。如果你想要编写智能合约,你必须阅读这三个攻击的分析。

    事实是,智能合约很难搞好。虽然编程工具链将会得到改进,使这些精确的攻击变得更加困难,但最终它们都是由于程序员的错误造成的。还有许多由智能合约编程产生的更微妙的bug,比如在前端集群(frontrunning)或安全生成随机性(secure generation of randomness)等方面。

    作为一名智能合约开发者,你必须将安全性视为最重要的事情。在智能合约编程中没有“快速行动和打破常规”。这意味着任何处理大量资金流动的代码都应该通过像Oyente或Securify这样的静态分析程序来运行,进行彻底的测试,然后由经验丰富的智能合约审核员进行审计。你还应该尝试依赖预审计的组件,比如OpenZeppelin的开源合约。

    为了加强你的安全性,我建议你使用OpenZeppelin开发的Ethernaut,这是一款你可以在智能合约中发现并攻击漏洞的游戏。他们中的很多人已经复制了对这个领域发生的智能合约的真实攻击。

    在你做到了这些以后,我强烈建议你整本阅读由ConsenSys编译的Smart Contract Best Practices。希望在你的智能合约编程生涯中多次重温这个文档。bibliography 也值得安全专家进一步阅读。

    如果你已经做到了这一步,你现在应该准备好跳过Remix,开始使用一个可靠的开发堆栈。

    大多数开发人员都推荐使用VSCode或Atom作为文本编辑器,因为它们有相当可靠的Solidity插件。为了与本地区块链进行交互,你将使用Ganache(以前是TestRPC),并且你将使用Truffle框架进行(基于JS)测试和配置构建管道。

    然后是着手研究IPFS,你可以使用IPFS作为一个完全去中心的文件存储,其成本比Ethereum区块链低得多。以下是作者Juan Benet的简短解释:对于Ethereum和IPFS全节点的交互,大多数开发人员推荐的Infura。Etherscan和ETH Gas Station 在以太网络上提供有用的实时统计数据。

    一旦你建立了完整的Web3堆栈,尝试部署端到端Dapp(去中心应用程序)。这个教程为后端提供了一个使用Node和Postgres的良好的全堆栈概览,并且这个教程将向你展示如何使用IPFS作为持久性层(persistence layer)创建一个完全去中心的应用程序。

    现在,你应该对大多数技术都有了深入的了解,剩下的就是开始构建一些东西,并深入区块链社区。

    首先,开始建立自己的项目。如果你对某个点子很感兴趣,那就去实现它,并说服别人和你一起破解它! 如果你还没有特定的想法,或者不愿意动手,有许多高质量的开源项目欢迎你的贡献。OpenZeppelin可能是上手智能合约的一个好的起点。

    更好的是,我建议从寻找一个你喜欢的正在积极开发的项目开始。去他们的Slack或者Rocketcha - 开发人员通常都在那里。告诉他们你愿意帮忙,并要求完成一些小的任务(或者在他们的Github上发现一些尚未解决的问题)。

    注意,虽然我一直关注协议(protocols)和智能合约的开发,但区块链公司需要web开发人员来构建它们的核心功能。这些角色经常需要与区块链(们)进行交互,所以要有一个区块链是如何工作的良好心理模型,但对于许多区块链初创公司的工程师,你的工作将在Python构建一个网络服务器,或者设计一个前端的React, 与区块链交互可能只是一小部分的工作。你不必专门从事智能合约开发 — 实际上,这只是成熟的区块链堆栈的一部分。

    除了对开源项目的贡献,还有许多区块链黑客马拉松不断涌现。大多数项目都有一个免费的Slack,你可以加入其中,而且Ethereum本身有一个非常活跃的Gitter channel,在那里有很多开发者。当你深入到这个空间,你最终会找到你的同伴,无论是在Slack频道,Telegram,还是Gitter channel。无论在哪里,找到和你趣味相投的人并继续学习。

    真正了解区块链世界的最好方法是让自己沉浸在其中。阅读和倾听最聪明的人,特别是他们过去写的东西。当我尝试学习一个新的领域时,这一直是我的策略,它为我带来了回报。

    有很多好的区块链内容,但也有很多垃圾。以下是我推荐的信息节食法。

    在这里我推荐三个不错的播客,Software Engineering Daily Blockchain,他们对许多主题和加密货币提供了很好的技术介绍,以及Epicenter和Unchained -- 他们过去推出的很多都系列值得一听。另一个有趣的新兴技术播客是Conspiratus。以上的博客建议你们都订阅。

    YouTube上也有几个不错的频道(尽管YouTube上有很多垃圾)。订阅以太坊基金会并观看DEVCON3演示文稿。伯克利大学的区块链记录了他们的许多讲座,其中大部分都是优秀的技术概述。Decypher媒体还发布了访谈、白皮书评级和教程。Jackson Palmer有精彩的每周概述,内容里面虽然技术部分较少但是涵盖内容较全面。

    对于实时区块链聊天来说,它主要存在于两个地方:Reddit和Twitter。对于reddit来说,大多数栏目的质量都很差。r/ethereum的质量一直不错(并且有一些适合特定加密货币的栏目)。不过,大多数栏目都被投机者占领,并不能对得起你的注意力。远离比特币相关的栏目。众所周知,比特币是最有毒性的社区之一,而Reddit只会放大这一点。

    Twitter上的内容更是参差不齐了。不管好坏,大多数区块链用户都生活在Twitter上。区块链Twitter起初对我来说有些神秘,但最终我建了一个非正式的Twitter区块链人物分类。根据我的经验,有五种类型的区块链人物:建设者、企业家、记者、交易员和“思想领袖”。

    避免像瘟疫一样的“思想领袖”

    企业家有理由活跃在twitter上,因为他们大多扮演炒作者的角色,或者在Twitter上宣传自己的项目。投资者大多在Twitter上谈论价格和炒作类项目,如果你也是这样的,那你继续吧。记者们倾向于在推特上发布当天的主要新闻。我建议你远离这些消息,除非你需要实时信息,但是通常这些信息对你来说都不是必须的。如果你是一个活跃的交易者,这可能很重要,但如果你试图在区块链技术上有所建树,大多数实时的东西都会分散你的注意力。

    把注意力放在区块链建设者身上。他们是当前最重要的人,也是推动科技进步的人。

    每个类别中都有几个代表(如果你想把你的Twitter信息流塞满,请先关注这些人):

    (不防也关注我一下,尽管我绝对不属于这个名单。)

    总而言之,我建议您尽量少刷Twitter和Reddit。如果你不是记者或日常交易者,大多数情况下,你不需要实时聊天。重要信息将以异步方式向您显示,你可以关注重点信息摘要,而不是时刻获取市场的信息并受其影响。

    我建议订阅Inside Bitcoin(内部比特币)以获取最重要的加密新闻的每日摘要(它涵盖的不仅仅是比特币)。对于代币项目,Token Economy(代币经济)每周都有优秀的内容,Week in Ethereum(每周以太坊)对以太坊生态系统中以开发人员为重点的事件提供了很好的摘要。

    除此之外,您基本上不需要监控实时新闻。请专注于学习和积累。

    另外,你可以关注一些好的博客。长篇幅的内容往往是学习最好的选择。我的建议如下:

    • V神博客(Vitalik Buterin)提供优秀的区块链和密码经济分析(阅读他所有的旧博客文章,Vitalik被广泛认为是百年一遇的思想家)

    • 破解,分布式(Hacking, Distributed)由康奈尔研究人员发表的区块链安全性分析

    • 未枚举(Unenumerated),Nick Szabo发表关于加密货币在社会中作用的挑战性和折衷性论文的著名博客

    • 金钱物质(Money Stuff),马特·莱文(Matt Levine)的Bloomberg的供稿,针对市场、金融和区块链新闻交叉点深刻的分析

    • 弗拉德·赞菲尔(Vlad Zamfir) 对国家和公共区块链适中谨慎的观点

    • 克里斯·伯尼斯克(Chris Burniske)撰写了一系列关于如何评估加密资产的优秀博客文章

    • 詹姆森洛普 (Jameson Lopp) 从构建区块链生态系统软件工程师的角度发表他出色的技术文章

    • 数字长城(Great Wall of Numbers)由蒂姆斯旺森 (Tim Swanson)撰写,关于他对区块链狂热的冷静而坚定的解构,特别是在企业领域

    (再一次,建议你也阅读我的博客,尽管我并不完全属于这个名单。)

    如果你想要一种更有条理的方法来学习这些材料,有一些高质量的书籍和课程。

    Ethereum》),由以太坊联合创始人加文·伍德(Gavin Wood)合著(均由o'reilly出版)。另外一本我推荐的非技术性的书是纳撒尼尔·波普(Nathaniel Popper)的《数字》(《Digital Gold》)。几乎所有值得阅读的东西都会出现在博客中,而不是书籍-这个领域发展很快,以至于最重要的人物很少有时间写书,而且书籍在发行时往往已经过时。

    如果你想用更结构化的方法来学习这些材料,有一些高质量的课程。比如普林斯顿大学Coursera课程(视频也在YouTube上)和加州大学伯克利分校(UC Berkeley)的一些讲座。我也听说了来自康森斯学院(Consensys Academy ),对于想进入智能合约开发的人员来说的的好消息。

    另外,我还在旧金山布拉德菲尔德计算机科学学院( Bradfield School of Computer Science)为软件开发人员举办为期4周的加密货币研讨会。本课程仅限于旧金山地区,座位有限,因为它是一个小型的、深入的研讨班。但如果你是名位于旧金山的软件工程师,想了解更多有关加密货币背后的理论和实践,它也许很适合你。

    正如我之前所说,区块链初创公司正在疯狂招聘。如果你真的做到了这一点,并且完成了我建议的一半,那么你很可能已经可以在这个领域找到工作了。AngelList特写了一篇关于如何在加密领域找到工作的文章。

    对于区块链相关的职务发布,有几个好的网站:

    我知道一些特别有前途的区块链初创公司正在招聘开发人员:

    市场上还有许多大型公司在开发加密产品:

    • Coinbase,加密行业里的谷歌,一直在疯狂地招聘

    • 恒星币(Stellar)和 瑞波币(Ripple)公司,如果你想直接开发更适合企业的加密货币

    • Square整合了一些区块链,但不确定他们是否对外招聘

    • IBM、Visa或JP摩根,如果你有传统情怀

    (请注意,这个特定的公司列表是以湾区为中心的,因为我居住于此。您可能居住在别的地方,以上网站推荐的工作会更全面。)

    但在我看来,加入一个公司最好方法是找到一个你感兴趣的项目并直接联系他们。大多数区块链团队都愿意为合适的人才提供远程办公职位。许多开发人员可以在Twitter、Github或他们公共的Slack频道上轻松的联系上。假如你有扎实的作品集并能展示技术专长,并且表现出一些主动性,就会让很多人印象深刻。

    以上就是我能推进给你的。如果你做了以上所有的事情,不久你可能会比我走得更远了。

    兔子洞不会真的结束。我给你展示的只是一个开始。加密货币仍处于早级阶段,我深信这是你可以工作的最快速发展的领域。我相信这本指南将在一年内过时,并且有很多令人惊叹的项目在这里我还没有机会谈论。但如果你进入这个领域,你会在适当的时候找到他们。

    保持探索。保持越来越好。保持学习。

    声明:蜂鸟财经转载此文出于传递更多信息之目的,内容仅供读者参考。若存在侵权行为,请联系我们删除。

}

我要回帖

更多关于 合约机骗局为什么没人管 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信