科普 | Cosmos 与 Polkadot 的五大区别

8btc 发表了文章 • 2019-06-18 13:09 • 来自相关话题

Cosmos 和 Polkadot 都是关注区块链互操作性的项目,关于二者之间的差别已经有过很多讨论。如果你还不熟悉这两个项目,Linda Xie 发过一串推特介绍过这两个项目,可以作为很好的入门材料。

虽然已经有很多帖子分析过这两个项目的区别了,但是我认为其中大部分都存在一定的偏向性或者不够详细。通过这篇帖子,我会从架构权衡到哲学等方面更深入地探讨这两个项目。

 
为什么要构建一条新的区块链?
 

为什么一些项目要选择从头开始构建一条专门承载应用程序的区块链,而不是以智能合约的形式在现有的区块链上编写应用程序呢?主要有以下两点原因。

首先,现有的智能合约平台不一定能满足应用程序所需的灵活性和可定制性。举例来说,如果你想搭建的应用程序需要自定义的哈希函数,那么把它编写到以太坊上会消耗很多 gas ,因为这个函数每调用一次都需要在以太坊虚拟机内执行一次。一种解决方案是提议将这个函数作为预编译合约添加至以太坊协议内。但是,除非这个函数也广泛应用于其它应用程序,否则这项提议大概率是不会通过的。从头开始编写一条新的区块链,你就可以自由灵活地设计区块链的核心逻辑,以此满足你的应用程序的需求。

其次是自治问题。在智能合约平台上构建的应用程序必须接受平台的治理并遵守其规则,从区块时间和 gas 定价之类影响用户体验的规则,到回滚之类改变状态的决策等等。

但相应的,具有自治能力的链失去了与其它应用程序进行无缝通信的能力,因为应用程序都是搭建在使用不同状态机的区块链上。Cosmos 和 Polkadot 都致力于解决这个问题——Cosmos 采用的是 Hub-and-Zone(中心-分区) 模型,Polkadot 则采用的是Relay Chain/Parachain(中继链/平行链)模型。

读者需要对这两个项目有一定的了解,本文侧重于梳理二者的不同点。

 
1. 局部安全 vs 全局安全
 

Cosmos 和 Polkadot 采用的安全模型差别极大。简单来说,Polkadot 的工作流程如下:





- Polkadot 的网络架构-


平行链是 Polkadot 网络中的区块链。这些链有自己的状态机、自己的规则和自己的区块生产者,即核验人(collators)。每条平行链本质上都是一个独立的状态机,而且可以使用任何类型的特殊功能、共识算法、交易手续费结构等等。在 Polkadot 网络中,所有平行链都有同一条母链,叫做中继链,里面包含了由所有平行链组成的 “全局状态”。中继链拥有自己的共识算法,叫做 GRANDPA 共识(祖父共识),可以迅速将平行链上的区块确定下来。通过这个模型,Polkadot 的平行链实现了 “安全性共享”——如果中继链上有 1000 名验证者,具有极高的安全性,凡是连接到这条中继链的平行链都会受益。这样一来,平行链即能拥有自己的状态机并自定义规则,又能与成百上千条平行链一起共享母链的安全性。

这种模型的罩门在于由中继链上的验证者来验证平行链上的状态改变。例如,验证者可能会出于某种原因一直拒绝某条链上的核验人提议的区块,而且这条中继链上的区块永远无法被添加进全局状态。为了尽量避免这种情况,Polkadot 对验证者进行混洗,让他们随机验证平行链,降低同一位验证者始终验证同一条平行链的概率。Polkadot 还另设有一类被称为 Fishermen (渔夫)的验证者,他们会不断查验验证者是否存在恶意行为。

Cosmos 采用了完全不同的网络架构。





- Cosmos的网络架构-


在 Cosmos 网络中,每条链都是独立运行的,并设有自己的安全机制,而非像 Polkadot 那样采用 局部/全局 的安全性模型。每条链都有自己的共识机制,而且由单独的验证者来负责保护这条链的安全性。Cosmos 网络使用中心-分区模型来实现互操作性,每个分区(独立的链)都可以通过中心(同样是一条独立的链)向其它分区 “发送代币”。这个协议被称为 IBC (跨链通信),是链与链之间通过发送消息实现代币转账的协议。IBC 协议尚在开发之中,最开始先支持代币转账,最终会支持各类消息的跨链传递。

相比于 Polkadot 的架构而言,Cosmos 的架构最大的不同之处在于,每个分区的状态仅由各自的验证者保护。一个分区想要获得很强的安全性,就需要建立自己的验证者集,这对于小型应用程序来说会比较困难。不过,对于那些想要获得更多控制权的应用程序来说,这是个很大的亮点。例如,币安最开始就是用自己的节点来充当币安链的验证者,来促进去中心化交易所的持续运行。这样一来,币安在测试币安链并增加新功能的时候就有了充分的控制权。我觉得币安不太可能放弃决定哪些交易可以上链的权力,但若要在以太坊或 Polkadot 平台上开发,就不能不放弃这样的权力。正因如此,我认为 Telegram、Facebook 和 Kakao 这类公司会选择构建自己的区块链并掌握其控制权,未来也不太可能与别的链通信。

 
2. 治理和参与
 

Polkadot 和 Cosmos 之间的第二个主要差别在于治理和参与。在 Polkadot 网络中,只有一条中继链和一些与这条中继链共享验证者的平行链。根据目前的估算,平行链的数量上限为 100 条,不过未来有可能减少或增加。Polkadot 网络通过拍卖机制来竞拍平行链的使用权——出价最高的人需要在 PoS 系统中锁定一定数量的 DOT (Polkadot 上的原生货币),才可以在一定时间段内拥有所拍得平行链的使用权。这意味着要想使用 Polkadot 上的平行链,需要购买并锁定大量 DOT ,直到不想再使用这条平行链为止。

Cosmos 网络没有设置固定的参与规则——任何人都可以创建中心或分区。中心就是具有自治能力的区块链,专门用来连接其它区块链。这里有两个例子,一个是 Cosmos Hub,最近已由 Tendermint 团队上线;另一个是 Iris Hub,旨在连接主要运行于中国或其它亚洲国家的区块链 。这种中心-分区模型提高了跨链通信的效率,因为分区链只需要连接到中心,无需连接到其他每条链上。





-中心-分区模型可以更高效地连接多条链-


由于参与规则不同,这两个网络在治理流程上也存在差异。在 Polkadot 网络中,治理决策取决于投票者所质押的 DOT 数量。关于链上投票会有一套正式机制,不过尚未最终确定下来,点击此处可了解最新进展。除了采取以质押量决定投票权重的机制之外,Polkadot 还组建了一个委员会来代表不活跃的权益持有者。委员会最开始由 6 人组成,每两周增加 1 人,直到满 24 人为止。每位委员会成员均通过赞成投票的方式选出。治理流程的具体细节尚未敲定,也就是说有很多方法可以改变中继链的参数,如出块时间、区块奖励等,以及平行链的参与规则。例如,Polkadot 的治理流程可以改变平行链使用权的竞拍机制或所需的 DOT 数量。有一种常见的误解是 DOT 持有者可以通过投票随意弃用某条平行链。实际上,DOT 持有者只能改变参与流程。也就是说一旦竞拍下了某条平行链,在整个租期之内都享有这条链的使用权。

另一方面,Cosmos 网络不存在单一的 “治理”流程。每个中心和分区都有自己的治理流程,因此没有一套应用于整个系统内所有链的核心规则。我们所说的“Cosmos 治理”指的都是 Cosmos Hub 的治理,即由 Tendermint 团队上线的那条链。Cosmos Hub 的规则是,任何人都可以发送一个文本提议,由 ATOM 持有者进行投票表决,ATOM 的质押量决定了投票权重。想知道提议长什么样子,这里有个例子。如果你想深入了解治理流程的话,可以阅读一下 Chorus One 发布的这篇帖子,是了解 Cosmos Hub 治理机制的入门材料。

 
3. 跨链通信
 

Polkadot 和 Cosmos 之间的另一个差别是跨链通信协议及其设计目标。Polkadot 旨在实现平行链之间任意的消息传递。也就是说,平行链 A 可以调用平行链 B 中的智能合约,实现与平行链 B 之间的代币转账或是其他类型的通信。Cosmos 则聚焦于跨链资产转移,其协议较为简单。目前,这两种通信协议仍待完善细则,而且尚未构建完成。可以查看 IBC(跨链通信)和 ICMP(平行链之间的跨链通信)这两种协议的细则。

跨链通信所面临的最大挑战不是如何将一条链上的数据在另一条链上表示出来,而是如何处理链分叉和链重组这样的情况。这是 Cosmos 和 Polkadot 在构架设计上最大的差异。

为了确保跨链通信的安全性,Polkadot 采用了两种不同的机制。首先是安全性共享机制,降低了信息交换的难度。 共享安全性的另一个好处是所有平行链都位于同一个安全层级,因此每条链可以彼此信任。为便于理解,我们以以太坊(安全性较高)和 Verge(安全性较低)的交互操作为例。若想在 Verge 链上表示以太坊,我们可以锁定一些以太坊,然后在 Verge 链上生成 ETH-XVG 代币。然而,由于 Verge 链的安全性较低,攻击者可能会向 Verge 链发动 51% 攻击,并向以太坊区块链发送双花交易,就可以取回比实际拥有数量更多的以太币。因此,在互相发送消息的时候,安全性较高的链很难信任安全性较低的链。如果是在安全层级各不相同的链之间互传消息,情况就会变得更加复杂。

从理论上来说,共享安全性是一种保障跨链通信的良好方式。前提是,这种协议要确保能够经常对验证者进行混洗,再随机分配到各条平行链上。这就会造成经典的 “数据可用性问题”,即每次验证者被分配到新的平行链上,就需要下载新链的状态。这是目前区块链领域最大的难题之一,Polkadot 能否解决尚未可知。

其次,Polkadot 引入了 Fisherman(渔夫)的概念,也就是 Polkadot 网络上的 “赏金猎人”,专门监视平行链上的恶意行为。从某种意义上来说,这是抵御恶意行为的“第二道防线”。如果某条平行链的验证者将一个无效块上链,Fisherman 发现后可以向中继链提交证明,将包括所有平行链在内的整个 Polkadot 网络的状态进行回滚。在跨链通信期间,最令我们担心的莫过于一条链在重组,另一条链却运行如常。Polkadot 就避免了这个问题,一旦发现无效块上链,整个网络都会回滚。

Cosmos 采用了完全不同的跨链通信方式。因为每条链上都有自己的验证者,所以很有可能会出现分区中的验证者串谋的情况。也就是说,如果有两个分区需要通信,A 分区需要必须信任 Cosmos Hub(通信枢纽)以及 B 分区中的验证者。从理论上来说,A 分区的人在决定向 B 分区发送信息之前,需要调查一下 B 分区的验证者。不过我觉得实际情况没那么糟糕。 Polychain Labs 或 Zaki Manian 的 iqlusion 等知名验证者节点可能会验证多条链,逐渐建立起良好的声誉。也就是说,当 A 分区的人看到 B 分区是由 Polychain Labs 和 iqlusion 验证的,可能会因此决定信任 B 分区。

然而,即使一条链得到了人们的信任,也有可能被怀有恶意的攻击者控制,出现各种问题。有一段对话中提到了一个很好的例子:





-代币分散于不同分区的 Cosmos 网络-


假设上图中的小红点代表一种名为 ETM 的代币,即 Ethermint 分区的原生代币。A、B、C 三个分区的用户想要使用 ETM 来运行各自分区内的一些应用程序,而且他们都信任 Ethermint 分区,因此通过跨链通信在各自的分区内接受了一些 ETM 。现在假设 Ethermint 分区的验证者串谋发动双花攻击,任意转移 ETM 代币。这也会对剩余网络造成影响,因为 ETM 代币也存在于其他分区中。不过受波及的只有 Ethermint 或其他分区中的 ETM 代币持有者。Ethermint 分区中的恶意验证者只能毁掉自己的分区,破坏不了其他分区。这就是 Cosmos 架构的目标——确保恶意行为无法影响整个网络。

Polkadot 则不同。如果中继链(全局状态)上发生了无效状态更新,又没被 Fisherman 发现的话,Polkadot 网络中的每条平行链都会受到影响。平行链不能被看作是完全不同的东西,毕竟它们都共享同一个全局状态。

 
4. 共识算法
 

Polkadot 中继链采用的是 GRANDPA 共识算法。这个算法能让中继链迅速确定来自所有平行链的区块,并且容纳大量验证者(1000 名以上)。简单来说,这是因为并非所有验证者都需要对每一个区块进行投票——他们可以只需为自己认为有效的某个区块投票,相当于这个区块之前的所有区块也都得到了认可。通过这种方式,GRANDPA 算法可以找出一组得票数最多的区块,并将这组区块确定了下来。该算法仍处于开发之中,尚不知实际会如何执行。

平行链可以采用不同的共识算法达成局部共识。Polkadot 提供一个软件开发工具包(Substrate),其中包括 GRANDPA、Rhododendron 和 Aurand 三种开箱即用的共识算法。今后可能会有更多算法被加入 Substrate ,皆可应用于 Polkadot 网络。

在 Cosmos 网络中,每条链可以选用的共识算法有很多,只要是符合 ABCI 规范的共识算法即可。 ABCI 规范旨在实现跨链通信的标准化。目前只有 Tendermint 算法符合这个规范,还有另一些团队也在努力开发符合该规范的其他共识算法。从更抽象的层面上来看,Tendermint 算法的原理是让每位验证者都能互相通信,共同决定一个区块能否上链,这样就能实现单一区块层面上的确定性。该算法的速度很快,而且通过了 200 名验证者的压力测试,在 Game of Stakes(权益争夺赛)中的出块时间为 6 秒。Cosmos 团队也提供了一个软件开发工具包,里面包含了开箱即用的 Tendermint 算法。这篇文章很好地介绍了共识算法,以及 Tendermint 算法的功能。

Tendermint 算法最大的缺点是验证者之间的通信成本高很高。也就是说,虽然验证者人数在 200 左右的时候,算法的运行速度很快,一旦人数涨到了 2000 ,速度就会慢得多。另一方面需要权衡的是异步环境中的安全性。也就是说,在出现网络分区之时,不会出现两个不同的交易历史最终合并成一个(而另一个交易历史被抛弃)的情况,而是整个网络都将停止运行。这点非常重要,一旦一笔交易得到了“最终确认”,即使是在最差的网络环境下也不会被撤销。

我的个人观点是,基于共识算法来比较这两个项目没什么长远意义。这两个项目的构架未来都将接受不同的共识算法。如今的绝大多数应用不管使用的是 Tendermint 算法还是 Polkadot 的某个共识算法都可以良好运行。

 
5. Substrate vs Cosmos SDK
 

Polkadot 和 Cosmos 都提供软件开发工具包,分别叫作 Substrate 和 Cosmos SDK 。二者的目的都是为了便于开发者搭建自己的区块链,其中包括各种开箱即用的模块,例如治理模块(投票系统)、质押模块和认证模块等。这两个工具包最主要的区别在于,Cosmos SDK 仅支持 Go 语言,而 Substrate 支持任何可编译为 WASM (Web Assembly) 的语言,给予了开发者更多灵活性。

这两个工具包都是构建区块链的全新框架,未来几年还将新增更多功能。关于这两个工具包的深度剖析以及使用这两个工具包开发应用程序的详细体验需要另外写一篇文章了。如果你感兴趣的话,请在推特上给我 @juliankoh 留言。

 
结论
 

虽然这篇文章篇幅很长,写的也很详细,但是依然有所疏漏。Cosmos 和 Polkadot 之间的不同点很难把握,可能还有很多细节我没有捕捉到。要全方位了解这两个项目绝非易事,毕竟项目文件随时都可能改动。这两个项目尚在起步阶段,未来一年将得到极大的发展——我在上文中提到的几个点可能很快就不成立了。总而言之,我认为 Polkadot 相比 Cosmos 主要有以下几个优势:

    应用程序开发者不需要自己维护安全性
    共享安全性模型下的跨链通信更容易解决数据可用性问题
    Substrate(在 WASM、更多共识算法和开箱即用模块方面)表现出很大的野心
    相比跨平行链的合约调用更侧重于不限类型的信息传递(这一用例目前尚不明确)
    1.0 版本的开发者似乎多一些


反过来,Cosmos 相比 Polkadot 主要有以下几个优势:

    Cosmos 已经上线了,Polkadot 还没上线
    Polkadot 的平行链参与流程限制性更强,而且成本更高
    更能满足特定项目(如币安)对自定义的需求
    平行链上验证者的恶意行为会波及整个网络。在 Cosmos 网络中,恶意行为只能破坏个别分区和资产
    已经有很多项目在使用 Cosmos SDK 了
    重点关注如何降低资产转移的难度。目前已经有经过验证的用例。



感谢每一位不厌其烦为我答疑解惑的朋友,尤其是来自 Cosmos 团队的 Zaki Manian 和 Gautier Marin ,以及来自 Polkadot 团队的 Alistair Stewart 。NEAR Protocol (Alex Skidanov) 发布的 Whiteboard Series 系列视频很棒,对我理解这两个项目给予了很大帮助。Linda Xie 整理出来的关于 Polkadot 和 Cosmos 的链接帮助我缩小了文章的范围,让这篇文章更具有可读性。特别感谢 Cheryl Yeoh 在我撰写本文的过程中为我提供的灵感和思路,并且对本文进行了审校。

原文链接: https://medium.com/@juliankoh/5-differences-between-cosmos-polkadot-67f09535594b 作者: Julian Koh 翻译&校对: 闵敏 & 阿剑 查看全部
Polkadot-VS-Cosmos.jpg

Cosmos 和 Polkadot 都是关注区块链互操作性的项目,关于二者之间的差别已经有过很多讨论。如果你还不熟悉这两个项目,Linda Xie 发过一串推特介绍过这两个项目,可以作为很好的入门材料。

虽然已经有很多帖子分析过这两个项目的区别了,但是我认为其中大部分都存在一定的偏向性或者不够详细。通过这篇帖子,我会从架构权衡到哲学等方面更深入地探讨这两个项目。

 
为什么要构建一条新的区块链?
 

为什么一些项目要选择从头开始构建一条专门承载应用程序的区块链,而不是以智能合约的形式在现有的区块链上编写应用程序呢?主要有以下两点原因。

首先,现有的智能合约平台不一定能满足应用程序所需的灵活性和可定制性。举例来说,如果你想搭建的应用程序需要自定义的哈希函数,那么把它编写到以太坊上会消耗很多 gas ,因为这个函数每调用一次都需要在以太坊虚拟机内执行一次。一种解决方案是提议将这个函数作为预编译合约添加至以太坊协议内。但是,除非这个函数也广泛应用于其它应用程序,否则这项提议大概率是不会通过的。从头开始编写一条新的区块链,你就可以自由灵活地设计区块链的核心逻辑,以此满足你的应用程序的需求。

其次是自治问题。在智能合约平台上构建的应用程序必须接受平台的治理并遵守其规则,从区块时间和 gas 定价之类影响用户体验的规则,到回滚之类改变状态的决策等等。

但相应的,具有自治能力的链失去了与其它应用程序进行无缝通信的能力,因为应用程序都是搭建在使用不同状态机的区块链上。Cosmos 和 Polkadot 都致力于解决这个问题——Cosmos 采用的是 Hub-and-Zone(中心-分区) 模型,Polkadot 则采用的是Relay Chain/Parachain(中继链/平行链)模型。

读者需要对这两个项目有一定的了解,本文侧重于梳理二者的不同点。

 
1. 局部安全 vs 全局安全
 

Cosmos 和 Polkadot 采用的安全模型差别极大。简单来说,Polkadot 的工作流程如下:

201906180734231.png

- Polkadot 的网络架构-


平行链是 Polkadot 网络中的区块链。这些链有自己的状态机、自己的规则和自己的区块生产者,即核验人(collators)。每条平行链本质上都是一个独立的状态机,而且可以使用任何类型的特殊功能、共识算法、交易手续费结构等等。在 Polkadot 网络中,所有平行链都有同一条母链,叫做中继链,里面包含了由所有平行链组成的 “全局状态”。中继链拥有自己的共识算法,叫做 GRANDPA 共识(祖父共识),可以迅速将平行链上的区块确定下来。通过这个模型,Polkadot 的平行链实现了 “安全性共享”——如果中继链上有 1000 名验证者,具有极高的安全性,凡是连接到这条中继链的平行链都会受益。这样一来,平行链即能拥有自己的状态机并自定义规则,又能与成百上千条平行链一起共享母链的安全性。

这种模型的罩门在于由中继链上的验证者来验证平行链上的状态改变。例如,验证者可能会出于某种原因一直拒绝某条链上的核验人提议的区块,而且这条中继链上的区块永远无法被添加进全局状态。为了尽量避免这种情况,Polkadot 对验证者进行混洗,让他们随机验证平行链,降低同一位验证者始终验证同一条平行链的概率。Polkadot 还另设有一类被称为 Fishermen (渔夫)的验证者,他们会不断查验验证者是否存在恶意行为。

Cosmos 采用了完全不同的网络架构。

201906180734232.png

- Cosmos的网络架构-


在 Cosmos 网络中,每条链都是独立运行的,并设有自己的安全机制,而非像 Polkadot 那样采用 局部/全局 的安全性模型。每条链都有自己的共识机制,而且由单独的验证者来负责保护这条链的安全性。Cosmos 网络使用中心-分区模型来实现互操作性,每个分区(独立的链)都可以通过中心(同样是一条独立的链)向其它分区 “发送代币”。这个协议被称为 IBC (跨链通信),是链与链之间通过发送消息实现代币转账的协议。IBC 协议尚在开发之中,最开始先支持代币转账,最终会支持各类消息的跨链传递。

相比于 Polkadot 的架构而言,Cosmos 的架构最大的不同之处在于,每个分区的状态仅由各自的验证者保护。一个分区想要获得很强的安全性,就需要建立自己的验证者集,这对于小型应用程序来说会比较困难。不过,对于那些想要获得更多控制权的应用程序来说,这是个很大的亮点。例如,币安最开始就是用自己的节点来充当币安链的验证者,来促进去中心化交易所的持续运行。这样一来,币安在测试币安链并增加新功能的时候就有了充分的控制权。我觉得币安不太可能放弃决定哪些交易可以上链的权力,但若要在以太坊或 Polkadot 平台上开发,就不能不放弃这样的权力。正因如此,我认为 Telegram、Facebook 和 Kakao 这类公司会选择构建自己的区块链并掌握其控制权,未来也不太可能与别的链通信。

 
2. 治理和参与
 

Polkadot 和 Cosmos 之间的第二个主要差别在于治理和参与。在 Polkadot 网络中,只有一条中继链和一些与这条中继链共享验证者的平行链。根据目前的估算,平行链的数量上限为 100 条,不过未来有可能减少或增加。Polkadot 网络通过拍卖机制来竞拍平行链的使用权——出价最高的人需要在 PoS 系统中锁定一定数量的 DOT (Polkadot 上的原生货币),才可以在一定时间段内拥有所拍得平行链的使用权。这意味着要想使用 Polkadot 上的平行链,需要购买并锁定大量 DOT ,直到不想再使用这条平行链为止。

Cosmos 网络没有设置固定的参与规则——任何人都可以创建中心或分区。中心就是具有自治能力的区块链,专门用来连接其它区块链。这里有两个例子,一个是 Cosmos Hub,最近已由 Tendermint 团队上线;另一个是 Iris Hub,旨在连接主要运行于中国或其它亚洲国家的区块链 。这种中心-分区模型提高了跨链通信的效率,因为分区链只需要连接到中心,无需连接到其他每条链上。

201906180734243.png

-中心-分区模型可以更高效地连接多条链-


由于参与规则不同,这两个网络在治理流程上也存在差异。在 Polkadot 网络中,治理决策取决于投票者所质押的 DOT 数量。关于链上投票会有一套正式机制,不过尚未最终确定下来,点击此处可了解最新进展。除了采取以质押量决定投票权重的机制之外,Polkadot 还组建了一个委员会来代表不活跃的权益持有者。委员会最开始由 6 人组成,每两周增加 1 人,直到满 24 人为止。每位委员会成员均通过赞成投票的方式选出。治理流程的具体细节尚未敲定,也就是说有很多方法可以改变中继链的参数,如出块时间、区块奖励等,以及平行链的参与规则。例如,Polkadot 的治理流程可以改变平行链使用权的竞拍机制或所需的 DOT 数量。有一种常见的误解是 DOT 持有者可以通过投票随意弃用某条平行链。实际上,DOT 持有者只能改变参与流程。也就是说一旦竞拍下了某条平行链,在整个租期之内都享有这条链的使用权。

另一方面,Cosmos 网络不存在单一的 “治理”流程。每个中心和分区都有自己的治理流程,因此没有一套应用于整个系统内所有链的核心规则。我们所说的“Cosmos 治理”指的都是 Cosmos Hub 的治理,即由 Tendermint 团队上线的那条链。Cosmos Hub 的规则是,任何人都可以发送一个文本提议,由 ATOM 持有者进行投票表决,ATOM 的质押量决定了投票权重。想知道提议长什么样子,这里有个例子。如果你想深入了解治理流程的话,可以阅读一下 Chorus One 发布的这篇帖子,是了解 Cosmos Hub 治理机制的入门材料。

 
3. 跨链通信
 

Polkadot 和 Cosmos 之间的另一个差别是跨链通信协议及其设计目标。Polkadot 旨在实现平行链之间任意的消息传递。也就是说,平行链 A 可以调用平行链 B 中的智能合约,实现与平行链 B 之间的代币转账或是其他类型的通信。Cosmos 则聚焦于跨链资产转移,其协议较为简单。目前,这两种通信协议仍待完善细则,而且尚未构建完成。可以查看 IBC(跨链通信)和 ICMP(平行链之间的跨链通信)这两种协议的细则。

跨链通信所面临的最大挑战不是如何将一条链上的数据在另一条链上表示出来,而是如何处理链分叉和链重组这样的情况。这是 Cosmos 和 Polkadot 在构架设计上最大的差异。

为了确保跨链通信的安全性,Polkadot 采用了两种不同的机制。首先是安全性共享机制,降低了信息交换的难度。 共享安全性的另一个好处是所有平行链都位于同一个安全层级,因此每条链可以彼此信任。为便于理解,我们以以太坊(安全性较高)和 Verge(安全性较低)的交互操作为例。若想在 Verge 链上表示以太坊,我们可以锁定一些以太坊,然后在 Verge 链上生成 ETH-XVG 代币。然而,由于 Verge 链的安全性较低,攻击者可能会向 Verge 链发动 51% 攻击,并向以太坊区块链发送双花交易,就可以取回比实际拥有数量更多的以太币。因此,在互相发送消息的时候,安全性较高的链很难信任安全性较低的链。如果是在安全层级各不相同的链之间互传消息,情况就会变得更加复杂。

从理论上来说,共享安全性是一种保障跨链通信的良好方式。前提是,这种协议要确保能够经常对验证者进行混洗,再随机分配到各条平行链上。这就会造成经典的 “数据可用性问题”,即每次验证者被分配到新的平行链上,就需要下载新链的状态。这是目前区块链领域最大的难题之一,Polkadot 能否解决尚未可知。

其次,Polkadot 引入了 Fisherman(渔夫)的概念,也就是 Polkadot 网络上的 “赏金猎人”,专门监视平行链上的恶意行为。从某种意义上来说,这是抵御恶意行为的“第二道防线”。如果某条平行链的验证者将一个无效块上链,Fisherman 发现后可以向中继链提交证明,将包括所有平行链在内的整个 Polkadot 网络的状态进行回滚。在跨链通信期间,最令我们担心的莫过于一条链在重组,另一条链却运行如常。Polkadot 就避免了这个问题,一旦发现无效块上链,整个网络都会回滚。

Cosmos 采用了完全不同的跨链通信方式。因为每条链上都有自己的验证者,所以很有可能会出现分区中的验证者串谋的情况。也就是说,如果有两个分区需要通信,A 分区需要必须信任 Cosmos Hub(通信枢纽)以及 B 分区中的验证者。从理论上来说,A 分区的人在决定向 B 分区发送信息之前,需要调查一下 B 分区的验证者。不过我觉得实际情况没那么糟糕。 Polychain Labs 或 Zaki Manian 的 iqlusion 等知名验证者节点可能会验证多条链,逐渐建立起良好的声誉。也就是说,当 A 分区的人看到 B 分区是由 Polychain Labs 和 iqlusion 验证的,可能会因此决定信任 B 分区。

然而,即使一条链得到了人们的信任,也有可能被怀有恶意的攻击者控制,出现各种问题。有一段对话中提到了一个很好的例子:

201906180734244.png

-代币分散于不同分区的 Cosmos 网络-


假设上图中的小红点代表一种名为 ETM 的代币,即 Ethermint 分区的原生代币。A、B、C 三个分区的用户想要使用 ETM 来运行各自分区内的一些应用程序,而且他们都信任 Ethermint 分区,因此通过跨链通信在各自的分区内接受了一些 ETM 。现在假设 Ethermint 分区的验证者串谋发动双花攻击,任意转移 ETM 代币。这也会对剩余网络造成影响,因为 ETM 代币也存在于其他分区中。不过受波及的只有 Ethermint 或其他分区中的 ETM 代币持有者。Ethermint 分区中的恶意验证者只能毁掉自己的分区,破坏不了其他分区。这就是 Cosmos 架构的目标——确保恶意行为无法影响整个网络。

Polkadot 则不同。如果中继链(全局状态)上发生了无效状态更新,又没被 Fisherman 发现的话,Polkadot 网络中的每条平行链都会受到影响。平行链不能被看作是完全不同的东西,毕竟它们都共享同一个全局状态。

 
4. 共识算法
 

Polkadot 中继链采用的是 GRANDPA 共识算法。这个算法能让中继链迅速确定来自所有平行链的区块,并且容纳大量验证者(1000 名以上)。简单来说,这是因为并非所有验证者都需要对每一个区块进行投票——他们可以只需为自己认为有效的某个区块投票,相当于这个区块之前的所有区块也都得到了认可。通过这种方式,GRANDPA 算法可以找出一组得票数最多的区块,并将这组区块确定了下来。该算法仍处于开发之中,尚不知实际会如何执行。

平行链可以采用不同的共识算法达成局部共识。Polkadot 提供一个软件开发工具包(Substrate),其中包括 GRANDPA、Rhododendron 和 Aurand 三种开箱即用的共识算法。今后可能会有更多算法被加入 Substrate ,皆可应用于 Polkadot 网络。

在 Cosmos 网络中,每条链可以选用的共识算法有很多,只要是符合 ABCI 规范的共识算法即可。 ABCI 规范旨在实现跨链通信的标准化。目前只有 Tendermint 算法符合这个规范,还有另一些团队也在努力开发符合该规范的其他共识算法。从更抽象的层面上来看,Tendermint 算法的原理是让每位验证者都能互相通信,共同决定一个区块能否上链,这样就能实现单一区块层面上的确定性。该算法的速度很快,而且通过了 200 名验证者的压力测试,在 Game of Stakes(权益争夺赛)中的出块时间为 6 秒。Cosmos 团队也提供了一个软件开发工具包,里面包含了开箱即用的 Tendermint 算法。这篇文章很好地介绍了共识算法,以及 Tendermint 算法的功能。

Tendermint 算法最大的缺点是验证者之间的通信成本高很高。也就是说,虽然验证者人数在 200 左右的时候,算法的运行速度很快,一旦人数涨到了 2000 ,速度就会慢得多。另一方面需要权衡的是异步环境中的安全性。也就是说,在出现网络分区之时,不会出现两个不同的交易历史最终合并成一个(而另一个交易历史被抛弃)的情况,而是整个网络都将停止运行。这点非常重要,一旦一笔交易得到了“最终确认”,即使是在最差的网络环境下也不会被撤销。

我的个人观点是,基于共识算法来比较这两个项目没什么长远意义。这两个项目的构架未来都将接受不同的共识算法。如今的绝大多数应用不管使用的是 Tendermint 算法还是 Polkadot 的某个共识算法都可以良好运行。

 
5. Substrate vs Cosmos SDK
 

Polkadot 和 Cosmos 都提供软件开发工具包,分别叫作 Substrate 和 Cosmos SDK 。二者的目的都是为了便于开发者搭建自己的区块链,其中包括各种开箱即用的模块,例如治理模块(投票系统)、质押模块和认证模块等。这两个工具包最主要的区别在于,Cosmos SDK 仅支持 Go 语言,而 Substrate 支持任何可编译为 WASM (Web Assembly) 的语言,给予了开发者更多灵活性。

这两个工具包都是构建区块链的全新框架,未来几年还将新增更多功能。关于这两个工具包的深度剖析以及使用这两个工具包开发应用程序的详细体验需要另外写一篇文章了。如果你感兴趣的话,请在推特上给我 @juliankoh 留言。

 
结论
 

虽然这篇文章篇幅很长,写的也很详细,但是依然有所疏漏。Cosmos 和 Polkadot 之间的不同点很难把握,可能还有很多细节我没有捕捉到。要全方位了解这两个项目绝非易事,毕竟项目文件随时都可能改动。这两个项目尚在起步阶段,未来一年将得到极大的发展——我在上文中提到的几个点可能很快就不成立了。总而言之,我认为 Polkadot 相比 Cosmos 主要有以下几个优势:


    应用程序开发者不需要自己维护安全性
    共享安全性模型下的跨链通信更容易解决数据可用性问题
    Substrate(在 WASM、更多共识算法和开箱即用模块方面)表现出很大的野心
    相比跨平行链的合约调用更侧重于不限类型的信息传递(这一用例目前尚不明确)
    1.0 版本的开发者似乎多一些



反过来,Cosmos 相比 Polkadot 主要有以下几个优势:


    Cosmos 已经上线了,Polkadot 还没上线
    Polkadot 的平行链参与流程限制性更强,而且成本更高
    更能满足特定项目(如币安)对自定义的需求
    平行链上验证者的恶意行为会波及整个网络。在 Cosmos 网络中,恶意行为只能破坏个别分区和资产
    已经有很多项目在使用 Cosmos SDK 了
    重点关注如何降低资产转移的难度。目前已经有经过验证的用例。




感谢每一位不厌其烦为我答疑解惑的朋友,尤其是来自 Cosmos 团队的 Zaki Manian 和 Gautier Marin ,以及来自 Polkadot 团队的 Alistair Stewart 。NEAR Protocol (Alex Skidanov) 发布的 Whiteboard Series 系列视频很棒,对我理解这两个项目给予了很大帮助。Linda Xie 整理出来的关于 Polkadot 和 Cosmos 的链接帮助我缩小了文章的范围,让这篇文章更具有可读性。特别感谢 Cheryl Yeoh 在我撰写本文的过程中为我提供的灵感和思路,并且对本文进行了审校。

原文链接: https://medium.com/@juliankoh/5-differences-between-cosmos-polkadot-67f09535594b 作者: Julian Koh 翻译&校对: 闵敏 & 阿剑

深度 | 从 Polkadot、Cosmos 的权益质押机制看区块链治理

cryptovalley 发表了文章 • 2019-06-18 12:47 • 来自相关话题

2019年,迎合数字资产权益证明(Proof of Stake)发展趋势的公司增长迅猛,逐渐成为市场主流。这个新兴行业的核心叫做权益服务(Staking-as-a-Service),因其优势明显,被Tezos、Decred和Cosmos等项目相继采纳。

就像在工作量证明(Proof of Work)中的矿池聚集了矿工的哈希值一样,这类项目允许资产规模较小的持币者也能利用他们的权益(Stake)来换取相应的区块奖励。

分析师预计,随着这类平台用消减费用等手段来提供更有吸引力的商品或服务,Staking-as-a-Service市场竞争将加剧,随之导致加密经济投资门槛大幅降低。

我们期望,在管理层面上,Staking-as-a-Service能产生不一样的结果。但我们也应该预见到,这些公司在影响协议方向时收取的费用会逐步演化出带有政治意味的利益集团。

本文由网络安全咨询专家Max Fiege研究撰写,由加密谷独家编译。


PoS机制的政治性


所有依赖于流动性权益证明(LPoS)或权益证明(PoS)的网络都规定,作为验证人,你必须在网络中投放不低于下限的资产。不符合条件的持币者可以将其原生资产委托或汇集到一个现成的验证人手里。

这样一来,他们依然可以根据资产份额获得相应的投票权利。

下表说明了各个产品所需投放的阈值,这导致大多持币人被排除在外。






需要注意以下几点:

    Cosmos的阈值为前100名的网络验证人。在撰写本文时,10,000个ATOM能达到此要求的最低标准。
    Decred的阈值取决于“票价”,在撰写本文时,其“票价”为120 DCR。
    Polkadot主网尚未上线,所以我们只能根据其IOU市场来估算DOT价格。
    Tezos最近的投票决定将最低阈值由10,000 XTZ降至8,000 XTZ。这一变化于夏天生效。


虽然这些区块链网络上的美元价值和原生资产阈值都有所波动,但不可否定的是,这些指标都倾向于权益持有者的上层。

这一阈值也使得区块的传播时间趋于正常化(因验证人越多,区块被验证的时间也越长),确保验证人能得到相应的收益。这种二阶效应也激励着权益持有者增加并汇集更多的资产,以抵消因权益生产和治理网络的发言权上所产生的通胀影响。

但是,必须指出,拥有治理网络的发言权扭曲了Staking-as-a-Service的自身特性,让我们将其视为商品。这不一定准确。

对不同的区块链网络,资产持有者拥有发言权含义不尽相同,但事实已经证明,其价值非同小可:

    Decred:在Politeia财政部门中,有10%的区块奖励专门用来奖赏“持票人”。持票人可以提交并随后投票支持提案。他们目前拥有约610,000 的DCR或1500万美元的“干粉”(意指其流动性强),用于在社区内资助有益的活动(例如核心开发人员的工资,会议旅行等)。而无法成为持票人的持币者可以将他们的DCR与VSP(Voting Service Provider)汇集在一起,以获得相应的投票权和收益权。
    Tezos:面包师(即:验证人)在每个提案期内,都可以对多达20个的提案进行投票。根据Tezos的治理机制来看,此提案期在每个96天的周期内将持续约24天。与Decred中的持票人不同,面包师们不能获得资金上的奖励; 然而,在一些特殊的提案中他们可以获得通胀资金的发票,这是与5.51%的年度区块奖励比例完全独立的奖励。
    Cosmos:验证人可以随时提交提案,然而他们必须提供512 枚ATOM才能进行为期两周的投票。如提案成功,验证人收到退款;若失败,他们将失去所提供的 ATOM。这些失去的ATOM 会被汇集到社区资金池,旨在改善Cosmos网络的安全性、实用性,继续提供价值。目前验证人无法使用社区资金池的资金,但早期治理经验显示,系统更偏向于Politeia的机制。


正如公司倡导建立良好的商业规则与友好的政府关系一样,这些建立在网络上的团队都想在治理提案控制权上逐步优化。他们需要妥善地管理自己的资金,从其成员和粉丝那里获得支持,得到社区论坛上的认可,来尽量降低因大众资金过于强大导致的原始协议变更这一结构性风险。因为,委托或汇集公众资金到少数人手中将会变得政治化,若一个验证人太过强大,则其他人的意愿会被扭曲,无法实现。


Staking-as-a-Service的模式进化


选择一个诚实的矿池具有市场层面的影响,而委托给特定的验证人则会产生网络管理层面的影响。就前者而言,你能把区块奖励份额分配到多个矿池;而后者,你的决策可能成为清算社区基金的决定性投票。

可能有人会说,2014年的Ghash.io矿池事件就是反证。但是随着时间的推移,人们忘记了工作量证明变得越来越商品化,而权益证明则会越来越政治化。出于这个原因,我们不应该期望从事Staking-as-a-Service的企业能够按照BTC矿池一样的路径来发展。

我们可以回溯一下传统的政治框架。在历史上,掌权者通常会对寻租行为采取默许的态度,以对抗威胁。这里是一些例子:

    在罗马帝国的迫害下,早期的天主教会在整个中世纪依然坚挺;
    尽管劳动权益保护被写入法律,但工人要交的联盟会费(即:工会费),作为薪水的一部分,依然在增加;
    党派成员都期望在他们的任期内对成员体系进行排名;
    美国医学协会的成立,最初是为了对联邦政府的医疗立法和监管行为进行标准化。然而现在已发展成为一个商业组织。


如果这一政治框架发生在“链上”,会产生什么后果呢?

现在回答这个问题还为时尚早,因为从事Staking-as-a-Service的企业之间存在着竞争,加上现在相对较高的收益率,即使支出了交易费,收支也能达到动态平衡。

但显然,在市场饱和期出现争议性提案时,后面的事会自然而然的发生:一个验证人或权益池将向特定的人群推销自己。在得到足够多的支持以后,验证人和权益池会意识到,他们可以操控网络,收取5-10%的手续费用而不是1%只是时间问题罢了。

随着该模式的推广和普及,新的持币者将不由自主的把自己的权益资产汇集到特定的验证人手里,如果他们想参与网络治理而不仅仅是资产投机的话。

我们可以审视一下这些冲突的结果:

    资金分配:由于像Decred和Cosmos这样的网络上,资金随着时间的推移而扩大,以后任意的资金提案将更不被重视。如果一个网络能存活十年,持币者觉得时机合适时,数十亿美元的“干粉”资本将被自由分配。这些资金可以用来进行产品开发或开源硬件生产,或者干脆邀请前100名持币者组织参与豪华邮轮之旅。为了维持资本配置的投票权,上调资金下限可能会让token持有者产生焦虑感。
    核心开发人员情绪:Tezos这样的网络允许持币者通过投票对原始协议进行变更。在早期,大多数重要的技术提案都来自于核心开发团队,例如Nomadic Labs。然而随着网络发展,缺乏经验者或者恶意开发人员改变原始协议的风险也会逐渐提高。为了降低这种风险,核心开发人员可以“变身”为验证人或权益池,来提高其声誉,并为自己提供资金。
    权益资产阈值:当前的权益证明网络(POS)采用多种方法来确认验证人。从以太坊需要32 ETH,到Tezos需要8,000 XTZ和Cosmos只取前一百个持币者地址,各类方法层出不穷。在实践中,人们才能逐步发现最理想的资产阈值,而其他网络也会效仿。


然而,如果扩大验证池会威胁到老牌验证人的资金收入,他们可能会对此持反对意见。在这种情况下,一个有进取心的验证人可以找到处于边缘位置的持币者,让他们在支付更高的费用来进行提案的前提下成为验证人。

以上事例不仅说明了在数字资产中为何会出现政治框架,还强调了从长远来看,网络稳定性尤其重要。事实表明,随着时间的推移,验证人的权益将会变得愈发重要,这与BTC所推行的反脆弱性形成了鲜明的对比。

换言之,随着时间推移,占主导地位的PoW型的数字资产所受到的攻击面会越来越小,而运用PoS模式的则相反。这导致的管理需求将以权益费的形式对整个网络造成无谓的损失,类似于传统政治体制中的游说或赞助。

如此看来, PoS会给区块链带来政治上的不确定性?事实上,像Coinbase和Binance这样的大型交易所会长期占据主导地位,因为他们可以承受亏损,而大多数持币者对网络治理毫不关心。

正如BTC重新改写了货币史一般,我们应该预见到,运用PoS机制的数字资产将在链上重现政治集团。长期来看,即使像以太坊2.0这样没有链上治理机制的网络,其硬分叉所构成的威胁也不一定会比PoW系统所受的威胁小。

当然,开发人员能否设计出一个永久存续的网络还有待观察。 毕竟,不可一世的帝国都会瞬间灭亡,一个特定的数字资产能够有多长的生命周期呢?


Max Fiege   作者
Potter Li   翻译
来源:加密谷
内容仅供参考 不作为投资建议 风险自担 查看全部
201906181111231.jpg

2019年,迎合数字资产权益证明(Proof of Stake)发展趋势的公司增长迅猛,逐渐成为市场主流。这个新兴行业的核心叫做权益服务(Staking-as-a-Service),因其优势明显,被Tezos、Decred和Cosmos等项目相继采纳。

就像在工作量证明(Proof of Work)中的矿池聚集了矿工的哈希值一样,这类项目允许资产规模较小的持币者也能利用他们的权益(Stake)来换取相应的区块奖励。

分析师预计,随着这类平台用消减费用等手段来提供更有吸引力的商品或服务,Staking-as-a-Service市场竞争将加剧,随之导致加密经济投资门槛大幅降低。

我们期望,在管理层面上,Staking-as-a-Service能产生不一样的结果。但我们也应该预见到,这些公司在影响协议方向时收取的费用会逐步演化出带有政治意味的利益集团。

本文由网络安全咨询专家Max Fiege研究撰写,由加密谷独家编译。


PoS机制的政治性


所有依赖于流动性权益证明(LPoS)或权益证明(PoS)的网络都规定,作为验证人,你必须在网络中投放不低于下限的资产。不符合条件的持币者可以将其原生资产委托或汇集到一个现成的验证人手里。

这样一来,他们依然可以根据资产份额获得相应的投票权利。

下表说明了各个产品所需投放的阈值,这导致大多持币人被排除在外。

201906181111245.png


需要注意以下几点:


    Cosmos的阈值为前100名的网络验证人。在撰写本文时,10,000个ATOM能达到此要求的最低标准。
    Decred的阈值取决于“票价”,在撰写本文时,其“票价”为120 DCR。
    Polkadot主网尚未上线,所以我们只能根据其IOU市场来估算DOT价格。
    Tezos最近的投票决定将最低阈值由10,000 XTZ降至8,000 XTZ。这一变化于夏天生效。



虽然这些区块链网络上的美元价值和原生资产阈值都有所波动,但不可否定的是,这些指标都倾向于权益持有者的上层。

这一阈值也使得区块的传播时间趋于正常化(因验证人越多,区块被验证的时间也越长),确保验证人能得到相应的收益。这种二阶效应也激励着权益持有者增加并汇集更多的资产,以抵消因权益生产和治理网络的发言权上所产生的通胀影响。

但是,必须指出,拥有治理网络的发言权扭曲了Staking-as-a-Service的自身特性,让我们将其视为商品。这不一定准确。

对不同的区块链网络,资产持有者拥有发言权含义不尽相同,但事实已经证明,其价值非同小可:


    Decred:在Politeia财政部门中,有10%的区块奖励专门用来奖赏“持票人”。持票人可以提交并随后投票支持提案。他们目前拥有约610,000 的DCR或1500万美元的“干粉”(意指其流动性强),用于在社区内资助有益的活动(例如核心开发人员的工资,会议旅行等)。而无法成为持票人的持币者可以将他们的DCR与VSP(Voting Service Provider)汇集在一起,以获得相应的投票权和收益权。
    Tezos:面包师(即:验证人)在每个提案期内,都可以对多达20个的提案进行投票。根据Tezos的治理机制来看,此提案期在每个96天的周期内将持续约24天。与Decred中的持票人不同,面包师们不能获得资金上的奖励; 然而,在一些特殊的提案中他们可以获得通胀资金的发票,这是与5.51%的年度区块奖励比例完全独立的奖励。
    Cosmos:验证人可以随时提交提案,然而他们必须提供512 枚ATOM才能进行为期两周的投票。如提案成功,验证人收到退款;若失败,他们将失去所提供的 ATOM。这些失去的ATOM 会被汇集到社区资金池,旨在改善Cosmos网络的安全性、实用性,继续提供价值。目前验证人无法使用社区资金池的资金,但早期治理经验显示,系统更偏向于Politeia的机制。



正如公司倡导建立良好的商业规则与友好的政府关系一样,这些建立在网络上的团队都想在治理提案控制权上逐步优化。他们需要妥善地管理自己的资金,从其成员和粉丝那里获得支持,得到社区论坛上的认可,来尽量降低因大众资金过于强大导致的原始协议变更这一结构性风险。因为,委托或汇集公众资金到少数人手中将会变得政治化,若一个验证人太过强大,则其他人的意愿会被扭曲,无法实现。


Staking-as-a-Service的模式进化


选择一个诚实的矿池具有市场层面的影响,而委托给特定的验证人则会产生网络管理层面的影响。就前者而言,你能把区块奖励份额分配到多个矿池;而后者,你的决策可能成为清算社区基金的决定性投票。

可能有人会说,2014年的Ghash.io矿池事件就是反证。但是随着时间的推移,人们忘记了工作量证明变得越来越商品化,而权益证明则会越来越政治化。出于这个原因,我们不应该期望从事Staking-as-a-Service的企业能够按照BTC矿池一样的路径来发展。

我们可以回溯一下传统的政治框架。在历史上,掌权者通常会对寻租行为采取默许的态度,以对抗威胁。这里是一些例子:


    在罗马帝国的迫害下,早期的天主教会在整个中世纪依然坚挺;
    尽管劳动权益保护被写入法律,但工人要交的联盟会费(即:工会费),作为薪水的一部分,依然在增加;
    党派成员都期望在他们的任期内对成员体系进行排名;
    美国医学协会的成立,最初是为了对联邦政府的医疗立法和监管行为进行标准化。然而现在已发展成为一个商业组织。



如果这一政治框架发生在“链上”,会产生什么后果呢?

现在回答这个问题还为时尚早,因为从事Staking-as-a-Service的企业之间存在着竞争,加上现在相对较高的收益率,即使支出了交易费,收支也能达到动态平衡。

但显然,在市场饱和期出现争议性提案时,后面的事会自然而然的发生:一个验证人或权益池将向特定的人群推销自己。在得到足够多的支持以后,验证人和权益池会意识到,他们可以操控网络,收取5-10%的手续费用而不是1%只是时间问题罢了。

随着该模式的推广和普及,新的持币者将不由自主的把自己的权益资产汇集到特定的验证人手里,如果他们想参与网络治理而不仅仅是资产投机的话。

我们可以审视一下这些冲突的结果:


    资金分配:由于像Decred和Cosmos这样的网络上,资金随着时间的推移而扩大,以后任意的资金提案将更不被重视。如果一个网络能存活十年,持币者觉得时机合适时,数十亿美元的“干粉”资本将被自由分配。这些资金可以用来进行产品开发或开源硬件生产,或者干脆邀请前100名持币者组织参与豪华邮轮之旅。为了维持资本配置的投票权,上调资金下限可能会让token持有者产生焦虑感。
    核心开发人员情绪:Tezos这样的网络允许持币者通过投票对原始协议进行变更。在早期,大多数重要的技术提案都来自于核心开发团队,例如Nomadic Labs。然而随着网络发展,缺乏经验者或者恶意开发人员改变原始协议的风险也会逐渐提高。为了降低这种风险,核心开发人员可以“变身”为验证人或权益池,来提高其声誉,并为自己提供资金。
    权益资产阈值:当前的权益证明网络(POS)采用多种方法来确认验证人。从以太坊需要32 ETH,到Tezos需要8,000 XTZ和Cosmos只取前一百个持币者地址,各类方法层出不穷。在实践中,人们才能逐步发现最理想的资产阈值,而其他网络也会效仿。



然而,如果扩大验证池会威胁到老牌验证人的资金收入,他们可能会对此持反对意见。在这种情况下,一个有进取心的验证人可以找到处于边缘位置的持币者,让他们在支付更高的费用来进行提案的前提下成为验证人。

以上事例不仅说明了在数字资产中为何会出现政治框架,还强调了从长远来看,网络稳定性尤其重要。事实表明,随着时间的推移,验证人的权益将会变得愈发重要,这与BTC所推行的反脆弱性形成了鲜明的对比。

换言之,随着时间推移,占主导地位的PoW型的数字资产所受到的攻击面会越来越小,而运用PoS模式的则相反。这导致的管理需求将以权益费的形式对整个网络造成无谓的损失,类似于传统政治体制中的游说或赞助。

如此看来, PoS会给区块链带来政治上的不确定性?事实上,像Coinbase和Binance这样的大型交易所会长期占据主导地位,因为他们可以承受亏损,而大多数持币者对网络治理毫不关心。

正如BTC重新改写了货币史一般,我们应该预见到,运用PoS机制的数字资产将在链上重现政治集团。长期来看,即使像以太坊2.0这样没有链上治理机制的网络,其硬分叉所构成的威胁也不一定会比PoW系统所受的威胁小。

当然,开发人员能否设计出一个永久存续的网络还有待观察。 毕竟,不可一世的帝国都会瞬间灭亡,一个特定的数字资产能够有多长的生命周期呢?


Max Fiege   作者
Potter Li   翻译
来源:加密谷
内容仅供参考 不作为投资建议 风险自担

回报率850%? 这个用Python优化的比特币交易机器人简直太烧脑了...

blockchaincamp 发表了文章 • 2019-06-13 12:42 • 来自相关话题

上个月,AI 工程师 Adam King 结合人工智能在预测方面得天独厚的优势,提出使用深度强化学习构建加密货币自动交易的程序。在展示模型中,程序的收益率竟达到了惊人的 60 倍(只讨论技术,无关投资建议)。

但在当时,这个展示模型略显粗糙。虽然能获得收益,但它并不稳定。使用它可能让你赚得盆满钵盈,也有可能让你赔得一无所有,颇有些“富贵险中求”的意味。

不稳定的问题一直困扰着 Adam 小哥,经过一个月的蛰伏,小哥提出将特征工程和贝叶斯优化两大杀器引入模型。这些改进会奏效么?收益率又能提升多少呢?一起来看看 Adam 小哥的最新力作吧!



在上一篇文章中(《60倍回报! AI工程师用OpenAI创建了一个比特币自动交易工具》),我们使用深度强化学习创建了一个可以赚钱的比特币自动交易智能体。虽然这个智能体能够做到自动交易比特币获得收益,但它的收益率并没有让人眼前一亮,今天我们会大幅度改进这个比特币交易智能体,从而提高它的收益率。

需要注意的是,本篇文章的目的是测试当下最先进的深度强化学习技术是否能与区块链相结合,创造出一个可以盈利的比特币自动交易智能体。目前看来业界都还没有意识到深度强化学习在自动交易方面强大的潜力,反而认为它并不是一个“能用来构建交易算法的工具”。不过,深度学习领域的最新进展已经表明,在同一个问题上强化学习智能体通常能够比普通的监督学习智能体学习到更多的特征。

出于这个原因,我做了相关的实验来探究基于深度强化学习的交易智能体究竟能达到怎样的收益率,当然了,结果也可能会是深度强化学习有着很强的局限性以至于并不适合做交易智能体,但不去尝试谁又知道结果如何呢?

首先,我们将会改进深度强化学习模型的策略网络( policy network )并使输入数据变得平稳,以便交易智能体能在很少的数据中学习到更多的特征。

接下来,我们将使用当下先进的特征工程方法来改善交易智能体的观察空间,同时微调交易智能体的奖励函数( reward function )以帮助它发现更好的交易策略。

最后,在训练并测试交易智能体获得的收益率之前,我们将使用贝叶斯优化的方法来寻找能最大化收益率的超参数。

前方高能,系好安全带,让我们开始这场干货满满的探索之旅吧。


关于深度强化学习模型的改进


在上一篇文章中,我们已经实现了深度强化学习模型的基本功能,

GitHub 地址:

https://github.com/notadamking/Bitcoin-Trader-RL

当务之急是提高深度强化学习智能体的盈利能力,换句话说就是要对模型进行一些改进。


循环神经网络(Recurrent Neural Network,RNN)

我们需要做的第一个改进就是使用循环神经网络来改进策略网络,也就是说,使用长短期记忆网络( Long Short-Term Memory ,LSTM )网络代替之前使用的多层感知机( Multi-Layer Perceptron,MLP )网络。由于循环神经网络随着时间的推移可以一直保持内部状态,因此我们不再需要滑动“回顾窗口“来捕捉价格变动之前的行为,循环神经网络的循环本质可以在运行时自动捕捉这些行为。在每个时间步长中,输入数据集中的新一个数据与上一个时间步长的输出会被一起输入到循环神经网络中。

因而长短期记忆网络可以一直维持一个内部状态。在每个时间步长中,智能体会新记住一些新的数据关系,也会忘掉一些之前的数据关系,这个内部状态也就会随之更新。





循环神经网络会接收上一个时间步长的输出





循环神经网络如何处理上一个时间步长的输出与这一个时间步长的输入





长短期记忆网络实现代码 LSTM_model.py


介于循环神经网络对于内部状态得天独厚的优势,在这里,我们使用长短期记忆网络策略更新了近端策略优化 PPO2 模型。


数据平稳性

在上一篇文章中我曾指出比特币交易的数据是非平稳的(Non-Stationary,即存在一些趋势,而不能仅仅看作是随机的波动),因此,任何机器学习模型都难以预测未来。

    平稳时间序列是平均值,方差和自相关系数(与其自身的滞后相关)都恒定的时间序列。


而且,加密货币价格的时间序列有着很明显的趋势和季节效应(季节效应是指与季节相关联的股市非正常收益,是股市中的一种“异像”,是与市场有效性相悖的情况),这两者都会影响算法对时间序列预测的准确率,所以在这里,我们需要使用差分和变换的方法来处理输入数据,从现有的时间序列中构建一个正常的数据分布来解决这个问题。

从原理上来说,差分过程就是给任意两个时间步长内加密货币币价的导数(即收益率)做差值。在理想情况下,这样做可以消除输入时间序列中存在的趋势,但是,差分处理对季节效应并不奏效,处理后的数据仍然具有很强的季节效应。这就需要我们在差分处理之前进行对数处理来消除它,经过这样的处理最终我们会得到平稳的输入时间序列,如下方右图所示。





从左到右分别为:加密货币的收盘价,差分处理后的收盘价,对数处理和差分处理后的收盘价





对数处理和差分处理的代码 diff_and_log_time_series.py


处理后的输入时间序列平稳性如何,我们可以使用增广迪基-福勒检验( Augmented Dickey-Fuller test )验证一下。

运行以下代码:





增广迪基-福勒检验的代码 adfuller_test.py


我们得到的 p 值为 0.00 ,这意味着我们拒绝假设检验中的零假设并确认处理后的输入时间序列是平稳的。

我们可以运行上面的增广迪基-福勒检验代码来检验输入时间序列的平稳性。

在完成了这项工作之后,接下来我们将使用特征工程的方法进一步优化交易智能体的观察空间。


特征工程


为了进一步提升交易智能体的收益率,我们需要做一些特征工程。

    特征工程是使用该领域知识来生成额外的输入数据从而优化机器学习模型的过程。


具体到交易智能体,我们将在输入数据集中添加一些常见且有效的技术指标,以及 Python 数据分析程序库 StatsModels 中季节效应预测模型 SARIMAX 的输出。这些技术指标会为我们的输入数据集带来一些相关的,但可能会滞后的信息,这些信息能大大提升交易智能体预测的准确性。这些优化方法的组合可以为交易智能体提供一个非常好的观察空间,让智能体学习到更多的特征,从而获得更多的收益。


技术分析


为了选择技术指标,我们将比较 Python 技术分析库 ta 中可用的所有 32 个指标( 58 个特征)的相关性。可以使用数据分析工具 pandas 来计算相同类型的各个指标(如动量,体积,趋势,波动率)之间的相关性,然后在每种类型中仅选择最不相关的指标作为特征。这样,就可以在不给观察空间带来过多噪音干扰的情况下,最大程度地发掘这些技术指标的价值。





使用 Python 高级可视化库 seaborn 做出的比特币数据集上技术指标相关性的热力图


结果显示,波动率指标以及一些动量指标都是高度相关的。在删除所有重复的特征(每个类型中相关性的绝对平均值大于 0.5 的特征)之后,我们将剩余的 38 个技术特征添加到交易智能体的观察空间中。

在代码中,我们需要创建一个名为 add_indicators(添加指标)的函数来将这些特征添加到数据帧中,为了避免在每个时间步长中重复计算这些特征,我们只在交易智能体环境初始化的过程中调用 add_indicators 函数。





交易智能体环境初始化的代码 initialize_env.py


在这里,初始化交易智能体环境,在进行数据平稳性处理之前将特征添加到了数据帧中。


统计分析


接下来我们需要添加预测模型。

由于季节效应自回归移动平均模型(Seasonal Auto Regressive Integrated Moving Average,SARIMA)可以在每个时间步长中快速计算价格的预测值,在平稳数据集中运算非常准确,因此我们使用它来进行加密货币币价预测。

除了上述这些优点之外,该模型实现起来非常简单,它还可以给出预测值的置信区间,通常情况下这比单独给出一个预测值能提供更多的信息。就比如说,当置信区间较小时,交易智能体就会更相信这个预测值的准确性,当置信区间很大时交易智能体就知道要承担更大的风险。





加入 SARIMA 预测模型的代码 add_sarimax_predictions.py


这里我们将 SARIMAX 预测模型和置信区间添加到交易智能体的观察空间中。

现在我们已经使用性能更好的循环神经网络更新了策略,并使用特征工程的方法改进了交易智能体的观察空间,是时候优化其他的部分了。
 

奖励优化


有些人可能会觉得上一篇文章中的奖励函数(即奖励资产总价值不断增加)已经是最好的解决方案了,但是,通过进一步的研究我发现奖励函数还有提升的空间。虽然我们之前使用的简单奖励函数已经能够获得收益,但它给出的投资策略非常不稳定,往往会导致资产的严重损失。为了改善这一点,除了考虑利润的增加以外,我们还需要考虑其他奖励的指标。

奖励指标的一个简单改进就是,不仅仅奖励在比特币价格上涨时持有比特币带来的利润,还奖励在比特币价格下跌时抛售比特币而避免的损失。就比如说,我们可以奖励智能体买入比特币而总资产增加的行为,以及卖出比特币避免总资产减少的行为。

虽然这种奖励指标在提高收益率方面非常出色,但这样做并没有考虑到高回报带来的高风险。投资者早已发现这种简单投资策略背后存在的漏洞,并将其改进成一种风险可调节的奖励指标。


基于波动率的奖励指标

这种风险可调节的奖励指标中的典型就是夏普比率(Sharpe Ratio,又被称为夏普指数)。它计算的是特定时间段内投资组合的超额收益与波动性的比率。具体的计算公式如下:





夏普比率的计算公式:(投资组合的收益-大盘的收益)/投资组合的标准差


从公式中我们可以得出,为了保持较高的夏普比率,投资组合必须同时保证高收益和低波动性(也就是风险)。

作为一种奖励指标,夏普比率经受住了时间的考验,但它对于自动交易智能体来说并不是很完美,因为它会对上行标准差( upside volatility )产生不利影响,而在比特币交易环境中有时我们需要利用上行标准差,因为上行标准差(即比特币价格疯狂上涨)通常都是很好的机会窗口。

而使用索提诺比率( Sortino Ratio )可以很好地解决这个问题。索提诺比率与夏普比率非常相似,只是它在风险上只考虑了下行标准差,而不是整体标准差。因此,索提诺比率并不会对上行标准差产生什么不利影响。因而我们给交易智能体的第一条奖励指标就选择索提诺比率,它的计算公式如下:





索提诺比率的计算公式:(投资组合的收益-大盘的收益)/投资组合的下行标准差


其他奖励指标

我们选择 Calmar 比率作为交易智能体的第二个奖励指标。到目前为止,我们所有的奖励指标都没有考虑到比特币币价最大回撤率(drawdown)这个关键因素。

    最大回撤率是指比特币币价从价格顶峰到价格低谷之间的价值差,用来描述买入比特币后最糟糕的情况。


最大回撤率对我们的投资策略来说是致命的,因为只需一次币价突然跳水,我们长时间累积的高收益就会化为乌有。





最大回撤率


为了消除最大回撤率带来的负面影响,我们需要选用可以处理这种情况的奖励指标,就比如说选用 Calmar 比率。该比率与夏普比率类似,只是它将分母上投资组合的标准差替换为最大回撤率。





Calmar 比率的计算公式:(投资组合的收益-大盘的收益)/最大回撤率


我们最后一个奖励指标是在对冲基金行业中广泛使用的 Omega 比率。从理论上来说,在衡量风险与收益时,Omega 比率应该优于 Sortino 比率和 Calmar 比率,因为它能够在单个指标中使用收益的分布来评估风险。

计算 Omega 比率时,我们需要分别计算在特定基准之上或之下投资组合的概率分布,然后两者相除计算比率。Omega 比率越高,比特币上涨潜力超过下跌潜力的概率就越高。





Omege 比率的计算公式


Omega 比率的计算公式看起来很复杂,不过不要担心,在代码中实现它并不难。


代码实现

虽然说编写每个奖励指标的代码听起来很有意思且很有挑战性,但这里为了方便大家的理解,我选择使用 Python 量化金融程序包 empyrical 来计算它们。幸运的是,这个程序包中恰好包含了我们上面定义的三个奖励指标,因而在每个时间步长中,我们只需要将该时间段内收益和大盘收益的列表发给 Empyrical 函数,它就会返回这三个比率。





使用 empyrical 程序包计算三个奖励指标的代码 risk_adjusted_reward.py


在代码中,我们通过预先定义的奖励函数设置了每个时间步长的奖励。

到目前为止,我们已经确定了如何衡量一个交易策略的成功与否,现在是时候弄清楚哪些指标会带来较高的收益。我们需要将这些奖励函数输入到自动超参数优化软件框架 Optuna 中,然后使用贝叶斯优化来的方法为输入数据集寻找最优的超参数。


工具集


俗话说,好马配好鞍。任何一个优秀的技术人员都需要一套好用的工具,否则就会巧妇难为无米之炊。

但我并不是说我们要重复造轮子,我们应该学会使用程序员前辈用秃头的代价为我们开发的工具,这样他们的工作也算没有白费。对于我们所开发的交易智能体,它要用到的最重要的工具就是自动超参数优化软件框架 Optuna,从原理上来说,它使用了树结构的 Parzen 窗估计(Tree-structured Parzen Estimators,TPEs)来实现贝叶斯优化,而这种估计方法是可以并行化运行的,这使得我们的显卡有了用武之地,执行搜索需要的时间也会大大缩短。简而言之,

    贝叶斯优化是一种搜索超参数空间以找到能最大化给定目标函数的超参数的高效解决方案。


也就是说,贝叶斯优化能够有效地改进任何黑箱模型。从工作原理上来说,贝叶斯优化通过使用替代函数( surrogate functions )或是替代函数的分布对要优化的目标函数进行建模。随着时间的推移,算法不断地检索超参数空间以找到那些能够最大化目标函数的超参数,分布的效果也会逐渐改善。

理论说了这么多,我们要如何把这些技术应用在比特币自动交易智能体中呢?从本质上来讲,我们可以使用这种技术来找到一组最优的超参数,使得智能体的收益率最高。这个过程就像是在超参数的汪洋大海中捞取一根效果最好的针,而贝叶斯优化就是带我们找到这根针的磁铁。让我们开始吧。

使用 Optuna 优化超参数并不是什么难事。

首先,我们需要创建一个 optuna 实例,也就是装载所有超参数试验的容器。在每次试验中我们需要调整超参数的设置来计算目标函数相应的损失函数值。在实例初始化完成后,我们需要向其中传入目标函数然后调用 study.optimize() 函数开始优化,Optuna 将使用贝叶斯优化的方法来寻找能够最小化损失函数的超参数配置。





使用 Optuna 程序库贝叶斯优化的代码 optimize_with_optuna.py


在这个例子中,目标函数就是在比特币交易环境中训练并测试智能体,而目标函数的损失值则定义为测试期间智能体平均收益的相反数,之所以给收益值加上负号,是因为平均收益越高越好,而在 Optuna 看来损失函数越低越好,一个负号刚好解决这个问题。optimize 优化函数为目标函数提供了试验对象,代码中我们可以指定试验对象中的变量设置。





优化目标函数的代码 optimize_objective_fn.py


optimize_ppo2 优化智能体函数和 optimize_envs 优化智能体环境函数接收试验对象作为输入并返回包含要测试参数的字典。每个变量的搜索空间由 suggest 函数进行设置,我们需要在试验中调用 suggest 函数并给函数中传入指定的参数。

比如说,如果设置参数在对数尺度上服从均匀分布,即调用函数

trial.suggest_loguniform('n_steps',16,2048),

相当于给函数了一个 16-2048 之间的 2 的指数次方(如16,32,64,…,1024,2048)的新浮点数。

再者,如果设置参数在普通尺度上服从均匀分布,即调用函数

trial.suggest_uniform('cliprange',0.1,0.4),

相当于给函数一个 0.1 到 0.4 之间的新浮点数(如0.1,0.2,0.3,0.4)。

相信你已经看出来了其中的规律,就是这样来设置变量:

suggest_categorical('categorical',['option_one','option_two']),其中 categorical 为设置变量的策略, option_one 和 option_two 分别为变量的两个选项,在刚才的函数中这两个选项为变量的范围,弄懂了这个相信下面的代码就难不倒你了。





化交易智能体的代码 optimize_ppo2.py





优化交易环境的代码 optimize_envs.py


代码写好后,我们在一台高性能服务器上以 CPU/显卡协同运算的方式运行了优化函数。在设置中,Optuna 创建了一个 SQLite 数据库,我们可以从中加载优化的实例。该实例记录了测试过程中性能最好的一次试验,从中我们可以推算出智能体交易环境中最优的超参数集。





加载 optuna 实例的代码 load_optuna_study.py


到这里,我们已经改进了模型,改进了特征集,并优化了所有的超参数。但俗话说,是骡子是马得拉出来遛遛。

那么,交易智能体在新的奖励指标下表现如何呢?

在训练过程中,我分别使用了利润、Sortino 比率、Calmar 比率和 Omega 比率四个奖励指标来优化智能体。接下来我们需要在测试环境中检验哪种奖励指标训练出来的智能体收益最高,当然了,测试环境中的数据都是智能体在训练过程中从未见到过的比特币价格走势,这样保证了测试的公平性。


收益比较


在查看结果之前,我们需要知晓一个成功的交易策略是什么样的。出于这个原因,我们将针对一些常见且有效的比特币交易策略进行基准测试。令人震惊的是,在过去的十年中一个最有效的比特币交易策略就是买入并持有,而另外两个不错的交易策略则是使用简单但有效的技术分析来生成买入/卖出信号,从而指导交易。

1、买入并持有

这种交易策略指尽可能多地购买比特币并一直持有下去(也就是区块链社区中的江湖黑话“ HODL ”)。虽然说这种交易策略并不是特别复杂,但在过去这样做赚钱的机率很高。

2、相对强弱指数分歧(Relative Strength Index(RSI) divergence )

当相对强弱指数持续下跌且收盘价持续上涨时,这就是需要卖出的信号,而当相对强弱指数持续上涨且收盘价持续下跌时,就是需要买入的信号。

3、简单移动平均线( Simple Moving Average,SMA )交叉

当长期简单移动平均线超过短期简单移动平均线时,这就是需要卖出的信号,而当短期简单移动平均线超过长期简单移动平均线时,就是需要买入的信号。

你可能会问,为什么要做这些简单的基准测试呢?这样做是为了通过比较证明我们的强化学习交易智能体可以在比特币市场上发挥作用,如果智能体的收益连这些简单的基准收益都超不过,那么我们就相当于花费了大量的开发时间和显卡算力来进行了一场天马行空的科学实验。现在,让我们来证明事实并非如此。


实验结果


我们的数据集选用从加密货币数据网站 CryptoDataDownload 上下载的每小时收盘价位置价值( OHCLV )数据,其中前 80% 的数据用来训练智能体,后 20% 作为全新的数据进行测试,以了解智能体的收益能力。当前这种简单的交叉验证形式足以满足我们的需求,而如果这个比特币自动交易智能体真的走向生产就绪,我们就可以使用全部的数据集进行训练,然后在每天新产生的数据集上进行测试。

废话不多说,我们来看看结果。

可以看到,使用 Omega 比率作为奖励指标的智能体在测试阶段并没有让人眼前一亮的交易。





使用 Omega 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


分析智能体所进行的交易我们可以发现,很明显 Omega 比率这种奖励指标产生了过度交易(over-trade)的交易策略,以至于智能体未能抓住市场机会获得收益。

使用 Calmar 比率作为奖励指标的智能体与使用 Omega 比率作为奖励指标的智能体相比略有改进,但最终结果非常相似。看起来像是我们投入了大量的时间和精力,只是为了让事情变得更糟......





使用 Calmar 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


如果仅使用利润作为奖励指标效果如何呢?在上一篇文章中这种奖励指标被证明有点失败,这次做的所有修改和优化能否化腐朽为神奇呢?

在为期四个月的测试周期内,使用利润作为奖励指标的智能体平均收益达到账户初始金额的350%。你可能已经被这个结果吓呆了。这应该就是强化学习能达到的巅峰了吧,对吧?





使用利润作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


并不是这样的。使用 Sortino 比率作为奖励指标的智能体平均收益达到了账户初始金额的850%。当我看到这个数字时,我都不敢相信自己的眼睛,以至于我立马回去检查代码中是否存在问题。但经过彻底的检查后,很明显代码中没有任何错误,也就是说这些智能体已经知道如何进行比特币交易。





使用 Sortino 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


看起来使用 Sortino 比率作为奖励指标的智能体学习到了在最小化持有比特币风险的前提下低价买入和高价卖出的重要性,同时它们还躲过了过度交易和投资不足两大陷阱。虽然说智能体学到的具体交易策略我们不得而知,但是我们可以清楚地看到智能体已经学会通过交易比特币获得收益了。





使用 Sortino 比率作为奖励指标的智能体正在交易比特币,其中绿色的三角形表示买入信号,红色的三角形表示卖出信号


现在,我并没有被实验成功的兴奋冲昏头脑。我清楚地知道比特币自动交易智能体还远远没有达到生产就绪。话虽如此,但这些结果比我迄今为止看到的任何交易策略都要令人印象深刻。而且令人震惊的是,我们并没有告诉智能体关于加密货币市场如何运作、如何在加密货币市场上赚钱这样的先验知识,而是仅靠智能体重复地试验和试错就达到了这么好的效果,不过,这里经过了很多很多次的试验和试错。


写在最后


在本篇文章中,我们优化了基于强化学习的比特币自动交易智能体,让它在交易比特币时做出更好的决策,从而获得更多的收益!在这个过程中我们花费了大量的时间和精力,也遇到了很多的困难,我们把困难分解细化再逐个攻破,最终完成了智能体的优化,其中具体的操作步骤如下:

1、使用循环神经网络升级现有模型,即升级成使用平稳性数据的长短期记忆网络;

2、使用领域知识和统计分析进行特征工程,为智能体提供了 40 多个用来学习的新特征;

3、将投资的风险引入智能体的奖励指标,而不只是关注利润;

4、使用贝叶斯优化来寻找模型中最优的超参数;

5、使用常见的交易策略进行基准测试,以确保智能体的收益可以跑赢市场。


从理论上来说,这个高收益的交易智能体已经做得很不错了。

但是,我收到了相当多的反馈,他们声称交易智能体只是在学习拟合曲线,因此,面对生产环境中的实时数据,交易智能体永远不可能获得收益。虽然我们在不同数据集上训练/测试智能体的方法应该能够解决这个问题,但是模型确实会有过度拟合数据集的可能,并且可能不会很好地推广到实时数据。话虽这么说,但在我看来这些交易智能体学习到的远远不只是简单的曲线拟合,因此,我认为它们能够在实时交易的场景中获得收益。

为了检验这个想法,接下来的一段时间里我会把这些基于强化学习的智能体带到生产环节,为此,我们首先要更新智能体的运行环境以支持以太币、莱特币等其他加密货币,然后我们将升级智能体让它可以在加密货币交易所 Coinbase Pro 上实时交易。

这将会是一个激动人心的实验,请不要错过它。

需要强调的是,本篇文章中所有的方法和投资策略都是出于教育目的,不应被视为投资建议。我们的比特币自动交易智能体也远远没有达到实际生产层面,所以请管好自己的钱包。


参考资源:

1)基于 Python 语言和 Tensorflow 框架的循环神经网络和长短期记忆网络教程

https://adventuresinmachinelearning.com/recurrent-neural-networks-lstm-tutorial-tensorflow/

2)浅析基于 Python 语言的季节效应自回归移动平均模型预测时间序列

https://machinelearningmastery.com/sarima-for-time-series-forecasting-in-python/

3)浅析基于 Python 语言的非平稳性时间序列处理

https://www.analyticsvidhya.com/blog/2018/09/non-stationary-time-series-python/

4)超参数优化算法

https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf

5)机器学习方法在金融领域中的最新进展

https://dwz.cn/iUahVt2u


来源 | Towards Data Science 编译 | Guoxi 责编 | 乔治 出品 | 区块链大本营(Blockchain_camp) 查看全部
3D-Rendering-Robot-and-laptop-stock-exchange-trading.jpg


上个月,AI 工程师 Adam King 结合人工智能在预测方面得天独厚的优势,提出使用深度强化学习构建加密货币自动交易的程序。在展示模型中,程序的收益率竟达到了惊人的 60 倍(只讨论技术,无关投资建议)。

但在当时,这个展示模型略显粗糙。虽然能获得收益,但它并不稳定。使用它可能让你赚得盆满钵盈,也有可能让你赔得一无所有,颇有些“富贵险中求”的意味。

不稳定的问题一直困扰着 Adam 小哥,经过一个月的蛰伏,小哥提出将特征工程和贝叶斯优化两大杀器引入模型。这些改进会奏效么?收益率又能提升多少呢?一起来看看 Adam 小哥的最新力作吧!




在上一篇文章中(《60倍回报! AI工程师用OpenAI创建了一个比特币自动交易工具》),我们使用深度强化学习创建了一个可以赚钱的比特币自动交易智能体。虽然这个智能体能够做到自动交易比特币获得收益,但它的收益率并没有让人眼前一亮,今天我们会大幅度改进这个比特币交易智能体,从而提高它的收益率。

需要注意的是,本篇文章的目的是测试当下最先进的深度强化学习技术是否能与区块链相结合,创造出一个可以盈利的比特币自动交易智能体。目前看来业界都还没有意识到深度强化学习在自动交易方面强大的潜力,反而认为它并不是一个“能用来构建交易算法的工具”。不过,深度学习领域的最新进展已经表明,在同一个问题上强化学习智能体通常能够比普通的监督学习智能体学习到更多的特征。

出于这个原因,我做了相关的实验来探究基于深度强化学习的交易智能体究竟能达到怎样的收益率,当然了,结果也可能会是深度强化学习有着很强的局限性以至于并不适合做交易智能体,但不去尝试谁又知道结果如何呢?

首先,我们将会改进深度强化学习模型的策略网络( policy network )并使输入数据变得平稳,以便交易智能体能在很少的数据中学习到更多的特征。

接下来,我们将使用当下先进的特征工程方法来改善交易智能体的观察空间,同时微调交易智能体的奖励函数( reward function )以帮助它发现更好的交易策略。

最后,在训练并测试交易智能体获得的收益率之前,我们将使用贝叶斯优化的方法来寻找能最大化收益率的超参数。

前方高能,系好安全带,让我们开始这场干货满满的探索之旅吧。


关于深度强化学习模型的改进


在上一篇文章中,我们已经实现了深度强化学习模型的基本功能,

GitHub 地址:

https://github.com/notadamking/Bitcoin-Trader-RL

当务之急是提高深度强化学习智能体的盈利能力,换句话说就是要对模型进行一些改进。


循环神经网络(Recurrent Neural Network,RNN)

我们需要做的第一个改进就是使用循环神经网络来改进策略网络,也就是说,使用长短期记忆网络( Long Short-Term Memory ,LSTM )网络代替之前使用的多层感知机( Multi-Layer Perceptron,MLP )网络。由于循环神经网络随着时间的推移可以一直保持内部状态,因此我们不再需要滑动“回顾窗口“来捕捉价格变动之前的行为,循环神经网络的循环本质可以在运行时自动捕捉这些行为。在每个时间步长中,输入数据集中的新一个数据与上一个时间步长的输出会被一起输入到循环神经网络中。

因而长短期记忆网络可以一直维持一个内部状态。在每个时间步长中,智能体会新记住一些新的数据关系,也会忘掉一些之前的数据关系,这个内部状态也就会随之更新。

201906130048151683.jpg

循环神经网络会接收上一个时间步长的输出

201906130048238353.jpg

循环神经网络如何处理上一个时间步长的输出与这一个时间步长的输入

201906130048263656.jpg

长短期记忆网络实现代码 LSTM_model.py


介于循环神经网络对于内部状态得天独厚的优势,在这里,我们使用长短期记忆网络策略更新了近端策略优化 PPO2 模型。


数据平稳性

在上一篇文章中我曾指出比特币交易的数据是非平稳的(Non-Stationary,即存在一些趋势,而不能仅仅看作是随机的波动),因此,任何机器学习模型都难以预测未来。


    平稳时间序列是平均值,方差和自相关系数(与其自身的滞后相关)都恒定的时间序列。



而且,加密货币价格的时间序列有着很明显的趋势和季节效应(季节效应是指与季节相关联的股市非正常收益,是股市中的一种“异像”,是与市场有效性相悖的情况),这两者都会影响算法对时间序列预测的准确率,所以在这里,我们需要使用差分和变换的方法来处理输入数据,从现有的时间序列中构建一个正常的数据分布来解决这个问题。

从原理上来说,差分过程就是给任意两个时间步长内加密货币币价的导数(即收益率)做差值。在理想情况下,这样做可以消除输入时间序列中存在的趋势,但是,差分处理对季节效应并不奏效,处理后的数据仍然具有很强的季节效应。这就需要我们在差分处理之前进行对数处理来消除它,经过这样的处理最终我们会得到平稳的输入时间序列,如下方右图所示。

201906130048282233.jpg

从左到右分别为:加密货币的收盘价,差分处理后的收盘价,对数处理和差分处理后的收盘价

201906130050581432.jpg

对数处理和差分处理的代码 diff_and_log_time_series.py


处理后的输入时间序列平稳性如何,我们可以使用增广迪基-福勒检验( Augmented Dickey-Fuller test )验证一下。

运行以下代码:

201906130051017091.jpg

增广迪基-福勒检验的代码 adfuller_test.py


我们得到的 p 值为 0.00 ,这意味着我们拒绝假设检验中的零假设并确认处理后的输入时间序列是平稳的。

我们可以运行上面的增广迪基-福勒检验代码来检验输入时间序列的平稳性。

在完成了这项工作之后,接下来我们将使用特征工程的方法进一步优化交易智能体的观察空间。


特征工程


为了进一步提升交易智能体的收益率,我们需要做一些特征工程。


    特征工程是使用该领域知识来生成额外的输入数据从而优化机器学习模型的过程。



具体到交易智能体,我们将在输入数据集中添加一些常见且有效的技术指标,以及 Python 数据分析程序库 StatsModels 中季节效应预测模型 SARIMAX 的输出。这些技术指标会为我们的输入数据集带来一些相关的,但可能会滞后的信息,这些信息能大大提升交易智能体预测的准确性。这些优化方法的组合可以为交易智能体提供一个非常好的观察空间,让智能体学习到更多的特征,从而获得更多的收益。


技术分析


为了选择技术指标,我们将比较 Python 技术分析库 ta 中可用的所有 32 个指标( 58 个特征)的相关性。可以使用数据分析工具 pandas 来计算相同类型的各个指标(如动量,体积,趋势,波动率)之间的相关性,然后在每种类型中仅选择最不相关的指标作为特征。这样,就可以在不给观察空间带来过多噪音干扰的情况下,最大程度地发掘这些技术指标的价值。

201906130051032401.jpg

使用 Python 高级可视化库 seaborn 做出的比特币数据集上技术指标相关性的热力图


结果显示,波动率指标以及一些动量指标都是高度相关的。在删除所有重复的特征(每个类型中相关性的绝对平均值大于 0.5 的特征)之后,我们将剩余的 38 个技术特征添加到交易智能体的观察空间中。

在代码中,我们需要创建一个名为 add_indicators(添加指标)的函数来将这些特征添加到数据帧中,为了避免在每个时间步长中重复计算这些特征,我们只在交易智能体环境初始化的过程中调用 add_indicators 函数。

201906130054303259.jpg

交易智能体环境初始化的代码 initialize_env.py


在这里,初始化交易智能体环境,在进行数据平稳性处理之前将特征添加到了数据帧中。


统计分析


接下来我们需要添加预测模型。

由于季节效应自回归移动平均模型(Seasonal Auto Regressive Integrated Moving Average,SARIMA)可以在每个时间步长中快速计算价格的预测值,在平稳数据集中运算非常准确,因此我们使用它来进行加密货币币价预测。

除了上述这些优点之外,该模型实现起来非常简单,它还可以给出预测值的置信区间,通常情况下这比单独给出一个预测值能提供更多的信息。就比如说,当置信区间较小时,交易智能体就会更相信这个预测值的准确性,当置信区间很大时交易智能体就知道要承担更大的风险。

sarima.jpg

加入 SARIMA 预测模型的代码 add_sarimax_predictions.py


这里我们将 SARIMAX 预测模型和置信区间添加到交易智能体的观察空间中。

现在我们已经使用性能更好的循环神经网络更新了策略,并使用特征工程的方法改进了交易智能体的观察空间,是时候优化其他的部分了。
 

奖励优化


有些人可能会觉得上一篇文章中的奖励函数(即奖励资产总价值不断增加)已经是最好的解决方案了,但是,通过进一步的研究我发现奖励函数还有提升的空间。虽然我们之前使用的简单奖励函数已经能够获得收益,但它给出的投资策略非常不稳定,往往会导致资产的严重损失。为了改善这一点,除了考虑利润的增加以外,我们还需要考虑其他奖励的指标。

奖励指标的一个简单改进就是,不仅仅奖励在比特币价格上涨时持有比特币带来的利润,还奖励在比特币价格下跌时抛售比特币而避免的损失。就比如说,我们可以奖励智能体买入比特币而总资产增加的行为,以及卖出比特币避免总资产减少的行为。

虽然这种奖励指标在提高收益率方面非常出色,但这样做并没有考虑到高回报带来的高风险。投资者早已发现这种简单投资策略背后存在的漏洞,并将其改进成一种风险可调节的奖励指标。


基于波动率的奖励指标

这种风险可调节的奖励指标中的典型就是夏普比率(Sharpe Ratio,又被称为夏普指数)。它计算的是特定时间段内投资组合的超额收益与波动性的比率。具体的计算公式如下:

201906130054425439.jpg

夏普比率的计算公式:(投资组合的收益-大盘的收益)/投资组合的标准差


从公式中我们可以得出,为了保持较高的夏普比率,投资组合必须同时保证高收益和低波动性(也就是风险)。

作为一种奖励指标,夏普比率经受住了时间的考验,但它对于自动交易智能体来说并不是很完美,因为它会对上行标准差( upside volatility )产生不利影响,而在比特币交易环境中有时我们需要利用上行标准差,因为上行标准差(即比特币价格疯狂上涨)通常都是很好的机会窗口。

而使用索提诺比率( Sortino Ratio )可以很好地解决这个问题。索提诺比率与夏普比率非常相似,只是它在风险上只考虑了下行标准差,而不是整体标准差。因此,索提诺比率并不会对上行标准差产生什么不利影响。因而我们给交易智能体的第一条奖励指标就选择索提诺比率,它的计算公式如下:

201906130054443367-2.jpg

索提诺比率的计算公式:(投资组合的收益-大盘的收益)/投资组合的下行标准差


其他奖励指标

我们选择 Calmar 比率作为交易智能体的第二个奖励指标。到目前为止,我们所有的奖励指标都没有考虑到比特币币价最大回撤率(drawdown)这个关键因素。


    最大回撤率是指比特币币价从价格顶峰到价格低谷之间的价值差,用来描述买入比特币后最糟糕的情况。



最大回撤率对我们的投资策略来说是致命的,因为只需一次币价突然跳水,我们长时间累积的高收益就会化为乌有。

201906130054464046.jpg

最大回撤率


为了消除最大回撤率带来的负面影响,我们需要选用可以处理这种情况的奖励指标,就比如说选用 Calmar 比率。该比率与夏普比率类似,只是它将分母上投资组合的标准差替换为最大回撤率。

201906130059014313.jpg

Calmar 比率的计算公式:(投资组合的收益-大盘的收益)/最大回撤率


我们最后一个奖励指标是在对冲基金行业中广泛使用的 Omega 比率。从理论上来说,在衡量风险与收益时,Omega 比率应该优于 Sortino 比率和 Calmar 比率,因为它能够在单个指标中使用收益的分布来评估风险。

计算 Omega 比率时,我们需要分别计算在特定基准之上或之下投资组合的概率分布,然后两者相除计算比率。Omega 比率越高,比特币上涨潜力超过下跌潜力的概率就越高。

201906130059038913.jpg

Omege 比率的计算公式


Omega 比率的计算公式看起来很复杂,不过不要担心,在代码中实现它并不难。


代码实现

虽然说编写每个奖励指标的代码听起来很有意思且很有挑战性,但这里为了方便大家的理解,我选择使用 Python 量化金融程序包 empyrical 来计算它们。幸运的是,这个程序包中恰好包含了我们上面定义的三个奖励指标,因而在每个时间步长中,我们只需要将该时间段内收益和大盘收益的列表发给 Empyrical 函数,它就会返回这三个比率。

201906130059053400.jpg

使用 empyrical 程序包计算三个奖励指标的代码 risk_adjusted_reward.py


在代码中,我们通过预先定义的奖励函数设置了每个时间步长的奖励。

到目前为止,我们已经确定了如何衡量一个交易策略的成功与否,现在是时候弄清楚哪些指标会带来较高的收益。我们需要将这些奖励函数输入到自动超参数优化软件框架 Optuna 中,然后使用贝叶斯优化来的方法为输入数据集寻找最优的超参数。


工具集


俗话说,好马配好鞍。任何一个优秀的技术人员都需要一套好用的工具,否则就会巧妇难为无米之炊。

但我并不是说我们要重复造轮子,我们应该学会使用程序员前辈用秃头的代价为我们开发的工具,这样他们的工作也算没有白费。对于我们所开发的交易智能体,它要用到的最重要的工具就是自动超参数优化软件框架 Optuna,从原理上来说,它使用了树结构的 Parzen 窗估计(Tree-structured Parzen Estimators,TPEs)来实现贝叶斯优化,而这种估计方法是可以并行化运行的,这使得我们的显卡有了用武之地,执行搜索需要的时间也会大大缩短。简而言之,


    贝叶斯优化是一种搜索超参数空间以找到能最大化给定目标函数的超参数的高效解决方案。



也就是说,贝叶斯优化能够有效地改进任何黑箱模型。从工作原理上来说,贝叶斯优化通过使用替代函数( surrogate functions )或是替代函数的分布对要优化的目标函数进行建模。随着时间的推移,算法不断地检索超参数空间以找到那些能够最大化目标函数的超参数,分布的效果也会逐渐改善。

理论说了这么多,我们要如何把这些技术应用在比特币自动交易智能体中呢?从本质上来讲,我们可以使用这种技术来找到一组最优的超参数,使得智能体的收益率最高。这个过程就像是在超参数的汪洋大海中捞取一根效果最好的针,而贝叶斯优化就是带我们找到这根针的磁铁。让我们开始吧。

使用 Optuna 优化超参数并不是什么难事。

首先,我们需要创建一个 optuna 实例,也就是装载所有超参数试验的容器。在每次试验中我们需要调整超参数的设置来计算目标函数相应的损失函数值。在实例初始化完成后,我们需要向其中传入目标函数然后调用 study.optimize() 函数开始优化,Optuna 将使用贝叶斯优化的方法来寻找能够最小化损失函数的超参数配置。

201906130059078525.jpg

使用 Optuna 程序库贝叶斯优化的代码 optimize_with_optuna.py


在这个例子中,目标函数就是在比特币交易环境中训练并测试智能体,而目标函数的损失值则定义为测试期间智能体平均收益的相反数,之所以给收益值加上负号,是因为平均收益越高越好,而在 Optuna 看来损失函数越低越好,一个负号刚好解决这个问题。optimize 优化函数为目标函数提供了试验对象,代码中我们可以指定试验对象中的变量设置。

201906130104218908.jpg

优化目标函数的代码 optimize_objective_fn.py


optimize_ppo2 优化智能体函数和 optimize_envs 优化智能体环境函数接收试验对象作为输入并返回包含要测试参数的字典。每个变量的搜索空间由 suggest 函数进行设置,我们需要在试验中调用 suggest 函数并给函数中传入指定的参数。

比如说,如果设置参数在对数尺度上服从均匀分布,即调用函数

trial.suggest_loguniform('n_steps',16,2048),

相当于给函数了一个 16-2048 之间的 2 的指数次方(如16,32,64,…,1024,2048)的新浮点数。

再者,如果设置参数在普通尺度上服从均匀分布,即调用函数

trial.suggest_uniform('cliprange',0.1,0.4),

相当于给函数一个 0.1 到 0.4 之间的新浮点数(如0.1,0.2,0.3,0.4)。

相信你已经看出来了其中的规律,就是这样来设置变量:

suggest_categorical('categorical',['option_one','option_two']),其中 categorical 为设置变量的策略, option_one 和 option_two 分别为变量的两个选项,在刚才的函数中这两个选项为变量的范围,弄懂了这个相信下面的代码就难不倒你了。

201906130104292196.jpg

化交易智能体的代码 optimize_ppo2.py

201906130104344369.jpg

优化交易环境的代码 optimize_envs.py


代码写好后,我们在一台高性能服务器上以 CPU/显卡协同运算的方式运行了优化函数。在设置中,Optuna 创建了一个 SQLite 数据库,我们可以从中加载优化的实例。该实例记录了测试过程中性能最好的一次试验,从中我们可以推算出智能体交易环境中最优的超参数集。

201906130104367375.jpg

加载 optuna 实例的代码 load_optuna_study.py


到这里,我们已经改进了模型,改进了特征集,并优化了所有的超参数。但俗话说,是骡子是马得拉出来遛遛。

那么,交易智能体在新的奖励指标下表现如何呢?

在训练过程中,我分别使用了利润、Sortino 比率、Calmar 比率和 Omega 比率四个奖励指标来优化智能体。接下来我们需要在测试环境中检验哪种奖励指标训练出来的智能体收益最高,当然了,测试环境中的数据都是智能体在训练过程中从未见到过的比特币价格走势,这样保证了测试的公平性。


收益比较


在查看结果之前,我们需要知晓一个成功的交易策略是什么样的。出于这个原因,我们将针对一些常见且有效的比特币交易策略进行基准测试。令人震惊的是,在过去的十年中一个最有效的比特币交易策略就是买入并持有,而另外两个不错的交易策略则是使用简单但有效的技术分析来生成买入/卖出信号,从而指导交易。

1、买入并持有

这种交易策略指尽可能多地购买比特币并一直持有下去(也就是区块链社区中的江湖黑话“ HODL ”)。虽然说这种交易策略并不是特别复杂,但在过去这样做赚钱的机率很高。

2、相对强弱指数分歧(Relative Strength Index(RSI) divergence )

当相对强弱指数持续下跌且收盘价持续上涨时,这就是需要卖出的信号,而当相对强弱指数持续上涨且收盘价持续下跌时,就是需要买入的信号。

3、简单移动平均线( Simple Moving Average,SMA )交叉

当长期简单移动平均线超过短期简单移动平均线时,这就是需要卖出的信号,而当短期简单移动平均线超过长期简单移动平均线时,就是需要买入的信号。

你可能会问,为什么要做这些简单的基准测试呢?这样做是为了通过比较证明我们的强化学习交易智能体可以在比特币市场上发挥作用,如果智能体的收益连这些简单的基准收益都超不过,那么我们就相当于花费了大量的开发时间和显卡算力来进行了一场天马行空的科学实验。现在,让我们来证明事实并非如此。


实验结果


我们的数据集选用从加密货币数据网站 CryptoDataDownload 上下载的每小时收盘价位置价值( OHCLV )数据,其中前 80% 的数据用来训练智能体,后 20% 作为全新的数据进行测试,以了解智能体的收益能力。当前这种简单的交叉验证形式足以满足我们的需求,而如果这个比特币自动交易智能体真的走向生产就绪,我们就可以使用全部的数据集进行训练,然后在每天新产生的数据集上进行测试。

废话不多说,我们来看看结果。

可以看到,使用 Omega 比率作为奖励指标的智能体在测试阶段并没有让人眼前一亮的交易。

201906130104386353.jpg

使用 Omega 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


分析智能体所进行的交易我们可以发现,很明显 Omega 比率这种奖励指标产生了过度交易(over-trade)的交易策略,以至于智能体未能抓住市场机会获得收益。

使用 Calmar 比率作为奖励指标的智能体与使用 Omega 比率作为奖励指标的智能体相比略有改进,但最终结果非常相似。看起来像是我们投入了大量的时间和精力,只是为了让事情变得更糟......

201906130104406054.jpg

使用 Calmar 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


如果仅使用利润作为奖励指标效果如何呢?在上一篇文章中这种奖励指标被证明有点失败,这次做的所有修改和优化能否化腐朽为神奇呢?

在为期四个月的测试周期内,使用利润作为奖励指标的智能体平均收益达到账户初始金额的350%。你可能已经被这个结果吓呆了。这应该就是强化学习能达到的巅峰了吧,对吧?

201906130104425151.jpg

使用利润作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


并不是这样的。使用 Sortino 比率作为奖励指标的智能体平均收益达到了账户初始金额的850%。当我看到这个数字时,我都不敢相信自己的眼睛,以至于我立马回去检查代码中是否存在问题。但经过彻底的检查后,很明显代码中没有任何错误,也就是说这些智能体已经知道如何进行比特币交易。

201906130104442207.jpg

使用 Sortino 比率作为奖励指标的智能体在超过 3500 小时的交易时间里资产的总价值


看起来使用 Sortino 比率作为奖励指标的智能体学习到了在最小化持有比特币风险的前提下低价买入和高价卖出的重要性,同时它们还躲过了过度交易和投资不足两大陷阱。虽然说智能体学到的具体交易策略我们不得而知,但是我们可以清楚地看到智能体已经学会通过交易比特币获得收益了。

201906130104466538.jpg

使用 Sortino 比率作为奖励指标的智能体正在交易比特币,其中绿色的三角形表示买入信号,红色的三角形表示卖出信号


现在,我并没有被实验成功的兴奋冲昏头脑。我清楚地知道比特币自动交易智能体还远远没有达到生产就绪。话虽如此,但这些结果比我迄今为止看到的任何交易策略都要令人印象深刻。而且令人震惊的是,我们并没有告诉智能体关于加密货币市场如何运作、如何在加密货币市场上赚钱这样的先验知识,而是仅靠智能体重复地试验和试错就达到了这么好的效果,不过,这里经过了很多很多次的试验和试错。


写在最后


在本篇文章中,我们优化了基于强化学习的比特币自动交易智能体,让它在交易比特币时做出更好的决策,从而获得更多的收益!在这个过程中我们花费了大量的时间和精力,也遇到了很多的困难,我们把困难分解细化再逐个攻破,最终完成了智能体的优化,其中具体的操作步骤如下:


1、使用循环神经网络升级现有模型,即升级成使用平稳性数据的长短期记忆网络;

2、使用领域知识和统计分析进行特征工程,为智能体提供了 40 多个用来学习的新特征;

3、将投资的风险引入智能体的奖励指标,而不只是关注利润;

4、使用贝叶斯优化来寻找模型中最优的超参数;

5、使用常见的交易策略进行基准测试,以确保智能体的收益可以跑赢市场。



从理论上来说,这个高收益的交易智能体已经做得很不错了。

但是,我收到了相当多的反馈,他们声称交易智能体只是在学习拟合曲线,因此,面对生产环境中的实时数据,交易智能体永远不可能获得收益。虽然我们在不同数据集上训练/测试智能体的方法应该能够解决这个问题,但是模型确实会有过度拟合数据集的可能,并且可能不会很好地推广到实时数据。话虽这么说,但在我看来这些交易智能体学习到的远远不只是简单的曲线拟合,因此,我认为它们能够在实时交易的场景中获得收益。

为了检验这个想法,接下来的一段时间里我会把这些基于强化学习的智能体带到生产环节,为此,我们首先要更新智能体的运行环境以支持以太币、莱特币等其他加密货币,然后我们将升级智能体让它可以在加密货币交易所 Coinbase Pro 上实时交易。

这将会是一个激动人心的实验,请不要错过它。

需要强调的是,本篇文章中所有的方法和投资策略都是出于教育目的,不应被视为投资建议。我们的比特币自动交易智能体也远远没有达到实际生产层面,所以请管好自己的钱包。


参考资源:

1)基于 Python 语言和 Tensorflow 框架的循环神经网络和长短期记忆网络教程

https://adventuresinmachinelearning.com/recurrent-neural-networks-lstm-tutorial-tensorflow/

2)浅析基于 Python 语言的季节效应自回归移动平均模型预测时间序列

https://machinelearningmastery.com/sarima-for-time-series-forecasting-in-python/

3)浅析基于 Python 语言的非平稳性时间序列处理

https://www.analyticsvidhya.com/blog/2018/09/non-stationary-time-series-python/

4)超参数优化算法

https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf

5)机器学习方法在金融领域中的最新进展

https://dwz.cn/iUahVt2u


来源 | Towards Data Science 编译 | Guoxi 责编 | 乔治 出品 | 区块链大本营(Blockchain_camp)

60倍回报! AI工程师用OpenAI创建了一个比特币自动交易工具(附详细做法)

blockchaincamp 发表了文章 • 2019-06-13 12:11 • 来自相关话题

炒股的人都知道,天天盯着大盘做决策不仅让人劳神,还让人秃头。所以一堆顶级的数学家开始用数学的手段进行股市预测。

加密货币市场也一样,而且加密货币市场波动更加频繁,更加剧烈。对于这个问题,国外加密货币开发者 Adam King 提出了一种新的解决思路。

结合人工智能在预测方面得天独厚的优势, Adam 提出了使用深度强化学习构建加密货币自动交易程序,同时,这位小哥还做出了一个能够真正交易比特币的展示模型,他是怎么做到的?这个自动交易程序又能达到怎样的效果呢?让我们在文中一探究竟。

在本文中,我们将使用深度强化学习建立一个加密货币自动交易智能体(agent),并训练它通过交易比特币盈利。

为了避免重复造轮子,在本篇教程中我们将使用人工智能研究机构 OpenAI 开发的程序包。

目前人工智能在很多领域都已经超过了人类,从最初谷歌 DeepMind 团队开发的 AlphaGo 战胜围棋世界冠军李世石,到后来师出同门的 AlphaStar 在星际争霸中以 10:1 的大比分战胜两位职业玩家。近日,OpenAI 团队的 OpenAI Five 在 Dota2 游戏中以 2:0 的比分将世界冠军 OG 斩于马下。





谷歌 DeepMind 团队星际争霸人工智能产品 AlphaStar 的训练过程


人工智能给我们带来了很多激动人心的结果,虽然我们不会构建像 AlphaGo 这样令人印象深刻的产品,但在日常的比特币交易中实现盈利也非易事。

因此,与其冒着脱发的风险苦苦探索比特币币价的规律,何不让人工智能来一展身手?

在本文中,我们将通过人工智能技术完成一下三个尝试:

    为我们的智能体(agent)创建一个测试强化学习的 gym 环境; 以一种简单、优雅的方式可视化我们的测试环境; 训练我们的智能体,让它学习到能获益的比特币交易策略。


这里有些操作可能会比较麻烦,就比如说从头开始构建 gym 测试环境并将测试环境可视化,不过不要担心,我会仔细介绍这些细节,跟上我的节奏就好。


程序库安装


在本教程中,我们将使用 Zielak 提供的 Kaggle 数据集。如果你想要这些数据,你可以在我的 Github 仓库中下载 .csv 数据文件。

首先,我们来导入所有必要的 Python 程序库。如果你的电脑上还没有安装这些程序库,你可以使用 pip install 命令进行安装。






接下来,我们创建一个比特币交易环境的类。我们需要向其中传入一个 pandas 数据帧,一个用于指示智能体在每一个时间步长( time step )需要分析前几个时间步长数据的回顾窗口大小( lookback_window_size ),以及可选的智能体账户初始余额( initial_balance )。

代码中我们将手续费( commission )设置为每笔交易的 0.075% ,也就是加密货币期货交易所 Bitmex 当前的费率,同时,我们将序列运行( serial )参数默认为否( false ),这意味着在默认情况下我们的数据帧将以随机的形式遍历各个片段。

除此之外,我们还在数据帧上分别调用了删除非数字(NaN,Not A Number)所在行的 dropna 函数以及在删除了数据之后重新设置数据帧索引的 reset_index 函数。






代码中 action_space (操作空间)的第一个数字表示可选的 3 个选项,即买入,卖出或持有,第二个数字表示所操作的比例,最小单位是 10% ,也就是说这个数字中的 1,2,3 分别代表 10%,20%,30% 。当选择买入操作时,具体买入的比特币数量将是第二个数字( amount )乘以当前账户的比特币余额( self.balance )。对于卖出操作,具体卖出的比特币数量也是第二个数字( amount )乘以当前账户的比特币余额( self.balance )。

当然了,如果选择持有操作,那么就不会买卖账户中的比特币,因而第二个数字就没有了意义。

我们的 observation_space(观察空间)被定义为 0 到 1 之间的连续浮点数集,它的大小为( 10,回顾窗口大小( lookback_window_size ) + 1)。这里的 + 1 操作是考虑到了当前这一时间步长的操作。对于窗口中的每一步,我们都将观察它的收盘价位置价值( OHCLV ),我们在那时的资产总价值、买入或卖出的比特币数量、以及我们在买入或卖出这些比特币时花费的美元数。

接下来,我们需要编写重新设置( reset )函数来初始化比特币交易环境。






代码中我们使用了重新设置会话控制( self._reset_session )函数和下一次数据观察( self._next_observation )函数,不过这些函数都还没有被定义,接下来我们来定义它们。


交易会话控制


交易会话控制( session )是比特币交易环境中的一个重要组成部分。如果我们将这个智能体部署到外部,我们可能永远都不会一次让它运行几个月的时间。出于这个原因,我们将在数据帧参数( self.df )中限制智能体能够连续看到的数据帧数量。

在我们的重新设置会话控制( _reset_session )函数中,我们首先将当前的时间步长( current_step )重新设置为 0 。接下来,我们将剩余时间步长( steps_left )设置为 1 到最大交易会话控制数( MAX_TRADING_SESSION )之间的随机数,当然了,最大交易会话控制数需要在文件的顶部定义。






接下来,如果需要连续遍历数据帧,那就应该设置遍历所有的数据帧,否则我们需要在数据帧参数( self.df )中设置一个随机的数据帧起始位置( frame_start ),并创建一个名为激活数据帧( active_df )的新数据帧,它是数据帧( self.df )从起始位置( frame_start )到起始位置 + 剩余时间步长( frame_start + steps_left )这些连续帧组成的切片。






使用数据帧切片带来的一个重要影响就是,智能体将获得更多独一无二的数据,以便进行长时间的训练。举个例子,如果我们只是按顺序来遍历数据帧(即按数据帧 0 到最后一帧(len(df))的顺序),那么我们就只有数据帧个数这么多的唯一数据点。我们的观察空间在每一个时间步长只能观察区区几个状态。

但是,通过随机遍历数据帧的切片,我们有效地结合了原始数据集上每一个时间点的账户余额,交易数据以及当前比特币价格,从而创造出了更多独一无二的数据点。接下来我们通过一个例子来说明一下。

我们的智能体在每个时间步长中都有三种选择:买入,卖出或持有。对于这三种选择中的每一种,都还需指定操作比特币的数量,如操作当前比特币余额的 10%,20%,或是 100% 。这意味着我们的智能体在每个时间步长中都有 30 种不同的选择(当然了,对于持有操作,这 10 种选择的效果是一样的),而它从中选出最好的一个。

回到我们随机切片后的比特币交易环境。在第 10 个时间步长中,我们的智能体可以处于数据帧内的任何数据帧长度(len(df))时间步长。考虑到每个时间步长智能体可以做 30 种选择,这意味着在任意 10 个时间步长的间隔时间中,该智能体可以经历数据帧长度(len(df))的 30 次方种可能的唯一状态。

虽然这样的操作可能会给大型数据集带来相当大的噪声,但我相信这是一把双刃剑,这样我们的智能体也会从有限的数据量中学到更多。不过,对于测试数据集,我们仍将按顺序来遍历,这样做更贴近于“实时”的交易数据,因而可以更好更精确地检测我们的智能体。


比特币交易智能体都学到了些什么


为了更好地了解智能体所看到并学习到的特征,我们需要将比特币交易环境的观察空间可视化。就比如说,下面是使用 OpenCV 可视化渲染后的观察空间。





OpenCV 可视化渲染后的观察空间


图像中的每一行都代表我们观察空间( observation_space )中的一行。前4行类似于频率的红线代表了 OHCL 数据,下方的橙色和黄色的点代表着数量,再下方这个起伏不定的蓝色长条是智能体所拥有资产的总价值,而下方颜色较浅的点代则表智能体的交易。

如果你眯着眼睛看这张图,你就可以看到一个 K 线图,下面有着代表数量的指示条以及一个显示交易历史的类似于莫尔斯电码的界面。看起来我们的智能体应该能够在观察空间( observation_space )的数据中学到一些东西。在这里,我们将定义下一次观察( _next_observation )函数,在这个函数中我们要将观察到的数据缩放到 0 到 1 之间。

重要的一点是,仅仅缩放智能体到目前为止所观察到的数据,以避免出现前视偏差( Look-ahead bias,前视偏差是指在策略的开发中,采取了未来的一些信息,而这些信息在实盘操作中是基本上不可能得到的)。







编写步骤


现在我们已经设置好了观察空间,是时候编写我们的操作步骤( step )函数了,这个函数可以指导智能体的行为。

每当当前交易时段的剩余操作步骤( self.steps_left )等于 0 时,我们将卖出所持有的所有比特币并调用重新设置会话控制( _reset_session )函数。

否则,我们将智能体的奖励( reward )设置为当前所持有资产的总价值,如果智能体的资金用完了,则只会将完成( done )设置为真( True )。






其实,采取行动的过程十分简单,也就只有三步:

第一步,获取当前的比特币价格( current_price );

第二步,确定该买入卖出还是持有,以及所要操作的份额;

第三步,就是真实买入或卖出这些比特币。现在我们来编写采取行动( _take_action )函数,以便于测试我们的比特币交易智能体。






最后,在这个函数中,我们将交易添加到交易记录参数( self.trades )中,并更新我们的资产总价值和账户交易历史。






到这里,我们的智能体就可以启动新环境,在新环境中学习比特币交易的特征,并采取行动以获得收益。是时候让比特币交易智能体一展身手了。


查看比特币交易智能体的交易记录


上文中说到了,我们需要将智能体的学习和决策过程可视化。当然了,仅仅使用最简单的方法,在智能体每次决策后输出智能体所持有资产的总价值(print(self.net_worth))也不是不可以,不过这样做就少了很多的乐趣。因此,我们决定绘制一个简单的比特币价格数据 K 线图,其中包含数量栏和我们资产总价值的单独图表。

在代码中,我们需要定义一个用来可视化的资产交易图( StockTradingGraph )函数,在函数的初始化过程中,我们需要调用 python 可视化程序库 matplotlib.pyplot ,并指出每一个需要可视化的数据。






为了更好地展现数据,在可视化方法中我们需要导入 Python 时间日期( datetime )处理模块,在数据上标注出人类可读的日期和时间。






在导入完成后,我们需要使用将时间戳转换为世界统一时间 UTC 的 utcfromtimestamp 函数,将每个时间戳转化为 UTC 时间,然后用计算机时间函数( strftime )将这个 UTC 时间按照“ 年 - 月 - 日 小时:分钟 ”的格式展现出来。






到这里,可视化函数的各个部分都已编写完成,回到比特币交易环境,我们现在可以汇总出一个可视化( render )函数来显示图形。






ok了!我们现在可以看到智能体正在交易比特币。





使用 Matplotlab 程序库可视化后的智能体交易比特币数据


图中绿色的竖线代表智能体在买入比特币,红色的竖线代表智能体在卖出比特币。右上角的白色方框是智能体所持有资产的总价值,在其下方的白色方框是当前比特币的价格。

这里容我自恋一下,我认为这个可视化的效果简单而又不失优雅。现在,是时候训练我们的比特币交易智能体了,看看它能帮我们赚到多少钱!


训练比特币交易智能体


由于我们训练智能体时使用的是时间序列数据,因此在交叉验证方面我们并没有太多的选择。

就拿一种常见的交叉验证形式: k-fold(k组)交叉验证来举例,在 k-fold 交叉验证中,你需要将数据拆分成 k 个相等的分组,将每一个分组分别做一次测试组,其余的 k-1 组数据用作训练组。

然而,时间序列数据与时间有着高度的依赖性,这意味着后面出现的数据高度依赖于先前出现的数据。所以在这种情况下 k-fold 将不起作用,因为这样会让我们的智能体提前知道未来的数据,即使盈利了我们也不知道是得益于智能体精准的预测还是因为智能体作弊了。

当应用于时间序列数据时,大多数其他的交叉验证策略也都存在着同样的缺陷。因此,我们只需在完整数据帧中给定一个分界点,前一部分的数据用作训练集,其余的数据用作测试集。






接下来,由于我们的比特币交易环境被设置为仅处理单个数据帧,因此我们需要创建两个比特币交易环境,一个用于训练数据,一个用于测试数据。






到这里,我们就可以训练模型了。如下面的代码所示,我们只需要在比特币交易环境中创建智能体,然后调用 model.learn 命令开始训练。






在这里,我们会使用机器学习框架 tensorflow 的可视化工具 tensorboard ,从而我们可以轻松地可视化 tensorflow 的数据流图并查看有关我们智能体的一些量化指标。

比如说,下图展示了智能体在经过 200000 个时间步长后的盈利:






看起来我们的智能体都获得了很多的收益!最好的一个智能体在 200,000 个时间步长后资产总价值提升了 1000 倍,而其余的智能体资产总价值平均提升了 30 倍以上!

不过,就在这时,我意识到比特币交易环境中存在一个错误......在修复了该错误之后,这是新的收益图:






正如你所看到的,我们的一些智能体做得很好,而有一些则表现很差。总的来说,表现良好的智能体最多能够实现资产总价值提升 10 倍甚至 60 倍。

我必须承认,所有这些智能体都是在虚拟的比特币交易环境中训练和测试的,所以将这个比特币交易智能体直接应用于比特币区块链上还为时尚早。但是至少这个结果告诉我们,使用人工智能来进行加密货币交易决策这条路是行得通的。

接下来,让我们在比特币交易测试环境中测试智能体,在测试环境中我们将使用智能体以前从未见过的全新数据,看看这些智能体是否学到了比特币的交易策略。





结果显示,我们训练出来的比特币交易智能体在新的测试环境中争相走向破产


这也并不意外,因为我们还有很多的工作要做。仅仅通过简单地将模型从当前的近端策略优化( Proximal Policy Optimization , PPO2 )智能体切换到 stable-baseline 程序库中的 A2C ( Advantage Actor-Critic )就可以大大提高我们在此数据集上的性能。

同时,我们也可以更新奖励函数,激励那些资产总价值不断增加的操作,防止有些比特币交易智能体在资产总价值达到高位时就消极怠工。






仅仅做出这两个改动就可以大幅度提高比特币交易智能体在当前数据集上的性能,正如下图所示,最终我们在数据全新的测试环境上成功实现了盈利。






除此之外,我们还可以做得更好。为了提升这些比特币交易智能体的准确度,我们可以优化超参数并训练智能体更长的时间。是时候给你的显卡(深度学习代码运行在显卡之上)一点压力了!

如果你想继续优化,这里可以给你提供些思路,你可以使用贝叶斯优化来在问题空间上寻找最佳的超参数,并使用显卡的 CUDA 运算平台优化训练环境和测试环境。


结论


在本教程中,我们使用深度强化学习从零开始创建了一个能够获得收益的比特币交易智能体。

具体而言,我们完成了以下的任务:

    使用 OpenAI 团队开发的用于测试强化学习算法的工具包 gym 从零开始创建了一个比特币交易环境;
    使用 Python 可视化程序库 Matplotlib 将比特币交易环境可视化;
    使用简单的交叉验证对我们的比特币交易智能体进行了训练和测试;
    虽然还有很多的工作需要完成,但现在我们已经可以看到成功的曙光。


 
虽然最后我们的比特币交易智能体在数据全新的测试环境中还不能保证总是盈利,但我们已经离成功不远了。


作者 | Adam King
译者 | Guoxi
责编 | Aholiab
出品 | 区块链大本营(blockchain_camp) 查看全部
3D-Rendering-Robot-and-laptop-stock-exchange-trading.jpg

炒股的人都知道,天天盯着大盘做决策不仅让人劳神,还让人秃头。所以一堆顶级的数学家开始用数学的手段进行股市预测。

加密货币市场也一样,而且加密货币市场波动更加频繁,更加剧烈。对于这个问题,国外加密货币开发者 Adam King 提出了一种新的解决思路。

结合人工智能在预测方面得天独厚的优势, Adam 提出了使用深度强化学习构建加密货币自动交易程序,同时,这位小哥还做出了一个能够真正交易比特币的展示模型,他是怎么做到的?这个自动交易程序又能达到怎样的效果呢?让我们在文中一探究竟。

在本文中,我们将使用深度强化学习建立一个加密货币自动交易智能体(agent),并训练它通过交易比特币盈利。

为了避免重复造轮子,在本篇教程中我们将使用人工智能研究机构 OpenAI 开发的程序包。

目前人工智能在很多领域都已经超过了人类,从最初谷歌 DeepMind 团队开发的 AlphaGo 战胜围棋世界冠军李世石,到后来师出同门的 AlphaStar 在星际争霸中以 10:1 的大比分战胜两位职业玩家。近日,OpenAI 团队的 OpenAI Five 在 Dota2 游戏中以 2:0 的比分将世界冠军 OG 斩于马下。

201905131840081.png

谷歌 DeepMind 团队星际争霸人工智能产品 AlphaStar 的训练过程


人工智能给我们带来了很多激动人心的结果,虽然我们不会构建像 AlphaGo 这样令人印象深刻的产品,但在日常的比特币交易中实现盈利也非易事。

因此,与其冒着脱发的风险苦苦探索比特币币价的规律,何不让人工智能来一展身手?

在本文中,我们将通过人工智能技术完成一下三个尝试:


    为我们的智能体(agent)创建一个测试强化学习的 gym 环境; 以一种简单、优雅的方式可视化我们的测试环境; 训练我们的智能体,让它学习到能获益的比特币交易策略。



这里有些操作可能会比较麻烦,就比如说从头开始构建 gym 测试环境并将测试环境可视化,不过不要担心,我会仔细介绍这些细节,跟上我的节奏就好。


程序库安装


在本教程中,我们将使用 Zielak 提供的 Kaggle 数据集。如果你想要这些数据,你可以在我的 Github 仓库中下载 .csv 数据文件。

首先,我们来导入所有必要的 Python 程序库。如果你的电脑上还没有安装这些程序库,你可以使用 pip install 命令进行安装。

201905131840082.jpg


接下来,我们创建一个比特币交易环境的类。我们需要向其中传入一个 pandas 数据帧,一个用于指示智能体在每一个时间步长( time step )需要分析前几个时间步长数据的回顾窗口大小( lookback_window_size ),以及可选的智能体账户初始余额( initial_balance )。

代码中我们将手续费( commission )设置为每笔交易的 0.075% ,也就是加密货币期货交易所 Bitmex 当前的费率,同时,我们将序列运行( serial )参数默认为否( false ),这意味着在默认情况下我们的数据帧将以随机的形式遍历各个片段。

除此之外,我们还在数据帧上分别调用了删除非数字(NaN,Not A Number)所在行的 dropna 函数以及在删除了数据之后重新设置数据帧索引的 reset_index 函数。

201905131840083.jpg


代码中 action_space (操作空间)的第一个数字表示可选的 3 个选项,即买入,卖出或持有,第二个数字表示所操作的比例,最小单位是 10% ,也就是说这个数字中的 1,2,3 分别代表 10%,20%,30% 。当选择买入操作时,具体买入的比特币数量将是第二个数字( amount )乘以当前账户的比特币余额( self.balance )。对于卖出操作,具体卖出的比特币数量也是第二个数字( amount )乘以当前账户的比特币余额( self.balance )。

当然了,如果选择持有操作,那么就不会买卖账户中的比特币,因而第二个数字就没有了意义。

我们的 observation_space(观察空间)被定义为 0 到 1 之间的连续浮点数集,它的大小为( 10,回顾窗口大小( lookback_window_size ) + 1)。这里的 + 1 操作是考虑到了当前这一时间步长的操作。对于窗口中的每一步,我们都将观察它的收盘价位置价值( OHCLV ),我们在那时的资产总价值、买入或卖出的比特币数量、以及我们在买入或卖出这些比特币时花费的美元数。

接下来,我们需要编写重新设置( reset )函数来初始化比特币交易环境。

201905131840084.jpg


代码中我们使用了重新设置会话控制( self._reset_session )函数和下一次数据观察( self._next_observation )函数,不过这些函数都还没有被定义,接下来我们来定义它们。


交易会话控制


交易会话控制( session )是比特币交易环境中的一个重要组成部分。如果我们将这个智能体部署到外部,我们可能永远都不会一次让它运行几个月的时间。出于这个原因,我们将在数据帧参数( self.df )中限制智能体能够连续看到的数据帧数量。

在我们的重新设置会话控制( _reset_session )函数中,我们首先将当前的时间步长( current_step )重新设置为 0 。接下来,我们将剩余时间步长( steps_left )设置为 1 到最大交易会话控制数( MAX_TRADING_SESSION )之间的随机数,当然了,最大交易会话控制数需要在文件的顶部定义。

201905131840095.png


接下来,如果需要连续遍历数据帧,那就应该设置遍历所有的数据帧,否则我们需要在数据帧参数( self.df )中设置一个随机的数据帧起始位置( frame_start ),并创建一个名为激活数据帧( active_df )的新数据帧,它是数据帧( self.df )从起始位置( frame_start )到起始位置 + 剩余时间步长( frame_start + steps_left )这些连续帧组成的切片。

201905131840096.jpg


使用数据帧切片带来的一个重要影响就是,智能体将获得更多独一无二的数据,以便进行长时间的训练。举个例子,如果我们只是按顺序来遍历数据帧(即按数据帧 0 到最后一帧(len(df))的顺序),那么我们就只有数据帧个数这么多的唯一数据点。我们的观察空间在每一个时间步长只能观察区区几个状态。

但是,通过随机遍历数据帧的切片,我们有效地结合了原始数据集上每一个时间点的账户余额,交易数据以及当前比特币价格,从而创造出了更多独一无二的数据点。接下来我们通过一个例子来说明一下。

我们的智能体在每个时间步长中都有三种选择:买入,卖出或持有。对于这三种选择中的每一种,都还需指定操作比特币的数量,如操作当前比特币余额的 10%,20%,或是 100% 。这意味着我们的智能体在每个时间步长中都有 30 种不同的选择(当然了,对于持有操作,这 10 种选择的效果是一样的),而它从中选出最好的一个。

回到我们随机切片后的比特币交易环境。在第 10 个时间步长中,我们的智能体可以处于数据帧内的任何数据帧长度(len(df))时间步长。考虑到每个时间步长智能体可以做 30 种选择,这意味着在任意 10 个时间步长的间隔时间中,该智能体可以经历数据帧长度(len(df))的 30 次方种可能的唯一状态。

虽然这样的操作可能会给大型数据集带来相当大的噪声,但我相信这是一把双刃剑,这样我们的智能体也会从有限的数据量中学到更多。不过,对于测试数据集,我们仍将按顺序来遍历,这样做更贴近于“实时”的交易数据,因而可以更好更精确地检测我们的智能体。


比特币交易智能体都学到了些什么


为了更好地了解智能体所看到并学习到的特征,我们需要将比特币交易环境的观察空间可视化。就比如说,下面是使用 OpenCV 可视化渲染后的观察空间。

201905131840097.jpg

OpenCV 可视化渲染后的观察空间


图像中的每一行都代表我们观察空间( observation_space )中的一行。前4行类似于频率的红线代表了 OHCL 数据,下方的橙色和黄色的点代表着数量,再下方这个起伏不定的蓝色长条是智能体所拥有资产的总价值,而下方颜色较浅的点代则表智能体的交易。

如果你眯着眼睛看这张图,你就可以看到一个 K 线图,下面有着代表数量的指示条以及一个显示交易历史的类似于莫尔斯电码的界面。看起来我们的智能体应该能够在观察空间( observation_space )的数据中学到一些东西。在这里,我们将定义下一次观察( _next_observation )函数,在这个函数中我们要将观察到的数据缩放到 0 到 1 之间。

重要的一点是,仅仅缩放智能体到目前为止所观察到的数据,以避免出现前视偏差( Look-ahead bias,前视偏差是指在策略的开发中,采取了未来的一些信息,而这些信息在实盘操作中是基本上不可能得到的)。

201905131840138.jpg



编写步骤


现在我们已经设置好了观察空间,是时候编写我们的操作步骤( step )函数了,这个函数可以指导智能体的行为。

每当当前交易时段的剩余操作步骤( self.steps_left )等于 0 时,我们将卖出所持有的所有比特币并调用重新设置会话控制( _reset_session )函数。

否则,我们将智能体的奖励( reward )设置为当前所持有资产的总价值,如果智能体的资金用完了,则只会将完成( done )设置为真( True )。

201905131840139.jpg


其实,采取行动的过程十分简单,也就只有三步:

第一步,获取当前的比特币价格( current_price );

第二步,确定该买入卖出还是持有,以及所要操作的份额;

第三步,就是真实买入或卖出这些比特币。现在我们来编写采取行动( _take_action )函数,以便于测试我们的比特币交易智能体。

2019051318401410.jpg


最后,在这个函数中,我们将交易添加到交易记录参数( self.trades )中,并更新我们的资产总价值和账户交易历史。

2019051318401411.jpg


到这里,我们的智能体就可以启动新环境,在新环境中学习比特币交易的特征,并采取行动以获得收益。是时候让比特币交易智能体一展身手了。


查看比特币交易智能体的交易记录


上文中说到了,我们需要将智能体的学习和决策过程可视化。当然了,仅仅使用最简单的方法,在智能体每次决策后输出智能体所持有资产的总价值(print(self.net_worth))也不是不可以,不过这样做就少了很多的乐趣。因此,我们决定绘制一个简单的比特币价格数据 K 线图,其中包含数量栏和我们资产总价值的单独图表。

在代码中,我们需要定义一个用来可视化的资产交易图( StockTradingGraph )函数,在函数的初始化过程中,我们需要调用 python 可视化程序库 matplotlib.pyplot ,并指出每一个需要可视化的数据。

2019051318401412.jpg


为了更好地展现数据,在可视化方法中我们需要导入 Python 时间日期( datetime )处理模块,在数据上标注出人类可读的日期和时间。

2019051318401513.jpg


在导入完成后,我们需要使用将时间戳转换为世界统一时间 UTC 的 utcfromtimestamp 函数,将每个时间戳转化为 UTC 时间,然后用计算机时间函数( strftime )将这个 UTC 时间按照“ 年 - 月 - 日 小时:分钟 ”的格式展现出来。

2019051318401514.jpg


到这里,可视化函数的各个部分都已编写完成,回到比特币交易环境,我们现在可以汇总出一个可视化( render )函数来显示图形。

2019051318401515.jpg


ok了!我们现在可以看到智能体正在交易比特币。

2019051318401516.jpg

使用 Matplotlab 程序库可视化后的智能体交易比特币数据


图中绿色的竖线代表智能体在买入比特币,红色的竖线代表智能体在卖出比特币。右上角的白色方框是智能体所持有资产的总价值,在其下方的白色方框是当前比特币的价格。

这里容我自恋一下,我认为这个可视化的效果简单而又不失优雅。现在,是时候训练我们的比特币交易智能体了,看看它能帮我们赚到多少钱!


训练比特币交易智能体


由于我们训练智能体时使用的是时间序列数据,因此在交叉验证方面我们并没有太多的选择。

就拿一种常见的交叉验证形式: k-fold(k组)交叉验证来举例,在 k-fold 交叉验证中,你需要将数据拆分成 k 个相等的分组,将每一个分组分别做一次测试组,其余的 k-1 组数据用作训练组。

然而,时间序列数据与时间有着高度的依赖性,这意味着后面出现的数据高度依赖于先前出现的数据。所以在这种情况下 k-fold 将不起作用,因为这样会让我们的智能体提前知道未来的数据,即使盈利了我们也不知道是得益于智能体精准的预测还是因为智能体作弊了。

当应用于时间序列数据时,大多数其他的交叉验证策略也都存在着同样的缺陷。因此,我们只需在完整数据帧中给定一个分界点,前一部分的数据用作训练集,其余的数据用作测试集。

2019051318401817.jpg


接下来,由于我们的比特币交易环境被设置为仅处理单个数据帧,因此我们需要创建两个比特币交易环境,一个用于训练数据,一个用于测试数据。

2019051318401818.jpg


到这里,我们就可以训练模型了。如下面的代码所示,我们只需要在比特币交易环境中创建智能体,然后调用 model.learn 命令开始训练。

2019051318401819.jpg


在这里,我们会使用机器学习框架 tensorflow 的可视化工具 tensorboard ,从而我们可以轻松地可视化 tensorflow 的数据流图并查看有关我们智能体的一些量化指标。

比如说,下图展示了智能体在经过 200000 个时间步长后的盈利:

2019051318401820.jpg


看起来我们的智能体都获得了很多的收益!最好的一个智能体在 200,000 个时间步长后资产总价值提升了 1000 倍,而其余的智能体资产总价值平均提升了 30 倍以上!

不过,就在这时,我意识到比特币交易环境中存在一个错误......在修复了该错误之后,这是新的收益图:

2019051318401921.jpg


正如你所看到的,我们的一些智能体做得很好,而有一些则表现很差。总的来说,表现良好的智能体最多能够实现资产总价值提升 10 倍甚至 60 倍。

我必须承认,所有这些智能体都是在虚拟的比特币交易环境中训练和测试的,所以将这个比特币交易智能体直接应用于比特币区块链上还为时尚早。但是至少这个结果告诉我们,使用人工智能来进行加密货币交易决策这条路是行得通的。

接下来,让我们在比特币交易测试环境中测试智能体,在测试环境中我们将使用智能体以前从未见过的全新数据,看看这些智能体是否学到了比特币的交易策略。

2019051318401922.jpg

结果显示,我们训练出来的比特币交易智能体在新的测试环境中争相走向破产


这也并不意外,因为我们还有很多的工作要做。仅仅通过简单地将模型从当前的近端策略优化( Proximal Policy Optimization , PPO2 )智能体切换到 stable-baseline 程序库中的 A2C ( Advantage Actor-Critic )就可以大大提高我们在此数据集上的性能。

同时,我们也可以更新奖励函数,激励那些资产总价值不断增加的操作,防止有些比特币交易智能体在资产总价值达到高位时就消极怠工。

2019051318401923.png


仅仅做出这两个改动就可以大幅度提高比特币交易智能体在当前数据集上的性能,正如下图所示,最终我们在数据全新的测试环境上成功实现了盈利。

2019051318401924.jpg


除此之外,我们还可以做得更好。为了提升这些比特币交易智能体的准确度,我们可以优化超参数并训练智能体更长的时间。是时候给你的显卡(深度学习代码运行在显卡之上)一点压力了!

如果你想继续优化,这里可以给你提供些思路,你可以使用贝叶斯优化来在问题空间上寻找最佳的超参数,并使用显卡的 CUDA 运算平台优化训练环境和测试环境。


结论


在本教程中,我们使用深度强化学习从零开始创建了一个能够获得收益的比特币交易智能体。

具体而言,我们完成了以下的任务:


    使用 OpenAI 团队开发的用于测试强化学习算法的工具包 gym 从零开始创建了一个比特币交易环境;
    使用 Python 可视化程序库 Matplotlib 将比特币交易环境可视化;
    使用简单的交叉验证对我们的比特币交易智能体进行了训练和测试;
    虽然还有很多的工作需要完成,但现在我们已经可以看到成功的曙光。



 
虽然最后我们的比特币交易智能体在数据全新的测试环境中还不能保证总是盈利,但我们已经离成功不远了。


作者 | Adam King
译者 | Guoxi
责编 | Aholiab
出品 | 区块链大本营(blockchain_camp)

2019年适合GPU挖矿的6个加密货币

leekgeek 发表了文章 • 2019-05-29 18:45 • 来自相关话题

免责声明:以下内容不是交易或投资建议,仅用于娱乐和学习目的。在购买或投资任何加密货币之前,请自行做好研究。


时下,许多人仍然对开采各种加密货币感兴趣。然而,当涉及到GPU挖矿时,事情与人们所期望的可能有所不同。在2019年,仍然有几种加密货币支持GPU挖矿,不过GPU矿工需要付出一定的努力才能做好挖矿设置。

GPU(Graphics Processing Unit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。矿工们经常把GPU挖矿称作“显卡挖矿”。






狗狗币(DogeCoin, DOGE)仍然可行


虽然大多数人都会认为狗狗币是加密世界的一个笑话,但要记住它仍然是一种很好的可用于教育和学习的工具。特别是对于那些想探索GPU挖矿世界的人来说,狗狗币是一个更可行的解决方案。不仅因为它有价值,而且它是时下最容易开采的加密货币之一。挖掘它并不需要预先拥有狗狗币,所以这是一个值得看看的选项。

就像开采其它加密货币一样,加入一个矿池是最安全的选择。对于狗狗币,仍有几个活跃的矿池可以使用。虽然目前你不太可能通过挖掘狗狗币致富,但这是一项非常宝贵的学习方式。此外,任何人都可以用任何类型的计算机来挖掘狗狗币,尽管收益会有很大的差异。






门罗币(Monero, XMR)依然可靠


在加密货币开采领域,门罗币在过去几年变得越来越受欢迎。尽管这并非总是正确的原因,但它表明任何拥有CPU和GPU的人都可以很容易地挖掘门罗币。与狗狗币类似,建议矿工加入门罗币矿池,因为单独采矿不一定会产生任何显著的结果。门罗币一直在更新挖矿算法,如果愿意投入一些工作,GPU挖掘仍然是可行的。






Zencash(已更名为Horizen, ZEN)回报丰厚


尽管大多数人倾向于忽略市值前25位之外的加密货币,但Zencash在GPU挖矿方面是一个有趣的选择。Zencash的矿工们得到88%的块奖励,这未必是最高比例的奖励。然而,它是众多基于零币协议(Zerocoin-based)的货币中,使用普通计算机就可以很容易挖掘的一种加密货币。只要你能使用正确的软件,加入好的矿池,Zencash是一个值得考虑的选择。






小零币(Zcoin, XZC),不要与大零币(Zcash, ZEC)混淆


很多人可能听说过Zcash,而Zcoin可能没那么知名。很多人可能会以为Zcoin是Zcash的分叉(fork),实际上它们是不同的两个项目。Zcoin和Zcash都使用零知识证明来实现匿名,两者之间确实有很多波折纠缠。Zcoin使用Zerocoin协议, 而Zcash使用ZeroCash协议.

对于那些想加入加密货币挖矿的人来说,Zcoin是一个有趣的选择。Zcoin在大多数顶级交易所交易,新手们和高级矿商都能很容易地参与交易。Zcoin还确保它仍然像Monero一样,抵抗ASIC挖矿,所以,如果没有重大变化,矿工们将可以在较长的时间里,继续进行GPU挖矿。






比特币黄金(Bitcoin Gold, BTG)需要更多矿工


另一个GPU挖矿的可靠选择是比特币黄金。虽然比特币本身仍然还可以被挖掘,但比特币黄金可能是更好的选择。尽管比特币黄金的价格自推出以来已经暴跌,但在撰写本文时,它的价格仍然超过24美元。来自该项目团队的信息表明,一些有趣的变化和改进将在今年及以后发生。当然,这是否会影响比特币黄金的价值,还不得而知。






以太坊(Ethereum, ETH)备受关注


当使用GPU挖掘加密货币时,每个人都会欣然同意以太坊是首选。纸面上,挖掘以太坊是最有利可图的,尽管网络上有许多竞争对手,他们试图竞相获得区块奖励。即便如此,对于那些先进的矿商来说,随着价格上涨,以太坊仍然是一个值得的选择。一个缺点是GPU挖掘以太坊的成本可能非常高,仅仅使用一张显卡并不能让你在当下的竞争环境里获得什么回报。


原文:Top 6 Cryptocurrencies Worth GPU Mining in 2019, themerkle
作者:JP Buntinx
编译:Satojiu
 
连载中……
作者:韭菜极客(微信公众号:leekgeek) 查看全部
mining.jpg

免责声明:以下内容不是交易或投资建议,仅用于娱乐和学习目的。在购买或投资任何加密货币之前,请自行做好研究。


时下,许多人仍然对开采各种加密货币感兴趣。然而,当涉及到GPU挖矿时,事情与人们所期望的可能有所不同。在2019年,仍然有几种加密货币支持GPU挖矿,不过GPU矿工需要付出一定的努力才能做好挖矿设置。

GPU(Graphics Processing Unit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。矿工们经常把GPU挖矿称作“显卡挖矿”。

DOGE-Digger-776x415.jpg


狗狗币(DogeCoin, DOGE)仍然可行


虽然大多数人都会认为狗狗币是加密世界的一个笑话,但要记住它仍然是一种很好的可用于教育和学习的工具。特别是对于那些想探索GPU挖矿世界的人来说,狗狗币是一个更可行的解决方案。不仅因为它有价值,而且它是时下最容易开采的加密货币之一。挖掘它并不需要预先拥有狗狗币,所以这是一个值得看看的选项。

就像开采其它加密货币一样,加入一个矿池是最安全的选择。对于狗狗币,仍有几个活跃的矿池可以使用。虽然目前你不太可能通过挖掘狗狗币致富,但这是一项非常宝贵的学习方式。此外,任何人都可以用任何类型的计算机来挖掘狗狗币,尽管收益会有很大的差异。

Monero_Mining.jpg


门罗币(Monero, XMR)依然可靠


在加密货币开采领域,门罗币在过去几年变得越来越受欢迎。尽管这并非总是正确的原因,但它表明任何拥有CPU和GPU的人都可以很容易地挖掘门罗币。与狗狗币类似,建议矿工加入门罗币矿池,因为单独采矿不一定会产生任何显著的结果。门罗币一直在更新挖矿算法,如果愿意投入一些工作,GPU挖掘仍然是可行的。

zencash.jpg


Zencash(已更名为Horizen, ZEN)回报丰厚


尽管大多数人倾向于忽略市值前25位之外的加密货币,但Zencash在GPU挖矿方面是一个有趣的选择。Zencash的矿工们得到88%的块奖励,这未必是最高比例的奖励。然而,它是众多基于零币协议(Zerocoin-based)的货币中,使用普通计算机就可以很容易挖掘的一种加密货币。只要你能使用正确的软件,加入好的矿池,Zencash是一个值得考虑的选择。

zcoin-cryptocurrency.jpg


小零币(Zcoin, XZC),不要与大零币(Zcash, ZEC)混淆


很多人可能听说过Zcash,而Zcoin可能没那么知名。很多人可能会以为Zcoin是Zcash的分叉(fork),实际上它们是不同的两个项目。Zcoin和Zcash都使用零知识证明来实现匿名,两者之间确实有很多波折纠缠。Zcoin使用Zerocoin协议, 而Zcash使用ZeroCash协议.

对于那些想加入加密货币挖矿的人来说,Zcoin是一个有趣的选择。Zcoin在大多数顶级交易所交易,新手们和高级矿商都能很容易地参与交易。Zcoin还确保它仍然像Monero一样,抵抗ASIC挖矿,所以,如果没有重大变化,矿工们将可以在较长的时间里,继续进行GPU挖矿。

bitcoin_gold.jpg


比特币黄金(Bitcoin Gold, BTG)需要更多矿工


另一个GPU挖矿的可靠选择是比特币黄金。虽然比特币本身仍然还可以被挖掘,但比特币黄金可能是更好的选择。尽管比特币黄金的价格自推出以来已经暴跌,但在撰写本文时,它的价格仍然超过24美元。来自该项目团队的信息表明,一些有趣的变化和改进将在今年及以后发生。当然,这是否会影响比特币黄金的价值,还不得而知。

ethereum-mining-hardware.jpg


以太坊(Ethereum, ETH)备受关注


当使用GPU挖掘加密货币时,每个人都会欣然同意以太坊是首选。纸面上,挖掘以太坊是最有利可图的,尽管网络上有许多竞争对手,他们试图竞相获得区块奖励。即便如此,对于那些先进的矿商来说,随着价格上涨,以太坊仍然是一个值得的选择。一个缺点是GPU挖掘以太坊的成本可能非常高,仅仅使用一张显卡并不能让你在当下的竞争环境里获得什么回报。


原文:Top 6 Cryptocurrencies Worth GPU Mining in 2019, themerkle
作者:JP Buntinx
编译:Satojiu

 
连载中……
作者:韭菜极客(微信公众号:leekgeek)

BitMEX 发布过去一年杠杆使用数据:大仓位交易者使用小杠杆

leeks 发表了文章 • 2019-05-29 12:02 • 来自相关话题

加密货币合约交易所 BitMEX 发布过去近一年的比特币永续合约杠杆使用数据,分析指出大多数交易时事实上没有使用 BitMEX 所提供的 100 倍杠杆。



BitMEX 被众人熟知的一个原因是客户在交易比特币 / 美元价格时能够使用 100 倍杠杆。 我们经常被问到交易者有多经常使用所提供的最高杠杆。 我让我们的数据科学团队提取从 2018 年 5 月到 2019 年 4 月的 XBTUSD 永续合约的杠杆率使用历史数据。
















第一张图表和表格组合显示了 XBTUSD 多头和空头的月底加权有效杠杆。

看来交易者非常「负责」,因为他们平均没有使用最大杠杆率。


定义


按月、方向和交易品种分组的总数







计算百分位数的方法

    选择前 12 个月中每个月的最后一个可用时间戳(即「月末快照」),并计算所有账户中每个仓位的有效杠杆,四舍五入到最接近的整数;
    从结果值中创建一个排序列表,并通过按持有的合约数量扩展每个仓位的有效杠杆来展平(例如,如果仓位数量为 4 的账户使用了 3 的有效杠杆,则对该列表的贡献是 '3 3 3 3')
    通过获取由下式给出的索引处的值,可以找到此列表的任何给定百分位数: (列表计数)*(所需百分位数)


使用均值是粗略的,因为持有大仓位的交易者使用的杠杆必须少于较小仓位交易者。 这是由于 BitMEX 的风险限额功能。 交易者可以使用 100 倍杠杆,最大仓位为 200 XBT。 之后,初始和维持保证金要求逐步按每 50 XBT 增加 0.5% 。











为了了解各自合约数量的杠杆分布,我们查看了从 2018 年 5 月到 2019 年 4 月的 12 个月末快照的平均 XBTUSD 多头和空头直方图。 上面两个图表显示了这些数据。 正如我们所料,仓位最大的交易者使用最少的杠杆。

虽然允许对 XBTUSD 开仓的最大杠杆率为 100 倍,但有效杠杆可以增加到 200 倍(即维持保证金要求的 0.50% 的倒数),此时会进行强平。


创建直方图的方法

    计算所有 12 个月末快照的每个有效杠杆的合约总数,然后将每个总数除以 12 (即平均月末快照)


我希望这些数据可以让交易者更好地理解 BitMEX 市场的微观结构。 我将在不久的将来继续定期发布回溯统计数据。


原文链接:blog.bitmex.com 查看全部
bitmex-feature-825x450.jpg


加密货币合约交易所 BitMEX 发布过去近一年的比特币永续合约杠杆使用数据,分析指出大多数交易时事实上没有使用 BitMEX 所提供的 100 倍杠杆。




BitMEX 被众人熟知的一个原因是客户在交易比特币 / 美元价格时能够使用 100 倍杠杆。 我们经常被问到交易者有多经常使用所提供的最高杠杆。 我让我们的数据科学团队提取从 2018 年 5 月到 2019 年 4 月的 XBTUSD 永续合约的杠杆率使用历史数据。

434f7cf6-ca37-586a-af4e-62c4de82b73b.png


d1141a94-1634-5e5f-9696-a593969b0f7d.png


b5539f5a-7bba-5c4e-a20a-b4d3a23b835a.png


第一张图表和表格组合显示了 XBTUSD 多头和空头的月底加权有效杠杆。

看来交易者非常「负责」,因为他们平均没有使用最大杠杆率。


定义


按月、方向和交易品种分组的总数

b4b07c11-1ab9-51a1-8c3e-a3ce1a3907a4.png



计算百分位数的方法


    选择前 12 个月中每个月的最后一个可用时间戳(即「月末快照」),并计算所有账户中每个仓位的有效杠杆,四舍五入到最接近的整数;
    从结果值中创建一个排序列表,并通过按持有的合约数量扩展每个仓位的有效杠杆来展平(例如,如果仓位数量为 4 的账户使用了 3 的有效杠杆,则对该列表的贡献是 '3 3 3 3')
    通过获取由下式给出的索引处的值,可以找到此列表的任何给定百分位数: (列表计数)*(所需百分位数)



使用均值是粗略的,因为持有大仓位的交易者使用的杠杆必须少于较小仓位交易者。 这是由于 BitMEX 的风险限额功能。 交易者可以使用 100 倍杠杆,最大仓位为 200 XBT。 之后,初始和维持保证金要求逐步按每 50 XBT 增加 0.5% 。

2449477a-d02e-5d26-9735-0dd2f7828d1d.png


2bdb762a-e0fc-5eec-ad11-71bd2b01ae36.png


为了了解各自合约数量的杠杆分布,我们查看了从 2018 年 5 月到 2019 年 4 月的 12 个月末快照的平均 XBTUSD 多头和空头直方图。 上面两个图表显示了这些数据。 正如我们所料,仓位最大的交易者使用最少的杠杆。

虽然允许对 XBTUSD 开仓的最大杠杆率为 100 倍,但有效杠杆可以增加到 200 倍(即维持保证金要求的 0.50% 的倒数),此时会进行强平。


创建直方图的方法


    计算所有 12 个月末快照的每个有效杠杆的合约总数,然后将每个总数除以 12 (即平均月末快照)



我希望这些数据可以让交易者更好地理解 BitMEX 市场的微观结构。 我将在不久的将来继续定期发布回溯统计数据。


原文链接:blog.bitmex.com

主网上线的币还不赶紧卖?历史数据告诉你,这样才是最合理的

bikaqiu 发表了文章 • 2019-05-28 16:29 • 来自相关话题

对于专业投资者或做主动管理的基金经理,他们的投资水平一般是以「超额收益率 | Alpha」(α)来衡量的,也就是指超出「基准收益 | Benchmark」的收益。各个市场的标的基准不一,美国股市会以「标普 500」作为基准,币市大多以比特币作为基准。

如果说你要超过整个市场的基准收益,一般有这么几类方法:

    1. 相比竞争对手,做更优更快的投资决策
    2. 利用信息不对称获取优势
    3. 及时调整策略,促成更好的收益


无论你使用何种类型的投资工具,产生 Alpha 的条件通常都是相同的。具体的策略可能会有这么几种:

    1. 基本面分析,评估被低估或高估的资产,然后做多或做空
    2. 量化策略,通过独有的 (而非公开的) 算法,做更快的投资决策
    3. 套利/搬砖,通过不同市场的价格流动性差异进行买卖赚差价
    4. 宏观策略,比如说通过政策,以及行业的趋势判断
    5. 以事件驱动,比如说项目上线,公司的吞并或收购等


据 Messari 了解的币市基金投资者,会更倾向于采用「宏观策略」和「事件驱动」混合的投资策略。


目前币市的基本面分析中广泛使用的指标,也就 NVT 这一个[1],类似于股市中用的 PE (市盈率) 的概念 [2]。而量化和套利需要一定的技巧,市场还不够成熟,整体交易规模也比较有限。

最近,许多投资者在探索以「事件驱动」作为正向或反向的交易信号,比如说:

- 交易所上线新币种 

- 产量 (区块奖励) 减半 

- 技术开发到某个里程碑

- 产品路线图更新 


而本文的重点则是回顾「主网/测试网上线」前后,币种的收益表现。


当产品临近正式上线,也就是代币可以有除了投机以外作用的时候(比如 ETH 可以用来执行智能合约,MKR 用来参与自治等),所产生的真正价值应该会反映在代币的价格上。

我们也好奇这是不是个可重复使用的可带来超额回报的策略。

以下的调查是基于几个比较出名的主网上线和测试网上线的项目,得出的部分结果也是有显著的统计学意义的。覆盖的币种以基础链或者协议层产品为主,还是比较有代表性的:EOS,Tron, Tezos,VeChain,Aion,Zilliqa,Ontology,Waves,Qtum,Augur,ICON,0x, NEO,BNB。

我们假设有4个场景:

    1. 在主网/产品上线前一周买入,在上线当日卖出
    2. 在主网/产品上线前一日买入,在上线当日卖出
    3. 在主网/产品上线当日买入,在上线第二天卖出
    4. 在主网/产品上线当日买入,在上线一周后卖出


参考下图,第一种场景的收益中位数为 1.9%,这在统计学可以说是无显著差异的。相比同阶段的比特币收益,则是更不显著的 0.3%。

然而对于第四种场景,就产生了很明显的差别。14 个项目中有 10 个是负收益 (以 7 天计),中位数为 -7.5%,同时如果以比特币计,跌幅中位数更是提高到了 -8.9%。

很多人会以为,主网上线意味着产品落地,可能会带动着至少一周的上涨。但实际上,大多数交易者的行为告诉我们,他们在上线时就会卖出,然后开始寻找下一个交易标的。 






同样的,把上述的四个条件中的主网上线改为测试网上线,也可以得到类似的结论。 第一个场景的收益中位数是 1.8%,和主网上线时的 1.9% 差不多。而场景三和四的收益是负的,差异也比较大。






主网上线与测试网上线的价格波动会产生差异的一个可能性是,投资者对于测试网上线这件事看法不一。有人会认为这是产品路线图中非常重要的里程碑,而有些则可能以为只是修补一些小功能,所以并未放在心上。

而另一个可能性是,在主网上线前的代币只是一个没有任何功能的、仅可用来 「投机」的代替物而已,所以波动会更大一些。 在加密资产的世界里,有太多可以赚取超额收益的办法了,但本文总结的方法却是老生常谈的,在股市中也被用烂的了:

「在谣言阶段买入,在利好公布时卖出」 

换成币市的语境,也可以调整为:

「无论在啥时候买入,至少要在上线时卖出」 


补充说明

[1] NVT 全称是 Network Value to Transactions Ratio,即总市值和每日链上交易量的比率。

[2] 市盈率 (PE) 是常用来评估股价水平是否合理的指标之一,由股价除以年度每股盈余(EPS)得出。

内容以及数据来源: 

https://messari.substack.com/p/sell-the-newmainnet-unqualified-opinions


出品|币卡丘(ID:bikaqiu_official)

编译 | 潘致雄 查看全部
201905281038311.jpg

对于专业投资者或做主动管理的基金经理,他们的投资水平一般是以「超额收益率 | Alpha」(α)来衡量的,也就是指超出「基准收益 | Benchmark」的收益。各个市场的标的基准不一,美国股市会以「标普 500」作为基准,币市大多以比特币作为基准。

如果说你要超过整个市场的基准收益,一般有这么几类方法:


    1. 相比竞争对手,做更优更快的投资决策
    2. 利用信息不对称获取优势
    3. 及时调整策略,促成更好的收益



无论你使用何种类型的投资工具,产生 Alpha 的条件通常都是相同的。具体的策略可能会有这么几种:


    1. 基本面分析,评估被低估或高估的资产,然后做多或做空
    2. 量化策略,通过独有的 (而非公开的) 算法,做更快的投资决策
    3. 套利/搬砖,通过不同市场的价格流动性差异进行买卖赚差价
    4. 宏观策略,比如说通过政策,以及行业的趋势判断
    5. 以事件驱动,比如说项目上线,公司的吞并或收购等



据 Messari 了解的币市基金投资者,会更倾向于采用「宏观策略」和「事件驱动」混合的投资策略。


目前币市的基本面分析中广泛使用的指标,也就 NVT 这一个[1],类似于股市中用的 PE (市盈率) 的概念 [2]。而量化和套利需要一定的技巧,市场还不够成熟,整体交易规模也比较有限。

最近,许多投资者在探索以「事件驱动」作为正向或反向的交易信号,比如说:


- 交易所上线新币种 

- 产量 (区块奖励) 减半 

- 技术开发到某个里程碑

- 产品路线图更新 



而本文的重点则是回顾「主网/测试网上线」前后,币种的收益表现。


当产品临近正式上线,也就是代币可以有除了投机以外作用的时候(比如 ETH 可以用来执行智能合约,MKR 用来参与自治等),所产生的真正价值应该会反映在代币的价格上。

我们也好奇这是不是个可重复使用的可带来超额回报的策略。

以下的调查是基于几个比较出名的主网上线和测试网上线的项目,得出的部分结果也是有显著的统计学意义的。覆盖的币种以基础链或者协议层产品为主,还是比较有代表性的:EOS,Tron, Tezos,VeChain,Aion,Zilliqa,Ontology,Waves,Qtum,Augur,ICON,0x, NEO,BNB。

我们假设有4个场景:


    1. 在主网/产品上线前一周买入,在上线当日卖出
    2. 在主网/产品上线前一日买入,在上线当日卖出
    3. 在主网/产品上线当日买入,在上线第二天卖出
    4. 在主网/产品上线当日买入,在上线一周后卖出



参考下图,第一种场景的收益中位数为 1.9%,这在统计学可以说是无显著差异的。相比同阶段的比特币收益,则是更不显著的 0.3%。

然而对于第四种场景,就产生了很明显的差别。14 个项目中有 10 个是负收益 (以 7 天计),中位数为 -7.5%,同时如果以比特币计,跌幅中位数更是提高到了 -8.9%。

很多人会以为,主网上线意味着产品落地,可能会带动着至少一周的上涨。但实际上,大多数交易者的行为告诉我们,他们在上线时就会卖出,然后开始寻找下一个交易标的。 

201905281038322.jpg


同样的,把上述的四个条件中的主网上线改为测试网上线,也可以得到类似的结论。 第一个场景的收益中位数是 1.8%,和主网上线时的 1.9% 差不多。而场景三和四的收益是负的,差异也比较大。

201905281038323.jpg


主网上线与测试网上线的价格波动会产生差异的一个可能性是,投资者对于测试网上线这件事看法不一。有人会认为这是产品路线图中非常重要的里程碑,而有些则可能以为只是修补一些小功能,所以并未放在心上。

而另一个可能性是,在主网上线前的代币只是一个没有任何功能的、仅可用来 「投机」的代替物而已,所以波动会更大一些。 在加密资产的世界里,有太多可以赚取超额收益的办法了,但本文总结的方法却是老生常谈的,在股市中也被用烂的了:

「在谣言阶段买入,在利好公布时卖出」 

换成币市的语境,也可以调整为:

「无论在啥时候买入,至少要在上线时卖出」 


补充说明

[1] NVT 全称是 Network Value to Transactions Ratio,即总市值和每日链上交易量的比率。

[2] 市盈率 (PE) 是常用来评估股价水平是否合理的指标之一,由股价除以年度每股盈余(EPS)得出。

内容以及数据来源: 

https://messari.substack.com/p/sell-the-newmainnet-unqualified-opinions


出品|币卡丘(ID:bikaqiu_official)

编译 | 潘致雄

大户、小散通吃,黑客如何悄悄顺走你的币?

31qu 发表了文章 • 2019-05-28 12:06 • 来自相关话题

5 月 7 日,币安遭黑客攻击,7000 余枚比特币不翼而飞。

币安对外解释称,黑客是使用了网络钓鱼、病毒等攻击手段,获取了大量注册用户的 API 密钥、谷歌验证 2FA 码及其他信息,最终完成了提款操作。安全公司也分析称,此次事件很有可能因为内网遭到长期的 APT 渗透,是黑客长期谋划潜伏的结果。

5 月 26 日,易到用车发布公告称,其服务器遭到攻击,攻击者索要巨额的比特币相要挟,导致易到核心数据被加密,服务器宕机。

随着加密货币价值越来越显著,往日瞄准大户的黑客们,也开始把目光转向普通玩家,面对手法娴熟、老道的黑客,普通人毫无招架之力,只能眼睁睁地看着资产“消失”。

事实上,黑客的做法并不高明,有时仅依靠一张空白的 SIM 卡、一封危言耸听的邮件,就能轻而易举地盗走,或者骗走你“苦心积虑”存放的加密货币。

这种“强取豪夺”还有蔓延之势,近年来,此前一直对世界各大银行、加密货币交易所下手的朝鲜政府直属黑客组织——拉撒路(Lazarus Group),也开始把目标从大户转向个人,只为盗走这些人手中价格不菲的加密货币资产。

这场猫捉老鼠游戏,何时才会结束?

 
SIM 卡让窃取轻而易举
 

“他们毁掉了我的生活。”

一位来自旧金山的男子崩溃了,前一秒他刚把币打进自己的钱包,下一秒,地址里的币就瞬间归零。很快他发现了,在完全不知情的情况下,自己被带进入了一类名为“SIM Swap Scam”的骗局。

手机突然显示“没有服务”,往往预示着骗局的开启。

近日,一位化名丹尼尔的黑客,现身Trijo News,披露了自己是如何在短短 1 年内,轻松偷走价值 50 万美元加密货币的经历。“我只黑了大概 20 人,还不算特别活跃。”丹尼尔表示,他主要采用“更换 SIM 卡”的方式,最终盗走他人的加密货币。

一旦盯上某些“猎物”,他就会伪装成受害者,打电话给电信公司,告知运营商自己的手机号码出现了问题,并要求将信息转移到其控制的号码。

虽然电信公司设置了各种风控措施,但“总有各种办法可以说服运营商”,“比如,你在打电话的时候,可以假装自己在 Tele2(一家瑞典电信公司)工作,要求他们帮你转发一个号码就行。”丹尼尔表示。

实际上,丹尼尔们不是简单地截获手机号,他们的最终目标是秘钥,“很多人会把加密货币密钥保存在电子邮箱或联网的计算机上”,这种不严谨做法,给了黑客可乘之机。

一旦手机号被锁定,黑客就会去访问受害人的 Gmail 或 Outlook 帐户,输入地址并点击忘记密码,然后选择通过语音获取受害者手机号码的验证码(实际上这主要是为了帮助视障人士重置帐户密码),通过这种方式,轻松绕过了平台所谓的双因素身份验证(Two-factor authentication,简称 2FA)。





资深码农 Sean Coonce 被黑客采取类似方式盗走价值超 10 万美元的加密货币


他表示,“很多人没有对此给予足够的重视,这对我们来说是难得的机会。”而不算活跃的丹尼尔,凭借这种方式,一年就盗走了他人 50 万美元的加密货币。

事实上,利用 SIM 卡盗走他人的加密货币案例并不少见。





Robert Ross 搭建的名为“停止SIM卡犯罪”的网站


去年,一个 21 岁的年轻男子尼古拉斯·特鲁利亚(Nicholas Truglia)带领团队用类似的方式攻击了 40 余人,盗走了价值数千万美元的加密货币。

值得庆幸的是,该团队成员最终被抓获,受害者迈克尔·特尔平(Michael Terpin)通过向法院提起民事诉讼,还获得了巨额赔偿;另一位受害者罗伯特·罗斯(Robert Ross),则搭建了一个名为“停止SIM卡犯罪”的网站,以披露此类犯罪。

类似的事件并没有消停,就连资深码农也没有逃过一劫。

5 月 20 日,加密货币托管公司 BitGo 工程师主管 Sean Coonce 也被黑客用类似的方式,从自己的 Coinbase 账户盗走了价值超过 10 万美元的比特币,对此,Coonce 称这是他人生中““最昂贵的一课”。

 
你看色情片时,黑客在盯着你
 

食色性也,这是人类与生俱来的本能,但如果被黑客利用,也有可能生出恶来。

美剧《黑镜》第三季第 3 集里,男孩肯尼因为看儿童色情图片被黑客盯上,为不让这样的“丑事”被公诸于世,肯尼只能受其威胁,相继完成了送货、抢劫,甚至杀人的黑客指令。





“被威胁”抢劫银行的肯尼


剧中与肯尼一样遭遇的,还有拥有光鲜身份的执行总裁、出轨的大叔等人,都因为黑客掌握了他们的“黑料”,最终与男主一样,走上了不归路。

事实上,这样的事不仅存在于影视剧,现实生活同样上演着类似的剧情,而这一切,都始于一封电子邮件。

去年 7 月,康奈尔大学教授 Emin Gün Sirer 发推文称,自己朋友收到了一封邮件,内容称其看色情片的过程已被发现,必须支付赎金,才能避免视频曝光,最后还附上了自己的比特币地址。

对此, Emin Gün Sirer 推测,这封邮件被发送给了 haveibeenpwnd 列表的每个人,他警告道,“小心了,千万不要付钱,也不要妥协(Be careful out there, never pay, never negotiate.)。”






黑客在邮件里称,他们已经访问收件人的网络摄像头和敏感信息,有证据表明其在网上观看了色情内容,如果不支付赎金(为隐匿身份,通常需要支付加密货币),他们就会将信息发给收件人的亲朋好友。如果有的人和肯尼一样,屈服于黑客的威胁,很可能就把赎金打到对方留下的地址了。

事实上,这样的例子也不少见。

在教授的推文下方,有人透露自己收到了 2 封同样意思的邮件,“唯一的区别是需求金额与加密货币的地址”,第一封邮件向其索要 1200 美元,第二封邮件开价 2900 美元。





Emin Gün Sirer 推文下的黑客勒索经历


自这类称为“Sextortion”的加密骗局在 2017 年被曝光后,很快流行起来。

IBM 安全研究人员表示,仅一个月内,数百封用英语、法语、日语和阿拉伯语等语言撰写的电子邮件被发送了出去,内容均是“如果不按要求将比特币发送到指定地址,视频就会发给你的朋友和同事。”

黑客借此缘由,敲诈勒索的情况泛滥成灾。

网络安全公司 Digital Shadows 曾公布过一份数据,据不完全统计,自去年 7 月以来,sextortionists 们利用该骗局大赚了约332000美元,这些黑客将诈骗的枪口对准了近 9 万名收件人,总发布的邮件数达 792000,总计超过 3100 个地址的比特币被存入了黑客的 92 个比特币钱包。


朝鲜黑客也在悄悄转向
 

朝鲜黑客一直是个隐秘的存在。

曾有调查表明,早年被朝鲜黑客“照顾”的对象,包括孟加拉央行、韩国电视台、索尼影业等金融机构/公司,他们有高超的技术、有组织的行动,曾让数十个国家的 ATM 机发生吐钱故障,获取了大量“不义之财”。

随着比特币的崛起,加密货币本身的匿名性开始得到朝鲜黑客“青睐”。根据俄罗斯网络安全公司 Group-IB 公布的数据,从2016 年至今,朝鲜国家黑客组织已经攻破了 5 家加密货币交易所,并盗取了 5.8 亿美元的加密货币,占加密货币被盗总数的 64.7%。

金融机构与加密货币交易平台的防范不断加强,朝鲜黑客们又开始把目光,悄悄转向了安全意识薄弱的普通人。

“以前,黑客都是直接攻击交易所,”网络战研究组织 IssueMakersLab 的创始人 Simon Choi 表示,“但现在,他们开始直接攻击加密货币用户了。”

韩国网络安全公司 Cuvepia 的CEO Kwon Seok-chul 也公开披露,自去年 4 月份以来,他们发现了超 30 起盗窃案件出现了朝鲜黑客的踪迹,“当加密货币被黑客盗取后,受害人往往投诉无门,只能作罢。”他补充说,没有被发现的案例,数量可能超过 100。

据了解,朝鲜黑客通常会向受害者发送带有文本文件的电子邮件,一旦收件人打开文件,里面的恶意代码就会感染计算机,进而轻松控制了计算机。

“最近大部分受害者,都是相对富裕的韩国人,比如公司 CEO。”他透露说,原因在于这部分人群的身价更高,“本身就可以调动数十亿的加密货币。”


结语
 

阳光底下无新事,在不为人知的黑暗角落,利用比特币进行敲诈勒索的黑客仍然存在。

近日,CipherTrace 在发布的《2019年第一季加密货币反洗钱报告》中表示,今年第 1 季度因为黑客和欺诈,引起的加密货币损失高达 12 亿美元,几乎是去年全年损失 17 亿美元的 71%。

对普通人来说,只有加强自我安全意识,避免加密货币私钥等敏感信息公开化,才能更好地让自己免受黑客的“照顾”。


文 /31QU 林君

参考文章:

1、加密黑客一年盗取 50 万美元https://news.trijo.co/news/crypto-hacker-daniel-has-stolen-500000-in-a-year-this-is-how-he-takes-your-bitcoin/?lang=en

2、康奈尔大学教授揭露“Sextortion”https://www.cryptoglobe.com/latest/2018/07/blackmailing-bitcoin-scam-targets-porn-viewers-cornell-professor-suggests-its-bluff/

3、小心,朝鲜黑客盯上了你的比特币https://www.scmp.com/week-asia/geopolitics/article/2175525/watch-out-north-korean-hackers-are-coming-your-bitcoin

4、自身码农也中枪https://www.ccn.com/100000-bitcoin-loss-bitgo-engineer-sim-hijacked 查看全部

crypto-hack-1024x683.jpg

5 月 7 日,币安遭黑客攻击,7000 余枚比特币不翼而飞。

币安对外解释称,黑客是使用了网络钓鱼、病毒等攻击手段,获取了大量注册用户的 API 密钥、谷歌验证 2FA 码及其他信息,最终完成了提款操作。安全公司也分析称,此次事件很有可能因为内网遭到长期的 APT 渗透,是黑客长期谋划潜伏的结果。

5 月 26 日,易到用车发布公告称,其服务器遭到攻击,攻击者索要巨额的比特币相要挟,导致易到核心数据被加密,服务器宕机。

随着加密货币价值越来越显著,往日瞄准大户的黑客们,也开始把目光转向普通玩家,面对手法娴熟、老道的黑客,普通人毫无招架之力,只能眼睁睁地看着资产“消失”。

事实上,黑客的做法并不高明,有时仅依靠一张空白的 SIM 卡、一封危言耸听的邮件,就能轻而易举地盗走,或者骗走你“苦心积虑”存放的加密货币。

这种“强取豪夺”还有蔓延之势,近年来,此前一直对世界各大银行、加密货币交易所下手的朝鲜政府直属黑客组织——拉撒路(Lazarus Group),也开始把目标从大户转向个人,只为盗走这些人手中价格不菲的加密货币资产。

这场猫捉老鼠游戏,何时才会结束?

 
SIM 卡让窃取轻而易举
 

“他们毁掉了我的生活。”

一位来自旧金山的男子崩溃了,前一秒他刚把币打进自己的钱包,下一秒,地址里的币就瞬间归零。很快他发现了,在完全不知情的情况下,自己被带进入了一类名为“SIM Swap Scam”的骗局。

手机突然显示“没有服务”,往往预示着骗局的开启。

近日,一位化名丹尼尔的黑客,现身Trijo News,披露了自己是如何在短短 1 年内,轻松偷走价值 50 万美元加密货币的经历。“我只黑了大概 20 人,还不算特别活跃。”丹尼尔表示,他主要采用“更换 SIM 卡”的方式,最终盗走他人的加密货币。

一旦盯上某些“猎物”,他就会伪装成受害者,打电话给电信公司,告知运营商自己的手机号码出现了问题,并要求将信息转移到其控制的号码。

虽然电信公司设置了各种风控措施,但“总有各种办法可以说服运营商”,“比如,你在打电话的时候,可以假装自己在 Tele2(一家瑞典电信公司)工作,要求他们帮你转发一个号码就行。”丹尼尔表示。

实际上,丹尼尔们不是简单地截获手机号,他们的最终目标是秘钥,“很多人会把加密货币密钥保存在电子邮箱或联网的计算机上”,这种不严谨做法,给了黑客可乘之机。

一旦手机号被锁定,黑客就会去访问受害人的 Gmail 或 Outlook 帐户,输入地址并点击忘记密码,然后选择通过语音获取受害者手机号码的验证码(实际上这主要是为了帮助视障人士重置帐户密码),通过这种方式,轻松绕过了平台所谓的双因素身份验证(Two-factor authentication,简称 2FA)。

201905272115321.jpg

资深码农 Sean Coonce 被黑客采取类似方式盗走价值超 10 万美元的加密货币


他表示,“很多人没有对此给予足够的重视,这对我们来说是难得的机会。”而不算活跃的丹尼尔,凭借这种方式,一年就盗走了他人 50 万美元的加密货币。

事实上,利用 SIM 卡盗走他人的加密货币案例并不少见。

201905272115322.jpg

Robert Ross 搭建的名为“停止SIM卡犯罪”的网站


去年,一个 21 岁的年轻男子尼古拉斯·特鲁利亚(Nicholas Truglia)带领团队用类似的方式攻击了 40 余人,盗走了价值数千万美元的加密货币。

值得庆幸的是,该团队成员最终被抓获,受害者迈克尔·特尔平(Michael Terpin)通过向法院提起民事诉讼,还获得了巨额赔偿;另一位受害者罗伯特·罗斯(Robert Ross),则搭建了一个名为“停止SIM卡犯罪”的网站,以披露此类犯罪。

类似的事件并没有消停,就连资深码农也没有逃过一劫。

5 月 20 日,加密货币托管公司 BitGo 工程师主管 Sean Coonce 也被黑客用类似的方式,从自己的 Coinbase 账户盗走了价值超过 10 万美元的比特币,对此,Coonce 称这是他人生中““最昂贵的一课”。

 
你看色情片时,黑客在盯着你
 

食色性也,这是人类与生俱来的本能,但如果被黑客利用,也有可能生出恶来。

美剧《黑镜》第三季第 3 集里,男孩肯尼因为看儿童色情图片被黑客盯上,为不让这样的“丑事”被公诸于世,肯尼只能受其威胁,相继完成了送货、抢劫,甚至杀人的黑客指令。

201905272115363.jpg

“被威胁”抢劫银行的肯尼


剧中与肯尼一样遭遇的,还有拥有光鲜身份的执行总裁、出轨的大叔等人,都因为黑客掌握了他们的“黑料”,最终与男主一样,走上了不归路。

事实上,这样的事不仅存在于影视剧,现实生活同样上演着类似的剧情,而这一切,都始于一封电子邮件。

去年 7 月,康奈尔大学教授 Emin Gün Sirer 发推文称,自己朋友收到了一封邮件,内容称其看色情片的过程已被发现,必须支付赎金,才能避免视频曝光,最后还附上了自己的比特币地址。

对此, Emin Gün Sirer 推测,这封邮件被发送给了 haveibeenpwnd 列表的每个人,他警告道,“小心了,千万不要付钱,也不要妥协(Be careful out there, never pay, never negotiate.)。”

201905272115374.jpg


黑客在邮件里称,他们已经访问收件人的网络摄像头和敏感信息,有证据表明其在网上观看了色情内容,如果不支付赎金(为隐匿身份,通常需要支付加密货币),他们就会将信息发给收件人的亲朋好友。如果有的人和肯尼一样,屈服于黑客的威胁,很可能就把赎金打到对方留下的地址了。

事实上,这样的例子也不少见。

在教授的推文下方,有人透露自己收到了 2 封同样意思的邮件,“唯一的区别是需求金额与加密货币的地址”,第一封邮件向其索要 1200 美元,第二封邮件开价 2900 美元。

201905272115375.jpg

Emin Gün Sirer 推文下的黑客勒索经历


自这类称为“Sextortion”的加密骗局在 2017 年被曝光后,很快流行起来。

IBM 安全研究人员表示,仅一个月内,数百封用英语、法语、日语和阿拉伯语等语言撰写的电子邮件被发送了出去,内容均是“如果不按要求将比特币发送到指定地址,视频就会发给你的朋友和同事。”

黑客借此缘由,敲诈勒索的情况泛滥成灾。

网络安全公司 Digital Shadows 曾公布过一份数据,据不完全统计,自去年 7 月以来,sextortionists 们利用该骗局大赚了约332000美元,这些黑客将诈骗的枪口对准了近 9 万名收件人,总发布的邮件数达 792000,总计超过 3100 个地址的比特币被存入了黑客的 92 个比特币钱包。


朝鲜黑客也在悄悄转向
 

朝鲜黑客一直是个隐秘的存在。

曾有调查表明,早年被朝鲜黑客“照顾”的对象,包括孟加拉央行、韩国电视台、索尼影业等金融机构/公司,他们有高超的技术、有组织的行动,曾让数十个国家的 ATM 机发生吐钱故障,获取了大量“不义之财”。

随着比特币的崛起,加密货币本身的匿名性开始得到朝鲜黑客“青睐”。根据俄罗斯网络安全公司 Group-IB 公布的数据,从2016 年至今,朝鲜国家黑客组织已经攻破了 5 家加密货币交易所,并盗取了 5.8 亿美元的加密货币,占加密货币被盗总数的 64.7%。

金融机构与加密货币交易平台的防范不断加强,朝鲜黑客们又开始把目光,悄悄转向了安全意识薄弱的普通人。

“以前,黑客都是直接攻击交易所,”网络战研究组织 IssueMakersLab 的创始人 Simon Choi 表示,“但现在,他们开始直接攻击加密货币用户了。”

韩国网络安全公司 Cuvepia 的CEO Kwon Seok-chul 也公开披露,自去年 4 月份以来,他们发现了超 30 起盗窃案件出现了朝鲜黑客的踪迹,“当加密货币被黑客盗取后,受害人往往投诉无门,只能作罢。”他补充说,没有被发现的案例,数量可能超过 100。

据了解,朝鲜黑客通常会向受害者发送带有文本文件的电子邮件,一旦收件人打开文件,里面的恶意代码就会感染计算机,进而轻松控制了计算机。

“最近大部分受害者,都是相对富裕的韩国人,比如公司 CEO。”他透露说,原因在于这部分人群的身价更高,“本身就可以调动数十亿的加密货币。”


结语
 

阳光底下无新事,在不为人知的黑暗角落,利用比特币进行敲诈勒索的黑客仍然存在。

近日,CipherTrace 在发布的《2019年第一季加密货币反洗钱报告》中表示,今年第 1 季度因为黑客和欺诈,引起的加密货币损失高达 12 亿美元,几乎是去年全年损失 17 亿美元的 71%。

对普通人来说,只有加强自我安全意识,避免加密货币私钥等敏感信息公开化,才能更好地让自己免受黑客的“照顾”。


文 /31QU 林君

参考文章:

1、加密黑客一年盗取 50 万美元https://news.trijo.co/news/crypto-hacker-daniel-has-stolen-500000-in-a-year-this-is-how-he-takes-your-bitcoin/?lang=en

2、康奈尔大学教授揭露“Sextortion”https://www.cryptoglobe.com/latest/2018/07/blackmailing-bitcoin-scam-targets-porn-viewers-cornell-professor-suggests-its-bluff/

3、小心,朝鲜黑客盯上了你的比特币https://www.scmp.com/week-asia/geopolitics/article/2175525/watch-out-north-korean-hackers-are-coming-your-bitcoin

4、自身码农也中枪https://www.ccn.com/100000-bitcoin-loss-bitgo-engineer-sim-hijacked

加密货币对网站流量变现的启示:浏览器挖矿模式

lanhubiji 发表了文章 • 2019-05-24 10:41 • 来自相关话题

区块链技术给广告行业带来了新启示。它提供了一种新的商业化模式:浏览器挖矿。

 

互联网行业在二十多年的发展历程中,有几个关键的节点,其中一个就是找到了广告的收入模式。这也是互联网能够发展到今天的支柱之一。目前的科技巨头,如谷歌、Facebook等,其商业化模式都是互联网广告。

但互联网广告的商业化模式也带来用户体验的问题。互联网广告的侵入性很大,有过横幅、弹窗等多种形式,用户体验很糟糕,也会造成更高的跳出率,以及长期的用户流失。虽然有些大公司的广告开始逐渐变软,变得更自然,让用户感受更好,但依然还有不少广告给用户造成很大困扰。随之带来通过广告模式变现的下降,而其他的模式,例如推荐商品的佣金等不一定有足够高的转化率。

区块链技术给广告行业带来了新启示。它提供了一种新的商业化模式:浏览器挖矿。


什么是浏览器挖矿模式?


简单来说,浏览器挖矿模式,从用户的角度,用户在浏览网站或APP时,如果愿意贡献自己的一小部分CPU或GPU算力,那么用户可以不用看到任何广告,只有自己关心的内容。从网站运营者的角度,就是把所有浏览用户的算力贡献进行挖矿,挖矿能够得到加密货币,从而获得收益。

这个概念对于访客和网站运营者来说,都有一定的吸引力,当然它也处于早期,让人们意识到它的好处需要时间,只有达成足够的规模,才能让这个模式成熟。

当前浏览器挖矿模式的项目有CoinHive和JSE Coin等。不过当前的一些浏览器挖矿模式也遇到了一些问题。比如有的浏览器挖矿项目,不经过用户的同意直接利用用户的算力进行浏览器挖矿,甚至导致系统变慢,这些浏览器挖矿项目也因此被反恶意软件程序列入恶意软件类别。这些安全软件会通过扫描程序,检测并阻止这些未经用户授权的加密货币挖矿脚本程序。谷歌甚至还考虑过增加chrome插件,用来阻止加密货币的浏览器挖矿网站。

这说明了浏览器挖矿模式需要改进,否则会被市场抛弃。


Gath3r的浏览器挖矿模式:它有什么不同?


Gath3r也推出了浏览器挖矿模式,那么,具体来说,Gath3r的浏览器挖矿模式有什么不同?


1.Gath3r的浏览器挖矿模式目标是主流人群的采用

要实现主流人群的采用,必须考虑用户和网站运营者的切身利益。首先,从用户的角度,Gath3r的浏览器挖矿模式并非强制实施,而是需要征得用户的同意才行。

其次,要对用户有足够的吸引力。举个例子,如果你喜欢看电影,可能需要给视频网站支付包月服务费,比如目前一些视频网站的服务费为19元/月。如果这个时候,视频网站和手机APP弹出提示告知你:只要你在观看电影时,视频网站可以在一定程度内(不影响观影体验)使用你的CPU进行挖矿,如果你同意,就可以不用每个月再交19元的费用,作为用户你会接受吗?或者你是视频网站的免费用户,每次打开视频,得先浏览完几十秒的广告才能进入你想看的内容。如果视频网站告诉你,如果你在浏览视频时,只要同意贡献一小部分算力,即可免去看视频广告的等待时间,你是否愿意?

可能不同的用户答案不同,但对于很多用户来说,这是一个选择,以后可以不用看广告,体验更流畅。

除了可免去广告的烦扰,Gath3r还推出帮助网站运营者获取用户忠诚度的计划,让网站用户有机会获得加密货币收益。这也是一个吸引力。

当然,这里用户也会有两个担心。如果同意网站使用用户的算力,它到底会如何使用?会不会存在安全问题?过度使用会影响自己浏览体验?

那么,还需要解决第三个问题,就是如何定义CPU的使用程度,这就涉及到使用程度的可定义,如何设置合理的水平范围。这需要利用区块链构建足够的透明度,让挖矿本身是透明公开的,只有这样才能打消用户的疑虑,取得用户信任。

Gath3r从用户的角度,首先确定,浏览器挖矿对访客来说,必须首先征求访客的同意才能进行,其次,要给予用户更好的体验,包括免去广告烦扰和可能的代币收益。最后就是要实现透明,取得用户的信任。


2.Gath3r为网站运营者提供了新收入模式

当前的广告模式面临很大问题,其中最重要的问题就是用户体验。谁也不愿意在看视频时,必须浏览几十秒的广告,谁也不愿意在访问网站时,到处横幅或弹窗广告。但对于网站运营者来说,这又是没有办法的事情,因为内容是免费的,它需要通过广告的模式来实现流量的变现。

不仅如此,由于用户体验的下降,很多用户开始使用广告拦截器,这对于把网络流量视为生命网站运营者来说,这是极大的打击。有个PageFair的数据统计,仅仅在2016年,使用广告拦截器的设备高达6.15亿台,按当时互联网总用户34亿左右来计算,那么,使用广告拦截器的用户规模大概20%左右,这个规模已经很大,且还在不断增长。

安装广告拦截器门槛很低,免费且安装容易,对用户来说,有很大的动机来安装,使用它可以减少很多烦扰。这些对于以广告为主要收入模式的网站运营者来说都不是好消息。

那么,除了广告、电商和游戏增值服务之外,还有没有其他的收入模式来扭转这种态势?

加密货币和区块链的诞生,给予网络广告行业新的启示:浏览器挖矿。如果访客愿意提供算力来取代广告,如果网站运营者能够得到访客对自己算力有节制地被使用的信任,那么,基于浏览器的加密货币挖矿有可能成为网站运营者的重要收入模式。

这里也提出了另外一个值得思考的问题:既然加密货币是互联网的原生货币。它在互联网的商业化模式进程中会起到什么样的作用?它是否会对原来的营收模式产生深刻冲击?它会如何重塑并改造目前的网络商业模式?这个需要更多的篇幅来深入探索。本文先从加密货币和区块链对网络流量变现的角度进行探讨。

如果从长远用户体验的角度,浏览器挖矿确实提供了一种更直接的商业化模式:通过代币来实现流量的变现。同时,它还可以通过给用户代币激励,实现更长的用户留存时间,从而实现更大的收益。

网站运营者从运营成本的角度,也比广告行业的运作要简单。网站主只需把脚本集成到网站中,即可实现利用愿意参与挖矿的访问用户的算力进行浏览器挖矿。如果网站的访客数量和留存时间达到一定的规模,根据挖矿所得代币的收益,也许有机会超过广告模式、订阅模式、捐赠模式或者是付费墙的模式。

当然,目前还在早期阶段,这样的实践迄今为止还没有大规模实现,但它可以作为一种探索的方式,一旦达到足够的盈利规模,那么,它就有机会成为网站营收的新模式。


3.Gath3r引入浏览器挖矿新模式:合并挖矿

这是Gath3r跟其他浏览器挖矿模式有明显不同的一点。什么是合并挖矿?它的意思说,当利用网站访客的算力进行加密货币挖矿时,可以用类似的算法挖两种代币,矿工会有额外的收入。这样的机制设计可以提高网站运营者的积极性。

合并挖矿是个多赢的事情。不仅对矿工有吸引力,对于整个生态构建也有激励作用。尤其是一些新代币项目的发行,在早期启动时,没有矿工支持或者只有低哈希率的支持,这会让新代币遇到安全的问题,比如遭受51%攻击等。

如果这些新代币项目跟Gath3r区块链进行合并挖矿,那么他们可以利用Gath3r的哈希率为自己服务,利用Gath3r的哈希率,保证链的安全,尤其是早期启动时的安全。当然,这对于矿工来说,也是好事,同样的算力成本,可以挖出更多的代币,有更高的收益。

为了方便其他的代币项目能够更好利用Gath3r进行合并挖矿,一是这些辅助链通过跟主链绑定,辅助链也获得额外的算力,获得免遭51%攻击能力。二是Gath3r内置的智能合约允许跟其他代币互动,不会给主链增加任何工作。在相同的算力和电力消费情况下同时进行两个代币的挖矿,可以节省资源,可以同时给两个网络提供算力资源。

三是Gath3r会作为“交钥匙解决方案”,它允许开发者分叉或复制一条现有区块链,开发和部署自己的代币。Gath3r的智能合约允许通过Gath3r和私有主节点进行区块链的统一。智能合约可直接从GUI上部署并引发基于预定义条件的跨网络交易和任务。

此外,为了支持更多项目加入Gath3r合并挖矿生态,Gath3r设立了Gath3r基金会,其目的之一就是支持基于Gath3r的区块链项目发展。


4.Gath3r模式融合了加密货币挖矿、区块链以及数字广告的特点

首先,Gath3r要解决传统广告用户体验下降导致的收入下降的问题,它要解决用户免遭广告侵袭的烦扰,由此,它提出一个基于加密货币的收益模式,而用户要想摆脱广告的烦扰,只需同意贡献合理范围的算力即可。

为了提高挖矿的收益,Gath3r还提出了合并挖矿的机制,这样在同样算力和电力的情况下,可以获得额外的代币收益。从其他加密货币项目来说,他们也可以通过Gath3r父链的哈希率来实现安全。

不仅如此,Gath3r还为网站运营者推出忠诚度计划解决方案。网站访客可以通过权益质押Gath3r的代币GTH来赚取额外的利息收益。同时,网站运营者通过挖矿所产生的代币收益,也可以按照一定的比例奖励给贡献算力的访客,由此激励更多用户来访问网站,并且停留更长时间。

为了实现忠诚度计划,Gath3r推出基于网页和手机的staking钱包,网站和手机的用户所赚取的任何代币都会自动发到该staking钱包,如果用户的GTH不取走,作为质押代币存放在钱包,用户还可以赚取利息。此外,对于矿工来说,质押的加密代币越多,验证交易的机会就越大,收益也越高。

Gath3r区块链会采用网络轻节点,它并不保存完整的区块链数据,完整的区块链数据存放在主节点上。它的目的是为了降低进入门槛,以促进大规模采用。在Gath3r区块链中,会通过辅助链合并挖矿。父链不需要额外工作参与合并挖矿,唯一附加到其区块链的是添加到其交易树中的辅助链哈希值。

Gath3r还有智能合约功能,通过Gath3r和私有主节点网络实现区块链的统一。所有分叉或复制Gath3r的辅助链会继承Gath3r内置的智能合约功能。Gath3r会整合一站式的服务,可以满足其他项目代币发行的需求。他们可以进行区块链的发布、开发、挖矿,它们的代币也可以跟GTH合并挖矿。


Gath3r的启动


Gath3r为网站运营者提供商业化的解决方案。它的整个生态系统是建立在为网站和APP运营者服务的基础之上。这也是它生态启动的切入点。为了构建生态,Gath3r跟Aion旗下的Metalyfe合作。Metalyfe是去中心化的浏览器,专注于安全、隐私和数据所有权。

由于人们一天中有很大部分的时间都是在网络上度过,在电脑和手机前花费了大量时间。这个时间也是可以有收益的。Gath3r和Metalyfe浏览器合作,只要是Metalyfe的浏览器用户,如果用户同意,在浏览时只要提供一小部分算力参与挖矿,他们就可以获得额外的收益。

除了浏览器这样的工具或网站合作之外,Gath3r还跟Luxcore合作进行合并挖矿。Luxcore是专注于设计和构建企业级安全和隐私产品的区块链解决方案提供商。通过合并挖矿,给矿工带来更多代币收益,给合并挖矿者带来更多安全。
 
这样Metalyfe的用户和Luxcore也成为了Gath3r生态的重要部分。Gath3r生态启动很重要的部分是,随着合作伙伴越来越多,从合作伙伴那里带来的用户越来越多,其算力就会越来越大,其算力越来越大,其网络就会更安全,同时对于其他项目进行合并挖矿的吸引力也更大。

当然,这一切都需要达到一定的临界点。这是Gath3r下一步需要开拓更多合作伙伴的原因。


结语


Gath3r本质上是网络流量变现的新模式,当前的网络流量的变现一般是通过广告、电商、游戏为主,而Gath3r提出取代广告的模式,通过浏览访客贡献算力实现挖矿变现。它把区块链融合到传统互联网商业化变现流程中,这是一个很有意思的结合,也再次证明了激励的伟大,人们为了获得更多的收益,在创造力和想法上是无穷的。

Gath3r同时也是试图通过一些机制,实现对原有的浏览器挖矿模式的升级,以求实现突破。其中比较突出的是,需要得到用户同意并把挖矿透明化的机制、合并挖矿的机制、忠诚度计划等。

目前这个模式才刚刚开始,它是否能在给用户提供更好体验的情况下取代广告收益模式,给网站运营者带来新收入模式?这一探索正在路上,期待Gath3r的落地和前进! 查看全部
20190524081410572.jpg


区块链技术给广告行业带来了新启示。它提供了一种新的商业化模式:浏览器挖矿。


 

互联网行业在二十多年的发展历程中,有几个关键的节点,其中一个就是找到了广告的收入模式。这也是互联网能够发展到今天的支柱之一。目前的科技巨头,如谷歌、Facebook等,其商业化模式都是互联网广告。

但互联网广告的商业化模式也带来用户体验的问题。互联网广告的侵入性很大,有过横幅、弹窗等多种形式,用户体验很糟糕,也会造成更高的跳出率,以及长期的用户流失。虽然有些大公司的广告开始逐渐变软,变得更自然,让用户感受更好,但依然还有不少广告给用户造成很大困扰。随之带来通过广告模式变现的下降,而其他的模式,例如推荐商品的佣金等不一定有足够高的转化率。

区块链技术给广告行业带来了新启示。它提供了一种新的商业化模式:浏览器挖矿。


什么是浏览器挖矿模式?


简单来说,浏览器挖矿模式,从用户的角度,用户在浏览网站或APP时,如果愿意贡献自己的一小部分CPU或GPU算力,那么用户可以不用看到任何广告,只有自己关心的内容。从网站运营者的角度,就是把所有浏览用户的算力贡献进行挖矿,挖矿能够得到加密货币,从而获得收益。

这个概念对于访客和网站运营者来说,都有一定的吸引力,当然它也处于早期,让人们意识到它的好处需要时间,只有达成足够的规模,才能让这个模式成熟。

当前浏览器挖矿模式的项目有CoinHive和JSE Coin等。不过当前的一些浏览器挖矿模式也遇到了一些问题。比如有的浏览器挖矿项目,不经过用户的同意直接利用用户的算力进行浏览器挖矿,甚至导致系统变慢,这些浏览器挖矿项目也因此被反恶意软件程序列入恶意软件类别。这些安全软件会通过扫描程序,检测并阻止这些未经用户授权的加密货币挖矿脚本程序。谷歌甚至还考虑过增加chrome插件,用来阻止加密货币的浏览器挖矿网站。

这说明了浏览器挖矿模式需要改进,否则会被市场抛弃。


Gath3r的浏览器挖矿模式:它有什么不同?


Gath3r也推出了浏览器挖矿模式,那么,具体来说,Gath3r的浏览器挖矿模式有什么不同?


1.Gath3r的浏览器挖矿模式目标是主流人群的采用

要实现主流人群的采用,必须考虑用户和网站运营者的切身利益。首先,从用户的角度,Gath3r的浏览器挖矿模式并非强制实施,而是需要征得用户的同意才行。

其次,要对用户有足够的吸引力。举个例子,如果你喜欢看电影,可能需要给视频网站支付包月服务费,比如目前一些视频网站的服务费为19元/月。如果这个时候,视频网站和手机APP弹出提示告知你:只要你在观看电影时,视频网站可以在一定程度内(不影响观影体验)使用你的CPU进行挖矿,如果你同意,就可以不用每个月再交19元的费用,作为用户你会接受吗?或者你是视频网站的免费用户,每次打开视频,得先浏览完几十秒的广告才能进入你想看的内容。如果视频网站告诉你,如果你在浏览视频时,只要同意贡献一小部分算力,即可免去看视频广告的等待时间,你是否愿意?

可能不同的用户答案不同,但对于很多用户来说,这是一个选择,以后可以不用看广告,体验更流畅。

除了可免去广告的烦扰,Gath3r还推出帮助网站运营者获取用户忠诚度的计划,让网站用户有机会获得加密货币收益。这也是一个吸引力。

当然,这里用户也会有两个担心。如果同意网站使用用户的算力,它到底会如何使用?会不会存在安全问题?过度使用会影响自己浏览体验?

那么,还需要解决第三个问题,就是如何定义CPU的使用程度,这就涉及到使用程度的可定义,如何设置合理的水平范围。这需要利用区块链构建足够的透明度,让挖矿本身是透明公开的,只有这样才能打消用户的疑虑,取得用户信任。

Gath3r从用户的角度,首先确定,浏览器挖矿对访客来说,必须首先征求访客的同意才能进行,其次,要给予用户更好的体验,包括免去广告烦扰和可能的代币收益。最后就是要实现透明,取得用户的信任。


2.Gath3r为网站运营者提供了新收入模式

当前的广告模式面临很大问题,其中最重要的问题就是用户体验。谁也不愿意在看视频时,必须浏览几十秒的广告,谁也不愿意在访问网站时,到处横幅或弹窗广告。但对于网站运营者来说,这又是没有办法的事情,因为内容是免费的,它需要通过广告的模式来实现流量的变现。

不仅如此,由于用户体验的下降,很多用户开始使用广告拦截器,这对于把网络流量视为生命网站运营者来说,这是极大的打击。有个PageFair的数据统计,仅仅在2016年,使用广告拦截器的设备高达6.15亿台,按当时互联网总用户34亿左右来计算,那么,使用广告拦截器的用户规模大概20%左右,这个规模已经很大,且还在不断增长。

安装广告拦截器门槛很低,免费且安装容易,对用户来说,有很大的动机来安装,使用它可以减少很多烦扰。这些对于以广告为主要收入模式的网站运营者来说都不是好消息。

那么,除了广告、电商和游戏增值服务之外,还有没有其他的收入模式来扭转这种态势?

加密货币和区块链的诞生,给予网络广告行业新的启示:浏览器挖矿。如果访客愿意提供算力来取代广告,如果网站运营者能够得到访客对自己算力有节制地被使用的信任,那么,基于浏览器的加密货币挖矿有可能成为网站运营者的重要收入模式。

这里也提出了另外一个值得思考的问题:既然加密货币是互联网的原生货币。它在互联网的商业化模式进程中会起到什么样的作用?它是否会对原来的营收模式产生深刻冲击?它会如何重塑并改造目前的网络商业模式?这个需要更多的篇幅来深入探索。本文先从加密货币和区块链对网络流量变现的角度进行探讨。

如果从长远用户体验的角度,浏览器挖矿确实提供了一种更直接的商业化模式:通过代币来实现流量的变现。同时,它还可以通过给用户代币激励,实现更长的用户留存时间,从而实现更大的收益。

网站运营者从运营成本的角度,也比广告行业的运作要简单。网站主只需把脚本集成到网站中,即可实现利用愿意参与挖矿的访问用户的算力进行浏览器挖矿。如果网站的访客数量和留存时间达到一定的规模,根据挖矿所得代币的收益,也许有机会超过广告模式、订阅模式、捐赠模式或者是付费墙的模式。

当然,目前还在早期阶段,这样的实践迄今为止还没有大规模实现,但它可以作为一种探索的方式,一旦达到足够的盈利规模,那么,它就有机会成为网站营收的新模式。


3.Gath3r引入浏览器挖矿新模式:合并挖矿

这是Gath3r跟其他浏览器挖矿模式有明显不同的一点。什么是合并挖矿?它的意思说,当利用网站访客的算力进行加密货币挖矿时,可以用类似的算法挖两种代币,矿工会有额外的收入。这样的机制设计可以提高网站运营者的积极性。

合并挖矿是个多赢的事情。不仅对矿工有吸引力,对于整个生态构建也有激励作用。尤其是一些新代币项目的发行,在早期启动时,没有矿工支持或者只有低哈希率的支持,这会让新代币遇到安全的问题,比如遭受51%攻击等。

如果这些新代币项目跟Gath3r区块链进行合并挖矿,那么他们可以利用Gath3r的哈希率为自己服务,利用Gath3r的哈希率,保证链的安全,尤其是早期启动时的安全。当然,这对于矿工来说,也是好事,同样的算力成本,可以挖出更多的代币,有更高的收益。

为了方便其他的代币项目能够更好利用Gath3r进行合并挖矿,一是这些辅助链通过跟主链绑定,辅助链也获得额外的算力,获得免遭51%攻击能力。二是Gath3r内置的智能合约允许跟其他代币互动,不会给主链增加任何工作。在相同的算力和电力消费情况下同时进行两个代币的挖矿,可以节省资源,可以同时给两个网络提供算力资源。

三是Gath3r会作为“交钥匙解决方案”,它允许开发者分叉或复制一条现有区块链,开发和部署自己的代币。Gath3r的智能合约允许通过Gath3r和私有主节点进行区块链的统一。智能合约可直接从GUI上部署并引发基于预定义条件的跨网络交易和任务。

此外,为了支持更多项目加入Gath3r合并挖矿生态,Gath3r设立了Gath3r基金会,其目的之一就是支持基于Gath3r的区块链项目发展。


4.Gath3r模式融合了加密货币挖矿、区块链以及数字广告的特点

首先,Gath3r要解决传统广告用户体验下降导致的收入下降的问题,它要解决用户免遭广告侵袭的烦扰,由此,它提出一个基于加密货币的收益模式,而用户要想摆脱广告的烦扰,只需同意贡献合理范围的算力即可。

为了提高挖矿的收益,Gath3r还提出了合并挖矿的机制,这样在同样算力和电力的情况下,可以获得额外的代币收益。从其他加密货币项目来说,他们也可以通过Gath3r父链的哈希率来实现安全。

不仅如此,Gath3r还为网站运营者推出忠诚度计划解决方案。网站访客可以通过权益质押Gath3r的代币GTH来赚取额外的利息收益。同时,网站运营者通过挖矿所产生的代币收益,也可以按照一定的比例奖励给贡献算力的访客,由此激励更多用户来访问网站,并且停留更长时间。

为了实现忠诚度计划,Gath3r推出基于网页和手机的staking钱包,网站和手机的用户所赚取的任何代币都会自动发到该staking钱包,如果用户的GTH不取走,作为质押代币存放在钱包,用户还可以赚取利息。此外,对于矿工来说,质押的加密代币越多,验证交易的机会就越大,收益也越高。

Gath3r区块链会采用网络轻节点,它并不保存完整的区块链数据,完整的区块链数据存放在主节点上。它的目的是为了降低进入门槛,以促进大规模采用。在Gath3r区块链中,会通过辅助链合并挖矿。父链不需要额外工作参与合并挖矿,唯一附加到其区块链的是添加到其交易树中的辅助链哈希值。

Gath3r还有智能合约功能,通过Gath3r和私有主节点网络实现区块链的统一。所有分叉或复制Gath3r的辅助链会继承Gath3r内置的智能合约功能。Gath3r会整合一站式的服务,可以满足其他项目代币发行的需求。他们可以进行区块链的发布、开发、挖矿,它们的代币也可以跟GTH合并挖矿。


Gath3r的启动


Gath3r为网站运营者提供商业化的解决方案。它的整个生态系统是建立在为网站和APP运营者服务的基础之上。这也是它生态启动的切入点。为了构建生态,Gath3r跟Aion旗下的Metalyfe合作。Metalyfe是去中心化的浏览器,专注于安全、隐私和数据所有权。

由于人们一天中有很大部分的时间都是在网络上度过,在电脑和手机前花费了大量时间。这个时间也是可以有收益的。Gath3r和Metalyfe浏览器合作,只要是Metalyfe的浏览器用户,如果用户同意,在浏览时只要提供一小部分算力参与挖矿,他们就可以获得额外的收益。

除了浏览器这样的工具或网站合作之外,Gath3r还跟Luxcore合作进行合并挖矿。Luxcore是专注于设计和构建企业级安全和隐私产品的区块链解决方案提供商。通过合并挖矿,给矿工带来更多代币收益,给合并挖矿者带来更多安全。
 
这样Metalyfe的用户和Luxcore也成为了Gath3r生态的重要部分。Gath3r生态启动很重要的部分是,随着合作伙伴越来越多,从合作伙伴那里带来的用户越来越多,其算力就会越来越大,其算力越来越大,其网络就会更安全,同时对于其他项目进行合并挖矿的吸引力也更大。

当然,这一切都需要达到一定的临界点。这是Gath3r下一步需要开拓更多合作伙伴的原因。


结语


Gath3r本质上是网络流量变现的新模式,当前的网络流量的变现一般是通过广告、电商、游戏为主,而Gath3r提出取代广告的模式,通过浏览访客贡献算力实现挖矿变现。它把区块链融合到传统互联网商业化变现流程中,这是一个很有意思的结合,也再次证明了激励的伟大,人们为了获得更多的收益,在创造力和想法上是无穷的。

Gath3r同时也是试图通过一些机制,实现对原有的浏览器挖矿模式的升级,以求实现突破。其中比较突出的是,需要得到用户同意并把挖矿透明化的机制、合并挖矿的机制、忠诚度计划等。

目前这个模式才刚刚开始,它是否能在给用户提供更好体验的情况下取代广告收益模式,给网站运营者带来新收入模式?这一探索正在路上,期待Gath3r的落地和前进!

只赚属于你的钱——虚拟货币投资的一些思考

leeks 发表了文章 • 2019-05-22 14:24 • 来自相关话题

Easter problems - 意大利插画家 Marco Melgrati 作品

引言:作为一个区块链行业的从业者而非投资人,我一向避免过多地谈论比特币价格,牛市熊市,上车不上车这类的话题。不过曾经在纽约和香港金融市场最前线战斗过的经历,以及上一轮周期开始参与过的虚拟货币个人投资经验,还是积累了一些值得分享的思考。这些观点并不限于某一类资产,且仅适用于非专业的个人投资。

投资本身是一个关于人性的游戏。它最大的价值,就是不论输赢,都能让你更好地认识自己。所以在这个时代,我觉得每个人都该成为业余投资人,在时间的长河中去感受人性和自己,并增加对金融,货币,利率,周期等常识概念的理解。



价值投资理论中有个概念叫“安全边际”,用来确定资产标的的风险价格边界,选择适合的价格区间。人生也有。普通人投资的安全边际,是一个关于你自己的时间,资金量,风险偏好,家庭社会关系等条件的函数。比如,针对个股,虚拟货币这种高风险资产,一个保守的人可能最多拿出总资金的 20% 进行投资,这就是他的边界。再比如,很多人都觉得,从股票涨涨跌跌里赚到的钱不值得赚,因为浪费了很多时间。花多少时间去关注市场和账户,也是一种边界。家庭社会关系呢?就是如果你老婆不同意你去炒股炒房,而你这么做了,那么不论结果如何,都会付出很大的代价。而如果你从亲朋友好友或 P2P 里面借钱去加杠杆,也通常是超过了安全边际的一种冒险行为。

虚拟货币相比起这个世界上 99% 的二级市场投资标的,都是一种波动更大,不确定性更高的风险资产。它可能在 3 个月内翻倍,也可能在一个月内归零。所以,在资产配置上,除非因为某种特殊原因,比如像信仰宗教一样地信仰比特币,或者本身从事这个行业,觉得自己非常懂,否则不要配置过多的自有资产在虚拟货币中。赚钱也好,游戏也好,条件是活着。保护好自己,才能在下一轮周期从容不迫地走入赌场。

你在虚拟货币投资中的安全边际,最好是可以容忍这部分钱完全归 0 的部分。这在长期绝对是一件好事,因为能接受归 0,就能忘记它,可以帮助你穿越漫长的熊市。确定了这个边界,下面就是投资策略的选择。

投资和赚钱的方式成千上万种,但人的本质是复读机,随波逐流是正常,能找到适合自己的资产和策略需要时间,信心和独立思考。

什么是只赚属于你的钱?就是找到你喜欢的资产,并用与你价值观,性格相符的策略进行投资。这个范畴之外的,冷眼旁观,心如止水。然后,把所有属于投资的时间都用来增加对这些有限,长期资产的研究,并坚定地执行已经决定的策略。





Bathtub - 意大利插画家 Marco Melgrati 作品


好的资产


投资虚拟货币的人有两种,一种是只投比特币的,叫 bitcoin maximalist,把所有的钱用来投比特币,其他所有都认为是山寨币,是垃圾。另一种是会投资其他虚拟货币,这里面又有关注技术的,和纯粹投机的 ,虽然两者界限模糊。

我认为最好的投资者一定是观点开放的。他喜欢或信任比特币,同时对区块链技术发展和其他靠谱的新兴代币保持好奇心,并偶尔谨慎投资。当然,这种选择是随着时间变化的。在市场上升阶段,你会去关注更多的虚拟货币,而在大熊市,你能继续跟踪一些行业信息和比特币走势已经很不错了。

只赚属于你的钱,意味着只投资你看得懂,并真心喜欢的币种。说起来容易做起来难。2017 年爆发的 ICO,所有“价值投资者”看着那些一个月 10 倍,几个月百倍的山寨币,没有人不动心。每个入场者都觉得自己不是最后一个,还能把镰刀挥向下一波新韭菜,全身而退。但经历一整个周期,这种在山寨币上赚到了钱,还全身而退的投资者,我身边寥寥无几。

这里还有很多投资教科书里不会告诉你的隐性成本,比如时间。在投资比特币或虚拟货币的过程中,不要忘了它也是一种可能和互联网一样伟大的新兴科技和理念。放钱进比特币,不一定是为了赌博,也有很多人是为了支持自己的信仰,尤其是早期比特币支持者,那些用比特币买 pizza 的人。在研究一支股票基本面的同时,你也研究了涉及到政治,经济,科技的很多新知识,这是虚拟货币特别有趣的一点。在机构投资中,会叫这一类资产“ alternative asset ”,比如新能源,最近火起来的大麻主题,都属于这种小众资产。

历史证明,小众资产的投资其实很难在长期跑赢大盘,因为它有太多的风险和不确定性。但是研究小众资产有一个巨大的好处,就是大部分人不懂。如果你比普通投资者早几年理解了虚拟货币,那这种优势会在未来的 10-20 年不断放大。是的,知识的积累和变现也可以是一种指数效应。

山寨币,旁氏骗局,短线投机可能会让你赚到钱,但是它浪费了你大量的时间,而且伴随着一种类似自我厌恶的感觉,因为你做了一些违背自己价值观的事情。你可能会开始怀疑人生,影响现实生活,不开玩笑。





Greek debt crisis - 意大利插画家 Marco Melgrati 作品


今年,许多以前嘲笑孙宇晨的人开始黑转路,路转粉。其实我觉得并不是因为 Tron 的一些开发进展和资本动作,而是因为 Tron 是极少数在熊市中让一些人赚到钱的主流代币。至于这个是拉盘做到的,还是怎样做到的,其实并没有太多人关心。这就像皇帝的新衣。可是对我个人来说,绝不能说 Tron 是垃圾币,但肯定是我不愿意花时间去研究和关注的项目。同理,大量昙花一现的新币发行或拉盘事件即使在市场最差的时候也在发生,但我觉得他们的多少根阳线都不如我的时间值钱。

除了比特币,有没有其他可能有价值或看的懂的代币呢?有,比如 BNB。BNB 是我买的第一个非比特币的虚拟货币。BNB 是交易所代币的鼻祖,而交易所代币是所有虚拟货币里最像”股票“的资产,因为它的基本面与公司的收入和利润挂钩,而排名靠前的中心化交易所无疑是暴利行业,也就是传统意义上的“好公司”。

在去年市场渐渐冷下来的过程中,BNB 也一路下跌,这时候给了投资人一个很好的考验:它是一个看得懂的好资产,但你是否敢相信自己的判断去加仓。我当时只保留了一个交易所主题基金里的头寸,并没有重新大量买入这个自己已经非常懂也非常认可的资产,错过了最好的时间。

另一个例子是以太坊。今年是 POS 的大年,许多众望所归的 POS 公链都在今年上线或有新的进展,比如 cosmos,tezos,polkadot,还有一些 POS + POW 混合共识类比如 Decred,都引起了更多对 POS 技术的关注。

当时我们内部本来是想做一个关于 POS 的小基金去进行配置,比如 tezos,cosmos 都已经是可以二级市场交易的备选股。并且由于我个人对 POS 的许多技术怀疑,只希望配置对冲性的风险头寸。但是当仔细研究了 POS 的技术分支,如 ouroboros protocol,BFT,tendermint protocol 等。(虽然不是为了投资)我个人的结论是,这些新 POS 共识公链背后的技术中,最靠谱的还是以太坊即将转向的 casper。(这涉及个人偏好,不必辩论,以后会专门写研究报告)那既然要赌 POS 的未来,为什么不放进 ETH 这种理论基础更有吸引力,社区能力更强,且市值和流动性更好的资产里呢?所以我后来把关于 POS 的配置 all in 以太坊,在这波牛市到来之前。

那么其他的不在 portfolio 中的代币,就成了”不属于我能赚的钱”。没有人可以在所有时候赚所有钱。有所取舍是幸福生活的关键。:)





The big hunt - 意大利插画家 Marco Melgrati 作品


等待时机


作为一个普通人而不是专业投资人,我认为天天看盘,看市场没有意义,反而有害。所以,这里说的时机不是什么 K 线图,我也从来不相信什么压力位,阻力位,支撑位。这里说的时机 ,是大的周期性机会。

说白了,对于小众资产,你不想说价值投资者,也只能做价值投资者,因为你根本没有能力做其他。在这个没有监管的混乱市场,项目方,庄家,矿机厂商,甚至矿工都比你知道多太多的信息。和他们做对手方,是惨烈而无聊的。

作为价值投资者,就要有耐心,等待大的机会。市场像一个躁郁症患者,人性驱使下在“过度昂贵”和“过度便宜”间来回徘徊,留给投资人很多次的机会。如果你长期看好比特币或虚拟货币,那你要等待的机会就是所有人过度悲观,市场过度冷淡的时候。如果你看空比特币,或经历过周期,坚信泡沫会破裂,那你要等待的就是市场狂欢到顶点,每个人都忘乎所以,傻子都在上车的时候,比如 2018 年初。

但问题是,谁都不知道“谷底”或“顶点”究竟在哪里。所以“抄底”这个概念是愚蠢的。没有人知道底部在哪里,就算来了,你也未必有胆量 all in。对于看涨的人,最好的时机,就是市场在恐慌中逐步下跌的时候。这时候不仅有价格上的优惠,也不断有流动性上的优势,因为对手方在不断抛售。反之亦然。

我们的目的不是预测市场,踩准每一个波段,而是当机会来了,有能力去抓住它。等待的耐心会在未来的某一天得到回报。但当错过时机的时候,请务必记住,往前看,下一个机会还会到来。





How to grow your own business - 意大利插画家 Marco Melgrati 作品


最近比特币一波大涨让上到大佬下到韭菜的很多币圈老人都坐立不安了,有仓位的犹豫要不要卖或加仓,没仓位的在悔恨踏空的同时又体现出人类的短时记忆,开始相信更大的 upside,从而找到下一个 all in 的理由。有很多人猜测,这即将成为一个不可阻挡的牛市。那这是一个好的时机吗?

对于想要“抄底”比特币的人,这显然是一个始料不及的上涨,他们更希望比特币跌回原来的区间,自己再出手。
对于场外的新韭菜,或记忆短暂的老韭菜,他们在考虑要不要上车,但更多是出于 Fomo 的心态,害怕错过一波行情。
对于手中持币的老韭菜,他们在考虑这是否是一个解套的机会,其中很多人的成本价格甚至高于 8000 点。

总之,市场是一个 martingale 的随机曲线,接下来往上走,往下走,谁都不知道。如果情绪既不恐慌,也不疯狂,价格却一直在剧烈波动,我们该如何判断时机呢?

我认为,不要去猜测时机,而是回到“属于你的”,你坚信的东西上。尽管前面说到等待时机很重要,但能判断准确也需要运气。如果不想受时机判断的影响,我们能做的还有很多:

比如,如果对比特币的信心是长期的,但无法预测,也不想纠结于短期波动,最好的方式就是定投。这也是我认为现在针对比特币最好的投资策略。定投可以分散一年的价格风险,而且更能避免心理波动带来的不坚定,只要严格遵守规则。如果认为定投的策略过于简单,也可以在市场上涨太多的时候,比如现在,减少当天或当周的数额,等回落的时候再补回来。

但无论如何,对时机的思考还是必要的。因为人手里的现金是有限的。就算是定投,也要选择合适的起点和终点。等待时机后能抓住机会的最重要条件,就是手里有现金。

这不仅适用于比特币,也适用于所有资产。目前美股已经经历了历史上最长的牛市,从 2008 年金融危机一直到现在。然而这是全球 QE 的结果。永远的上涨是不存在的。而当新一轮经济危机,或至少是资产价格自我修正的时候,市场会向另一个极端走去,遍地都会有便宜的好资产,只要你手里有足够的子弹。

最近贸易战引起的美股大跌,就有好几支一直在观察列表里的科技股和中概股都跌回了我的心理价位,于是可以开始慢慢买入,再跌再买,跌的越多买的越多。





Do you solve problems by logic or instinct - 意大利插画家 Marco Melgrati 作品


选择策略


市场越原始的时候,策略越简单越好。比如从 2008 年到现在,很少有策略能跑赢屯币这么简单的方法。屯出不卖,就是最好的策略。但是当市场越来越成熟,或者在一个非常漫长的 range bounding 区间,就会有更复杂的策略出现。

获得更多虚拟货币的方法无非是这么几种:

pow 挖矿
pos 节点利息
量化策略
期货杠杆交易
定投
私募,ICO
基金,etf



对于矿机挖矿,我认为是一个普通人在现在已经很难参与的游戏,更适合大资金量,或者有电价,场地优势的人参与。显卡挖矿会比 ASICS 矿机更容易一些,但在市场惨淡的时候,矿工也非常苦逼。在历史上的牛市区间,屯币策略一直在数据上跑赢挖矿。矿机是一个贬值资产,且矿工需要不断卖币支撑电价或回本。算力的变化令回本周期和挖矿收益都存在着巨大的不确定性。靠玩家身份挖矿,或早期购买市场还没有特别相信的矿机而改变命运的时代,已经过去了。

POS 生态是非常新鲜也不成熟的。美国目前的节点代理人,节点基金数量非常多,因为他们不具有 POW 的优势,所以更早地 all in POS。对于普通投资者,节点的储蓄收益其实只是一种锁仓的激励,在高风险高波动的虚拟货币领域并不能成为赚钱的来源。如果真的看好 POS,那么把买到的币存在充当节点代理的中心化钱包里默默拿收益就可以了。运行节点,自己做代理人是十分不划算的,因为利润很薄,抵押物流动性风险和其他风险又比较高,不是长线生态玩家真的没有必要。

量化呢,是个悖论。真正赚钱的量化策略,是不会接受散户投资的,甚至不会让你知道。虚拟货币的流动性不像传统金融那么大,一个再好的策略,资金量稍微大一点,就失效了,比如早年的跨国跨交易所搬砖。而 PR 做的好的基金,很多都是拿曾经大牛市傻子都能赚钱时候的业绩宣传,其实在现在的环境里早就跑不出那么好的成绩。

期货是一切悲剧的起源。除了本身的高风险赌博性质之外,还因为区块链的交易所不受监管,经常有一些操纵市场又无法被证实和惩罚的猫腻行为。由于平仓规则,期货是一个可能你看对了方向,也在其中亏的血本无归的工具。这次大涨,据说就有几十个亿的空头仓位爆仓。建议非专业交易员珍爱生命,远离期货。这里多说一句,和期货相比,期权其实更适合散户投资者。只可惜目前虚拟货币领域的期权交易所还少而不专业,价差也非常大,实操很困难。

私募和基金这种需要中心化信任的工具,在虚拟货币的世界会产生很多问题,而且他们大多数并不合规,有比较大的监管风险。投基金还不如去听大佬们的喊单,毕竟基金经理也好量化策略也好都没有什么技术含量。私募呢,交易所平台币这种比较稳定的项目可以参与,但 ICO 或 IEO 上面的垃圾币就不用挤破头申购了,就像之前说的,那些钱不是属于你的。

在这里我想安利给普通投资人一个最近发现的好策略工具,杠杆 ETF token。(至于哪个平台为了避免做广告的嫌疑就不说了,感兴趣可以发邮件询问。)目前我看到最合理的合约是 3 倍做多/做空合约,标的是 BTC,ETH,EOS 等流动性最好的资产。ETF 是 token 化的,用户的申购和赎回就是直接买卖 token,一分钟完成,超越了传统金融的体验。而专业团队负责用期货对冲风险,以此收取大概年化 10% 的管理费(还是比传统金融要贵很多)。这个工具好处是,普通投资者不用再去承担期货开户,期货调仓的工作,和没来得及平仓之类的风险。对于想要加杠杆的需求,足够了。

这段时间比特币引领整个大盘,跑赢了几户所有其他代币。所以我执行了一个配对交易策略 — 以同样的资金 3 倍做多以太坊的同时,3 倍做空比特币。因为我觉得以太坊被低估了。如果有新韭菜进来追求收益率,一定会因为以太坊更大的涨幅空间而重仓以太坊。这个策略的风险比赌单边市场更小,所以可以大资金量去尝试,非常好玩。

最后,我建议永远不要做空比特币。(除非是上述类型的配对交易或对冲策略)如果你是一个虚拟货币支持者,只是暂时做波段,也不要做空。因为从长期来看,它是一个成长性的资产,并且生生不息。与希望为敌是非常痛苦的。与自己的信念相违背也是。





The hunter - 意大利插画家 Marco Melgrati 作品


对抗人性


虚拟货币其实只是历史的重演,跟最早的黄金,股票,郁金香,没有什么本质的区别。投资虚拟货币最大的意义是去了解人性,了解自己,这也会是过程中最大的收获。

要从市场中赚到钱,需要的是低买高卖,然而人性却会驱使你低卖高买。一旦开始了投资,无时无刻内心不是纠结的:

涨了,后悔买少了。卖了舍不得。不卖不是真正的收益。
跌了,不确定是否要止损,或者一直装死。加仓更需要勇气。



认识人性就是认识风险。无论虚拟货币是死水一潭还是波澜壮阔,对你来说最重要的是控制风险。因为正如开头所说,这无论如何都是一个风险太高,波动太大,市场太不成熟的小众资产。如果你觉得内心难以这样的波动,也可以先不看,把战场转移到其他成熟的资产上。毕竟A股大涨的时候,也没人聊虚拟货币。

但是,如果你转变视角,把投资的目的从赚钱变成认识自己,那这一切就顿时有趣了太多。在这个行业里,有太多的谎言,愚蠢,皇帝的新衣。有时候你自己的判断又简单又正确,但难以在这样的环境中坚持主见。当一个又一个“新项目”,顶个最好的团队,最牛的技术的光环来到你面前,并且连拉一个星期阳线的时候,你甚至会怀疑自己是否错过了什么,或过于清高了。

可是,每个人都只能赚属于自己的钱。如果你是一个精明的骗子,那就可以心安理得地去赚某些暂时的钱,甚至设计游戏割韭菜。但如果你不是,那赚这份钱是痛苦的,并且更有可能是被割的那个。

了解自己,就能选择在适当的时机执行适当的策略。比如,矿机挖矿虽然从收益上,简便和灵活程度上都不如二级市场,但投入了矿机成本后就只能继续,可以抵挡很多人不坚定的人性弱点。所以,策略没有绝对的好坏,适合自己的才是能长期坚持的。

Again,什么是只赚属于自己的钱呢?就是快乐地去做这件事,学习自己感兴趣的东西,并利用自己的知识和兴趣优势去做事,去投资。

人的记忆是短暂的。这几天朋友圈里的大佬们,很多又出来讲比特币的价值了。比特币改变了很多人的人生,但它既不是完美的,也像所有“好的资产”一样,有过于昂贵的时候。不然的话,今天大家买的不是比特币,而是黄金。

所以从逻辑上,我虽然也信仰比特币,但我不相信它已经成了避险资产,能够和今天世界上大部分的风险资产一直这么背道而驰。我也不相信 bitcoin maximalist,因为这个世界上没有任何一个伟大的投资者是通过 all in 同一支股票而长盛不衰的。我们被很多故事打了鸡血,只是因为时间还拉的不够长。而属于我们自己的“一生只有那么几次“的那个机会,也不一定会是比特币。

反而,投资经验越多,就越能意识到,除非幸运女神非要选你,不然投资无法改变命运,甚至大部分情况下无法跑赢指数,如果我们把时间拉的足够长。

但是,投资依然是有意义的。因为我们活在一个法币随时有可能不值钱的时代。装死就像过度投机一样,也是一种愚昧和执着。

区块链和虚拟货币不是普通人最后一次可能“阶级跃升”的机会,但它是一个人类技术和社会发展的未来。大部分坚持留在这个行业中,或坚持买比特币的人,都是被它的理念所吸引。如果你花点时间关注下虚拟货币的一些技术,经济,政治层面的思想,你会发现它非常非常非常有趣。

毕竟,最稀缺的资源是我们自己的时间。花时间去了解有趣的,可能改变未来的新兴事物,顺便投资,也顺便了解自己,是一件美好的事情。





A surreal morning - 意大利插画家 Marco Melgrati 作品



作者: Jade
来源:禅与宇宙维修艺术(cosmosrepair) 查看全部
easter.jpg

Easter problems - 意大利插画家 Marco Melgrati 作品


引言:作为一个区块链行业的从业者而非投资人,我一向避免过多地谈论比特币价格,牛市熊市,上车不上车这类的话题。不过曾经在纽约和香港金融市场最前线战斗过的经历,以及上一轮周期开始参与过的虚拟货币个人投资经验,还是积累了一些值得分享的思考。这些观点并不限于某一类资产,且仅适用于非专业的个人投资。

投资本身是一个关于人性的游戏。它最大的价值,就是不论输赢,都能让你更好地认识自己。所以在这个时代,我觉得每个人都该成为业余投资人,在时间的长河中去感受人性和自己,并增加对金融,货币,利率,周期等常识概念的理解。




价值投资理论中有个概念叫“安全边际”,用来确定资产标的的风险价格边界,选择适合的价格区间。人生也有。普通人投资的安全边际,是一个关于你自己的时间,资金量,风险偏好,家庭社会关系等条件的函数。比如,针对个股,虚拟货币这种高风险资产,一个保守的人可能最多拿出总资金的 20% 进行投资,这就是他的边界。再比如,很多人都觉得,从股票涨涨跌跌里赚到的钱不值得赚,因为浪费了很多时间。花多少时间去关注市场和账户,也是一种边界。家庭社会关系呢?就是如果你老婆不同意你去炒股炒房,而你这么做了,那么不论结果如何,都会付出很大的代价。而如果你从亲朋友好友或 P2P 里面借钱去加杠杆,也通常是超过了安全边际的一种冒险行为。

虚拟货币相比起这个世界上 99% 的二级市场投资标的,都是一种波动更大,不确定性更高的风险资产。它可能在 3 个月内翻倍,也可能在一个月内归零。所以,在资产配置上,除非因为某种特殊原因,比如像信仰宗教一样地信仰比特币,或者本身从事这个行业,觉得自己非常懂,否则不要配置过多的自有资产在虚拟货币中。赚钱也好,游戏也好,条件是活着。保护好自己,才能在下一轮周期从容不迫地走入赌场。

你在虚拟货币投资中的安全边际,最好是可以容忍这部分钱完全归 0 的部分。这在长期绝对是一件好事,因为能接受归 0,就能忘记它,可以帮助你穿越漫长的熊市。确定了这个边界,下面就是投资策略的选择。

投资和赚钱的方式成千上万种,但人的本质是复读机,随波逐流是正常,能找到适合自己的资产和策略需要时间,信心和独立思考。

什么是只赚属于你的钱?就是找到你喜欢的资产,并用与你价值观,性格相符的策略进行投资。这个范畴之外的,冷眼旁观,心如止水。然后,把所有属于投资的时间都用来增加对这些有限,长期资产的研究,并坚定地执行已经决定的策略。

bathtub.jpg

Bathtub - 意大利插画家 Marco Melgrati 作品


好的资产


投资虚拟货币的人有两种,一种是只投比特币的,叫 bitcoin maximalist,把所有的钱用来投比特币,其他所有都认为是山寨币,是垃圾。另一种是会投资其他虚拟货币,这里面又有关注技术的,和纯粹投机的 ,虽然两者界限模糊。

我认为最好的投资者一定是观点开放的。他喜欢或信任比特币,同时对区块链技术发展和其他靠谱的新兴代币保持好奇心,并偶尔谨慎投资。当然,这种选择是随着时间变化的。在市场上升阶段,你会去关注更多的虚拟货币,而在大熊市,你能继续跟踪一些行业信息和比特币走势已经很不错了。

只赚属于你的钱,意味着只投资你看得懂,并真心喜欢的币种。说起来容易做起来难。2017 年爆发的 ICO,所有“价值投资者”看着那些一个月 10 倍,几个月百倍的山寨币,没有人不动心。每个入场者都觉得自己不是最后一个,还能把镰刀挥向下一波新韭菜,全身而退。但经历一整个周期,这种在山寨币上赚到了钱,还全身而退的投资者,我身边寥寥无几。

这里还有很多投资教科书里不会告诉你的隐性成本,比如时间。在投资比特币或虚拟货币的过程中,不要忘了它也是一种可能和互联网一样伟大的新兴科技和理念。放钱进比特币,不一定是为了赌博,也有很多人是为了支持自己的信仰,尤其是早期比特币支持者,那些用比特币买 pizza 的人。在研究一支股票基本面的同时,你也研究了涉及到政治,经济,科技的很多新知识,这是虚拟货币特别有趣的一点。在机构投资中,会叫这一类资产“ alternative asset ”,比如新能源,最近火起来的大麻主题,都属于这种小众资产。

历史证明,小众资产的投资其实很难在长期跑赢大盘,因为它有太多的风险和不确定性。但是研究小众资产有一个巨大的好处,就是大部分人不懂。如果你比普通投资者早几年理解了虚拟货币,那这种优势会在未来的 10-20 年不断放大。是的,知识的积累和变现也可以是一种指数效应。

山寨币,旁氏骗局,短线投机可能会让你赚到钱,但是它浪费了你大量的时间,而且伴随着一种类似自我厌恶的感觉,因为你做了一些违背自己价值观的事情。你可能会开始怀疑人生,影响现实生活,不开玩笑。

greek.jpg

Greek debt crisis - 意大利插画家 Marco Melgrati 作品


今年,许多以前嘲笑孙宇晨的人开始黑转路,路转粉。其实我觉得并不是因为 Tron 的一些开发进展和资本动作,而是因为 Tron 是极少数在熊市中让一些人赚到钱的主流代币。至于这个是拉盘做到的,还是怎样做到的,其实并没有太多人关心。这就像皇帝的新衣。可是对我个人来说,绝不能说 Tron 是垃圾币,但肯定是我不愿意花时间去研究和关注的项目。同理,大量昙花一现的新币发行或拉盘事件即使在市场最差的时候也在发生,但我觉得他们的多少根阳线都不如我的时间值钱。

除了比特币,有没有其他可能有价值或看的懂的代币呢?有,比如 BNB。BNB 是我买的第一个非比特币的虚拟货币。BNB 是交易所代币的鼻祖,而交易所代币是所有虚拟货币里最像”股票“的资产,因为它的基本面与公司的收入和利润挂钩,而排名靠前的中心化交易所无疑是暴利行业,也就是传统意义上的“好公司”。

在去年市场渐渐冷下来的过程中,BNB 也一路下跌,这时候给了投资人一个很好的考验:它是一个看得懂的好资产,但你是否敢相信自己的判断去加仓。我当时只保留了一个交易所主题基金里的头寸,并没有重新大量买入这个自己已经非常懂也非常认可的资产,错过了最好的时间。

另一个例子是以太坊。今年是 POS 的大年,许多众望所归的 POS 公链都在今年上线或有新的进展,比如 cosmos,tezos,polkadot,还有一些 POS + POW 混合共识类比如 Decred,都引起了更多对 POS 技术的关注。

当时我们内部本来是想做一个关于 POS 的小基金去进行配置,比如 tezos,cosmos 都已经是可以二级市场交易的备选股。并且由于我个人对 POS 的许多技术怀疑,只希望配置对冲性的风险头寸。但是当仔细研究了 POS 的技术分支,如 ouroboros protocol,BFT,tendermint protocol 等。(虽然不是为了投资)我个人的结论是,这些新 POS 共识公链背后的技术中,最靠谱的还是以太坊即将转向的 casper。(这涉及个人偏好,不必辩论,以后会专门写研究报告)那既然要赌 POS 的未来,为什么不放进 ETH 这种理论基础更有吸引力,社区能力更强,且市值和流动性更好的资产里呢?所以我后来把关于 POS 的配置 all in 以太坊,在这波牛市到来之前。

那么其他的不在 portfolio 中的代币,就成了”不属于我能赚的钱”。没有人可以在所有时候赚所有钱。有所取舍是幸福生活的关键。:)

hunt.jpg

The big hunt - 意大利插画家 Marco Melgrati 作品


等待时机


作为一个普通人而不是专业投资人,我认为天天看盘,看市场没有意义,反而有害。所以,这里说的时机不是什么 K 线图,我也从来不相信什么压力位,阻力位,支撑位。这里说的时机 ,是大的周期性机会。

说白了,对于小众资产,你不想说价值投资者,也只能做价值投资者,因为你根本没有能力做其他。在这个没有监管的混乱市场,项目方,庄家,矿机厂商,甚至矿工都比你知道多太多的信息。和他们做对手方,是惨烈而无聊的。

作为价值投资者,就要有耐心,等待大的机会。市场像一个躁郁症患者,人性驱使下在“过度昂贵”和“过度便宜”间来回徘徊,留给投资人很多次的机会。如果你长期看好比特币或虚拟货币,那你要等待的机会就是所有人过度悲观,市场过度冷淡的时候。如果你看空比特币,或经历过周期,坚信泡沫会破裂,那你要等待的就是市场狂欢到顶点,每个人都忘乎所以,傻子都在上车的时候,比如 2018 年初。

但问题是,谁都不知道“谷底”或“顶点”究竟在哪里。所以“抄底”这个概念是愚蠢的。没有人知道底部在哪里,就算来了,你也未必有胆量 all in。对于看涨的人,最好的时机,就是市场在恐慌中逐步下跌的时候。这时候不仅有价格上的优惠,也不断有流动性上的优势,因为对手方在不断抛售。反之亦然。

我们的目的不是预测市场,踩准每一个波段,而是当机会来了,有能力去抓住它。等待的耐心会在未来的某一天得到回报。但当错过时机的时候,请务必记住,往前看,下一个机会还会到来。

grow.jpg

How to grow your own business - 意大利插画家 Marco Melgrati 作品


最近比特币一波大涨让上到大佬下到韭菜的很多币圈老人都坐立不安了,有仓位的犹豫要不要卖或加仓,没仓位的在悔恨踏空的同时又体现出人类的短时记忆,开始相信更大的 upside,从而找到下一个 all in 的理由。有很多人猜测,这即将成为一个不可阻挡的牛市。那这是一个好的时机吗?

对于想要“抄底”比特币的人,这显然是一个始料不及的上涨,他们更希望比特币跌回原来的区间,自己再出手。
对于场外的新韭菜,或记忆短暂的老韭菜,他们在考虑要不要上车,但更多是出于 Fomo 的心态,害怕错过一波行情。
对于手中持币的老韭菜,他们在考虑这是否是一个解套的机会,其中很多人的成本价格甚至高于 8000 点。

总之,市场是一个 martingale 的随机曲线,接下来往上走,往下走,谁都不知道。如果情绪既不恐慌,也不疯狂,价格却一直在剧烈波动,我们该如何判断时机呢?

我认为,不要去猜测时机,而是回到“属于你的”,你坚信的东西上。尽管前面说到等待时机很重要,但能判断准确也需要运气。如果不想受时机判断的影响,我们能做的还有很多:

比如,如果对比特币的信心是长期的,但无法预测,也不想纠结于短期波动,最好的方式就是定投。这也是我认为现在针对比特币最好的投资策略。定投可以分散一年的价格风险,而且更能避免心理波动带来的不坚定,只要严格遵守规则。如果认为定投的策略过于简单,也可以在市场上涨太多的时候,比如现在,减少当天或当周的数额,等回落的时候再补回来。

但无论如何,对时机的思考还是必要的。因为人手里的现金是有限的。就算是定投,也要选择合适的起点和终点。等待时机后能抓住机会的最重要条件,就是手里有现金。

这不仅适用于比特币,也适用于所有资产。目前美股已经经历了历史上最长的牛市,从 2008 年金融危机一直到现在。然而这是全球 QE 的结果。永远的上涨是不存在的。而当新一轮经济危机,或至少是资产价格自我修正的时候,市场会向另一个极端走去,遍地都会有便宜的好资产,只要你手里有足够的子弹。

最近贸易战引起的美股大跌,就有好几支一直在观察列表里的科技股和中概股都跌回了我的心理价位,于是可以开始慢慢买入,再跌再买,跌的越多买的越多。

goat.jpg

Do you solve problems by logic or instinct - 意大利插画家 Marco Melgrati 作品


选择策略


市场越原始的时候,策略越简单越好。比如从 2008 年到现在,很少有策略能跑赢屯币这么简单的方法。屯出不卖,就是最好的策略。但是当市场越来越成熟,或者在一个非常漫长的 range bounding 区间,就会有更复杂的策略出现。

获得更多虚拟货币的方法无非是这么几种:


pow 挖矿
pos 节点利息
量化策略
期货杠杆交易
定投
私募,ICO
基金,etf




对于矿机挖矿,我认为是一个普通人在现在已经很难参与的游戏,更适合大资金量,或者有电价,场地优势的人参与。显卡挖矿会比 ASICS 矿机更容易一些,但在市场惨淡的时候,矿工也非常苦逼。在历史上的牛市区间,屯币策略一直在数据上跑赢挖矿。矿机是一个贬值资产,且矿工需要不断卖币支撑电价或回本。算力的变化令回本周期和挖矿收益都存在着巨大的不确定性。靠玩家身份挖矿,或早期购买市场还没有特别相信的矿机而改变命运的时代,已经过去了。

POS 生态是非常新鲜也不成熟的。美国目前的节点代理人,节点基金数量非常多,因为他们不具有 POW 的优势,所以更早地 all in POS。对于普通投资者,节点的储蓄收益其实只是一种锁仓的激励,在高风险高波动的虚拟货币领域并不能成为赚钱的来源。如果真的看好 POS,那么把买到的币存在充当节点代理的中心化钱包里默默拿收益就可以了。运行节点,自己做代理人是十分不划算的,因为利润很薄,抵押物流动性风险和其他风险又比较高,不是长线生态玩家真的没有必要。

量化呢,是个悖论。真正赚钱的量化策略,是不会接受散户投资的,甚至不会让你知道。虚拟货币的流动性不像传统金融那么大,一个再好的策略,资金量稍微大一点,就失效了,比如早年的跨国跨交易所搬砖。而 PR 做的好的基金,很多都是拿曾经大牛市傻子都能赚钱时候的业绩宣传,其实在现在的环境里早就跑不出那么好的成绩。

期货是一切悲剧的起源。除了本身的高风险赌博性质之外,还因为区块链的交易所不受监管,经常有一些操纵市场又无法被证实和惩罚的猫腻行为。由于平仓规则,期货是一个可能你看对了方向,也在其中亏的血本无归的工具。这次大涨,据说就有几十个亿的空头仓位爆仓。建议非专业交易员珍爱生命,远离期货。这里多说一句,和期货相比,期权其实更适合散户投资者。只可惜目前虚拟货币领域的期权交易所还少而不专业,价差也非常大,实操很困难。

私募和基金这种需要中心化信任的工具,在虚拟货币的世界会产生很多问题,而且他们大多数并不合规,有比较大的监管风险。投基金还不如去听大佬们的喊单,毕竟基金经理也好量化策略也好都没有什么技术含量。私募呢,交易所平台币这种比较稳定的项目可以参与,但 ICO 或 IEO 上面的垃圾币就不用挤破头申购了,就像之前说的,那些钱不是属于你的。

在这里我想安利给普通投资人一个最近发现的好策略工具,杠杆 ETF token。(至于哪个平台为了避免做广告的嫌疑就不说了,感兴趣可以发邮件询问。)目前我看到最合理的合约是 3 倍做多/做空合约,标的是 BTC,ETH,EOS 等流动性最好的资产。ETF 是 token 化的,用户的申购和赎回就是直接买卖 token,一分钟完成,超越了传统金融的体验。而专业团队负责用期货对冲风险,以此收取大概年化 10% 的管理费(还是比传统金融要贵很多)。这个工具好处是,普通投资者不用再去承担期货开户,期货调仓的工作,和没来得及平仓之类的风险。对于想要加杠杆的需求,足够了。

这段时间比特币引领整个大盘,跑赢了几户所有其他代币。所以我执行了一个配对交易策略 — 以同样的资金 3 倍做多以太坊的同时,3 倍做空比特币。因为我觉得以太坊被低估了。如果有新韭菜进来追求收益率,一定会因为以太坊更大的涨幅空间而重仓以太坊。这个策略的风险比赌单边市场更小,所以可以大资金量去尝试,非常好玩。

最后,我建议永远不要做空比特币。(除非是上述类型的配对交易或对冲策略)如果你是一个虚拟货币支持者,只是暂时做波段,也不要做空。因为从长期来看,它是一个成长性的资产,并且生生不息。与希望为敌是非常痛苦的。与自己的信念相违背也是。

hunter.jpg

The hunter - 意大利插画家 Marco Melgrati 作品


对抗人性


虚拟货币其实只是历史的重演,跟最早的黄金,股票,郁金香,没有什么本质的区别。投资虚拟货币最大的意义是去了解人性,了解自己,这也会是过程中最大的收获。

要从市场中赚到钱,需要的是低买高卖,然而人性却会驱使你低卖高买。一旦开始了投资,无时无刻内心不是纠结的:


涨了,后悔买少了。卖了舍不得。不卖不是真正的收益。
跌了,不确定是否要止损,或者一直装死。加仓更需要勇气。




认识人性就是认识风险。无论虚拟货币是死水一潭还是波澜壮阔,对你来说最重要的是控制风险。因为正如开头所说,这无论如何都是一个风险太高,波动太大,市场太不成熟的小众资产。如果你觉得内心难以这样的波动,也可以先不看,把战场转移到其他成熟的资产上。毕竟A股大涨的时候,也没人聊虚拟货币。

但是,如果你转变视角,把投资的目的从赚钱变成认识自己,那这一切就顿时有趣了太多。在这个行业里,有太多的谎言,愚蠢,皇帝的新衣。有时候你自己的判断又简单又正确,但难以在这样的环境中坚持主见。当一个又一个“新项目”,顶个最好的团队,最牛的技术的光环来到你面前,并且连拉一个星期阳线的时候,你甚至会怀疑自己是否错过了什么,或过于清高了。

可是,每个人都只能赚属于自己的钱。如果你是一个精明的骗子,那就可以心安理得地去赚某些暂时的钱,甚至设计游戏割韭菜。但如果你不是,那赚这份钱是痛苦的,并且更有可能是被割的那个。

了解自己,就能选择在适当的时机执行适当的策略。比如,矿机挖矿虽然从收益上,简便和灵活程度上都不如二级市场,但投入了矿机成本后就只能继续,可以抵挡很多人不坚定的人性弱点。所以,策略没有绝对的好坏,适合自己的才是能长期坚持的。

Again,什么是只赚属于自己的钱呢?就是快乐地去做这件事,学习自己感兴趣的东西,并利用自己的知识和兴趣优势去做事,去投资。

人的记忆是短暂的。这几天朋友圈里的大佬们,很多又出来讲比特币的价值了。比特币改变了很多人的人生,但它既不是完美的,也像所有“好的资产”一样,有过于昂贵的时候。不然的话,今天大家买的不是比特币,而是黄金。

所以从逻辑上,我虽然也信仰比特币,但我不相信它已经成了避险资产,能够和今天世界上大部分的风险资产一直这么背道而驰。我也不相信 bitcoin maximalist,因为这个世界上没有任何一个伟大的投资者是通过 all in 同一支股票而长盛不衰的。我们被很多故事打了鸡血,只是因为时间还拉的不够长。而属于我们自己的“一生只有那么几次“的那个机会,也不一定会是比特币。

反而,投资经验越多,就越能意识到,除非幸运女神非要选你,不然投资无法改变命运,甚至大部分情况下无法跑赢指数,如果我们把时间拉的足够长。

但是,投资依然是有意义的。因为我们活在一个法币随时有可能不值钱的时代。装死就像过度投机一样,也是一种愚昧和执着。

区块链和虚拟货币不是普通人最后一次可能“阶级跃升”的机会,但它是一个人类技术和社会发展的未来。大部分坚持留在这个行业中,或坚持买比特币的人,都是被它的理念所吸引。如果你花点时间关注下虚拟货币的一些技术,经济,政治层面的思想,你会发现它非常非常非常有趣。

毕竟,最稀缺的资源是我们自己的时间。花时间去了解有趣的,可能改变未来的新兴事物,顺便投资,也顺便了解自己,是一件美好的事情。

surreal.jpg

A surreal morning - 意大利插画家 Marco Melgrati 作品



作者: Jade
来源:禅与宇宙维修艺术(cosmosrepair)