为什么加密货币不一定匿名

在媒体的描述中,加密货币经常自带「匿名」属性,但另外一些文章指出,加密货币交易活动能够被轻易追踪到,甚至比法币交易更容易被追踪。这两种说法要达成一致,重要的是要了解到:加密货币的隐私保护具体是指什么?

这个问题要回答起来可没有看上去那么容易,因为「隐私保护」在区块链世界中也有很多层面的意思。

要成为一名深谙区块链技术的开发者、一名投资人或者加密货币的参与者,理解加密体系中「隐私保护」真正意味着什么,至关重要。我们撰写此文,分享自己在这方面的一些心得与技巧。

想象一下,Alice 开通一个 Venmo 账号 美国一款小额支付手机应用,目前已被 Paypal 收购,她需要提供并验证其真实姓名。因为 Venmo 公司知道了她的真实姓名,且有可能会与其他人分享这一信息, Alice 损失了其身份的部分隐私。如果 Bob 通过 Venmo 给 Alice 转账 20 美元,并在她的信息流里分享了这一交易,那么 Alice 的交易信息已是公开化,但她个人账上迄今为止有多少钱,只有 Venmo 知道,别人并不知道。如果假设 Alice 创建一个比特币地址,要求 Bob 给她转账价值 20 美元的比特币。相比 Venmo 交易,Alice 在个人真实身份方面获得了一定的隐私保护,因为她的比特币地址并不与她的真实姓名相关联。不过,事实上比特币从 Bob 的地址转到 Alice 的地址,以及 Alice 收到比特币转账后的比特币总数额,对于比特币区块链中的所有人都是透明信息。

所以,我们可以了解到,使用了比特币,Alice 在某些方面取得了隐私保护,但在另外一些方面又失去了隐私。

当使,用不同的加密货币进行交易时,这种情况司空见惯。

在加密货币世界中,我们认为隐私保护主要包含三个层面的内容:

  • 利用加密货币进行某种操作的用户的身份信息
  • 用户相应操作中的具体交易数据
  • 集合所有交易信息的区块链整体状态

区块链协议可以采用密码学方式,使得局外人不可能 或者极为困难 知晓或者计算推演出上述每个环节中的不同部分。与此同时,想要挖掘区块链特性的攻击者能综合不同信息碎片,来猜测出甚至直接总结出他们想要的信息。隐私保护的手段就变成通过协议设计、在具体属性领域给潜在攻击者暴露尽可能少的信息。

重要的是,关于某个具体属性是否属于隐私保护范畴,不是那么黑白分明的。譬如,它对某些外部观察者已是透明信息,但其他外部人不清楚,或者外部观察者也许机缘巧合能猜到,但不是一定能猜到。这种不明确之处意味着譬如「XX 币能确保隐私」、或者「A 币比 B 币的隐私保护做得更好」之类的简单陈述常常无法成立。且有时措辞不谨慎,这类说法会造成混淆和误解,因此有人精心编排这样的说法用来误导他人。

我们推荐更仔细的表述,譬如「门罗币的交易额是被作为隐私受保护的」、甚至「由于 ZCash 币的某种匿名性设定,发送方的地址是作为隐私被保护的」。

在这篇文章的后面,我们还会讨论到:某些情况下,例如零知识证明这样的密码学工具能帮助我们对此类说法进行量化分析,甚至提供严格证据。

首先,让我们先从与加密货币相关的隐私保护开始谈起。

身份信息隐私,即匿名性

人们听到隐私一词时,最先出现在脑海中的往往是匿名性,这意味着用户的行为与他们在真实世界的身份信息不扯上任何关联。

一种实现这种隐私保护的途径是很容易实现的「假名」方式;实际上我们在接受各种网络服务时已经习惯于使用假名,譬如注册邮箱名 bitcoinlover2008@gmail.com,而不是使用真实姓名。在这种情况下,在这种网络协议中的大多数互动中,bitcoinlover2008@gmail.com 主人的真实 / 合法姓名 假设叫 Alice Jones 不会暴露出来。

在多数加密货币体系中,譬如比特币,用户得到一对公钥 / 私钥签名,公钥类似于用户名,私钥类似于密码。关键是,只有在某个人知道你准确的私钥 不管是合法取得还是非法窃取,才能制造出由你「签字」的信息,在这个意义上,任何人可以 用你的公钥 查看拥有私钥的人发送的信息。这一特质可以让用户用其掌握的几个公钥 或地址 中的一个接收比特币这样的加密货币,用自己的私钥来发送加密货币,这一切都没有中心化权威的干预。这些理念组成了现代数学密码学的基石。不过,拥有一对私钥 / 公钥只是一种在去中心化环境中「使用假名」掩饰真实身份的一种办法。

「使用假名」通常是加密货币背后协议中天然的属性,让媒体和大众误认为所有的加密货币都是「匿名的」,或者至少比仅仅使用假名有更强的匿名性。一点都不奇怪,这种误解推动用户利用加密货币进行一些不法行为,譬如线上赌博、或者暗网交易。然而,真实的隐私保护水平可能让这些用户大失所望。他们确实可以利用公开地址发送或接收比特币,在交易中不涉及其真实姓名,但用户的某些行为可以将公开地址与他们在现实世界的真实身份扯上关系。

首先,多数用户在交易所中先是用法币买进比特币。法币交易通常需要与现行的银行系统发生关联,后者是需要验证现实世界的真实身份的。因为比特币中的所有交易数据是完全公开的 上一节中讲过,这意味着所有人都可以看到交易所数据库,将具体地址与现实世界的真实身份联系起来。举个例子来说明:如果 Alice 从 Coinbase 提取了 0.1 个比特币到她控制的一个地址,譬如 36n452uGq1x4mK7bfyZR8wgE47AnBb2pzi,然后 Coinbase 就会把她的真实姓名与这个地址挂钩 。如果她从一个线上非法体育博彩网站提取 0.2 个比特币,外部观察者就可能推断出,并可以提供不可篡改的公开证据证明, Alice 参与非法线上赌博活动。

Chainalysis 等公司已经采用了此类被称为区块链分析的技术,将公开地址与背后拥有者的身份挂起钩来,并分析交易走向。

加密货币≠匿名,一文详解加密货币隐私保护基础知识图为 2009 -2012 年区块链分析的一个早期案例;数据来源:https://doi.org/10.3390/fi8010007

其次,进行加密货币交易需要通过互联网发送一些信息。在某些情况下,互动的元数据能被用来追踪用户发起这些交易时使用的 IP 地址,即使用户使用了类似「洋葱 Tor」这类所谓安全浏览器,也有可能被追踪 IP 地址。

上述这两个原因综合在一起,意味着单凭加密货币「使用假名」的特质而利用元数据进行匿名交易近似是「不可能完成的任务」。

交易数据的隐私保护

当人们谈论所谓「隐私币」时,通常指的是这些币种的交易在某些方面具有隐私保护。

宽泛而言,交易是一名用户采取的修改这条区块链状态的行动。譬如,Alice 从她控制的一个地址向 Bob 控制的一个地址发送了 X 个代币。从上帝视角来观察,这个极为简单的例子也包含了多重数据:

  • Alice 的一个地址,譬如 36n452uGq1x4mK7bfyZR8wgE47AnBb2pzi
  • Alice 与 Bob 地址的链接
  • Bob 的一个地址
  • 代币发送的数目

更为复杂的交易会包含其它类型信息,譬如以太坊中的智能合约代码。 不同的区块链以不同的方式展示交易数据,其中一些允许某些环节是第三方无法看到的,第三方只能看到区块链原始数据。所以我们本节命名为「交易数据的隐私保护」,而不是「交易的隐私保护」,因为不同类型的交易数据能在不同的程度上得到相应的隐私保护。

能得到隐私保护的数据中,最重要的是 Alice 和 Bob 的地址。如果它们得到隐私保护,就无从识别交易的发送者和接受者的真实身份,就会阻挠前文提到的那种区块链分析技术。

譬如,如果 Alice 从交易所币安购买了具有这种技术特性的门罗币,并提取了该币,币安就无法将这一提取动作与 Alice 之后如何处置这些门罗币关联起来。同样的,如果 Bob 从 Alice 那里收到门罗币,他也无法知道 Alice 是从币安购买的这些门罗币。

加密货币≠匿名,一文详解加密货币隐私保护基础知识

但让问题更为复杂的是,交易数据是否有隐秘性不是非黑即白的问题。 譬如以 Alice 的地址为例,这可以由匿名集 anonymity set 大小来衡量,匿名集是指根据区块链数据可以辨识出的交易发送方地址的最小集合。匿名集越大,区块链交易数据中关于发送者的信息就越少。譬如比特币的匿名集大小为 1,而门罗币的匿名集就要大得多。

状态隐秘性

在比特币区块链中,所有交易数据都是公开的,意味着一位看到区块链中所有的区块外部观察者可以复原账本、查明这些地址的账户金额 尽管这些金额可能被分配进不同的「未使用交易输出 UTXO」,即我们所说的区块链整体状态。不过,如果交易的某些部分是隐秘的,即便掌握了整个区块链的信息,也不会让用户知道整体状态。这些信息是在不同的用户间分享的,区块链保障用户信息间的一致性。

尽管用户知晓区块链状态中的某一特别属性只取决于协议,取决于其了解的触发这种状态形成的交易信息,但是两者之间的联系会触发复杂的互动。因此,状态的不同特质可以在某种程度受到隐私保护。

以下是几个例子:

  • 所有地址列表
  • 某一具体地址的账户余额,譬如 0x2569C92345013F55CFb47C633c57F2f5756B9acA 有 1 个 ETH
  • 某个特定地址上的智能合约代码,譬如 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d 地址上的加密猫合约
  • 合约的具体状态,譬如加密猫合约存储的数据

举个简单的推演例子:ZCoin 每笔交易的数量是公开的,但发送者和接受者的地址是隐秘的,意味着用户账户余额依然是隐秘信息。另一方面,在隐私保护区块链格式 Mimblewimble 中,每个交易的具体数额是隐秘的,但发送者和接受者是公开的,这提供了保护用户账户余额隐私的另一种途径。Mimblewimble 中的用户必须保存好自己账户余额的信息,因为该区块链只存储用以保障用户不会超支的有限信息。

在多数情况下,交易中加入更多的隐私保护措施,对用户个体而言是有益的,但对区块链整体状态未必是好事。譬如,如果某种加密货币的总发行数量是隐私的,用户无法判断该区块链协议中的总供应时间表等具体属性;此外,很难发现攻击者利用算法漏洞或者协议后门进行非授权铸币。

部分现有区块链协议中的隐私保护特质

加密货币≠匿名,一文详解加密货币隐私保护基础知识

不同的隐私保护方式

我们到目前为止主要关注特定信息是否是公开的或者是隐秘的。此外,梳理一下不同区块链所采用技术的隐私保护方式也是有所裨益的。我们粗粗梳理了这些不同的隐私保护方式。

「第二层」协议

建立在区块链底层技术之上的「第二层」协议,譬如闪电网络、状态通道技术或者 Plasma 让小部分用户彼此间进行「链下」交易。这意味着所有中途状态存储在这些用户间,主区块链上只会定期写入状态变化。因此中途状态对外部观察者而言是隐形的,因为它们从未写入主区块链。当然第二层协议本身也能有 也可以选择没有 面向所有用户而对链下状态进行不同层级的隐私保护,所以这更多是由设计理念而不是隐私保护技术决定的事情。因此我们不会进一步重点关注第二层协议,虽然在感兴趣的读者眼中,里面可以挖掘的内容浩如烟海。

关于「第二层」协议相关发展的具体详情,推荐参看链闻之前发表的文章:「以太坊不再是唯一选择,第二层项目面临新生态抢亲大战」

混合方式

混合方式是在交易的输入和输出采取不同的隐私保护策略,将其融合成一个大的交易,故意把发送者和接受者的地址联系变得模糊。这包括了加密世界中部分最古老的隐私保护策略,譬如 tumblers、CoinJoin、Mimblewimble 和门罗币等。

零知识证明

当协议用户提供零知识证明,就有了零知识证明基础上的隐私保护,譬如,在不显示某消息本身的基础上展示知晓该消息。当应用正确时,这种加密技术可以同时保障交易 / 状态的隐私,以及区块链功能完备。

关于「零知识证明」相关知识,推荐参看链闻之前发表的文章:「一个数独引发的惨案:什么是零知识证明 Zero-Knowledge Proof」

用户的最佳实践

即便是使用那些不附加任何隐私保护功能的加密货币,用户也有办法在一定程度上抵御网络安全威胁和区块链分析技术。为了抵御恶意者利用网络元数据对用户进行匿名攻击,用户可以使用 Tor 或者 I2P 来掩盖其交易的原始 IP。为了抵御区块链分析,一般建议用户为收到的每笔款项更换一个新地址。门罗和 Verge 等加密货币提供了这种功能,作为一个原生选项,当然,在部分加密货币中,这些地址依然能与用户之后的操作关联起来。

可信执行环境 TEE

可信执行环境是一个处理器,譬如英特尔 SGX,其宣称能用密码技术保护上面运行数据和代码的健全性和机密性。包括 Ekiden 由宋晓冬教授领军的 Oasis Labs 将其商业化运作 在内的几个协议宣称将采用可信执行环境。譬如,用户账户余额可以被私钥加密,存储在可信执行环境中,它们只能在「可信执行环境」中解密和修改。这其实是把确保隐私保护的责任交给了可信执行环境,而可信执行环境本身可能也有其弱点。譬如侧链攻击或许能破解出私钥,英特尔 SGX 稍早爆出了此类漏洞,另外,现有的可信执行环境可能需要制造商的许可,或者允许制造商破解数据机密性,当然,Keystone 和 Gradient 等替代方案试图解决这一问题。

关于宋晓冬教授创立的基于基于可信执行环境的区块链项目 Oasis Labs 的具体发展,推荐参看链闻之前报道:「揭秘 Oasis Labs:顶级基金站台、号称超越以太坊,它究竟凭什么?」

总之,当考虑加密货币的隐私保护时,不要使用「我们的币比他们的币更具隐秘性」等含混不清的表述。我们建议尽量去搞清楚以下问题:有关世界的 哪些 状态信息 何时 受到 何种程度的 隐私保护?对 哪些 人保密?这可以让我们更具针对性分析隐私保护技术以及它们进行的交易。

By Yi Sun,Yan Zhang,

什么是闪电网络支付通道

闪电网络是一种去中心化的链下技术方案,可支持每秒上万笔交易并发,接近于 Visa 系统能做到的程度(举个例子)。而在当前的比特币(世界上最流行的密码学货币)区块链上,只能支持每秒处理约 7 笔事务,还要付出高昂的手续费,并等待很长时间来确认交易生效,这些因素都使得用比特币发送小额交易几乎不可能。而闪电网络把这两个问题都解决了

引言

闪电网络是一种支付通道系统,与常见的多签名钱包没有任何区别。所谓开启通道,就是参与方创建一个多签名钱包,并向该钱包充入资金。这个钱包接收到的资金数量就成为这个通道的余额。再然后,参与方之间的后续交易就全部在区块链以外的环境中发生了。任一参与方都能随时关闭这个通道,这时候,最后一笔链下的交易(决定着该通道各参与方的余额)会被发送到区块链上,同时作废掉所有中间的交易,因为所有这些交易都使用同样的交易输出。结果是,我们只需一笔交易来开启通道、一笔交易来关闭通道,中间所有的中间交易都是即时收发的,无需记录在区块链上(因此无需等待)。

(译者注:比特币不是账户里面的余额,是一张张的支票;所有的支票都是由具体的某笔交易创造的;每一张支票都只用一次就会作废(也即只能用在一笔交易中)。交易可以任意分配所用支票的价值来生产任意数量的新支票。)

这样的通道所组成的网络使你可以向网络的另一个参与者发送资金,即使你们之间并无直接的通道。唯一的条件是你们之间要能形成一条 “路径”,即有通道能前后相接地把你和对方联系起来。此外,得益于特殊的智能合约(HTLC,哈希时间锁合约),你不需要信任网络中的任何人,合约会保证安全地交付你支付的资金。

要理解闪电网络是如何运行的,首先要理解的是支付通道的运行以及构成支付通道基础的 HTLC。这些话题都不小,所以我把文章分成了两部分,从解释支付通道的工作原理开始。

支付通道

如上所述,连接两个参与者的支付通道实质就是一个普通的多签名钱包。第一笔交易决定了一个通道的余额,我们称为 “充值事务” 或者 “锚点事务”。这笔交易需要广播到网络中并记录到区块链上,以表明通道开启。

做完了这一步之后,要更新通道双方的余额时,双方就需要手动交换签过名的 “承诺事务”。这些交易本身都是有效的,随时可以发送到比特币网络中,但双方都会暂时保存起来,不会广播出来,除非已准备关闭通道。如此一来,通道内双方的余额状态,一秒内变动几千次也没问题,更新的速度仅受限于双方创建、签名和向对方发送承诺事务的速度。

每次双方交换了一笔新的承诺事务,他们也就把通道的前一个状态作废掉;因此,只有最新的一笔承诺事务可以 “执行”。这样设计的目的是防止某一方欺诈对方,把一个过时的但对自己有利的状态发送的链上来关闭通道。下文我会讲解几种防止这种欺诈的机制。

最后,通道既可以双方一致同意关闭 —— 就是把一笔关闭事务(叫做 “结算事务”)发送到比特币网络中 —— 也可以单方决定关闭,就是把最后一笔承诺事务发送到网络中。这是为了防止某一方离线导致另一方在通道中的余额一直 “锁定” 的情形。

在通道存在的整个生命周期里,只有两笔事务被发到了比特币网络中并记录到了比特币区块链上(就是充值事务和结算事务)。在这两笔事务之间,双方可以交换无数次承诺事务,这些事务都不需要提交到区块链上。

btc

一个简单的支付通道案例

在解释更加复杂的机制之前,我们先来考虑一个简单的、单向的通道的例子。为了简化这个解释,我们假设双方都是诚实的。后面我们会再考虑帮助我们阻止欺诈的机制。

假设一个通道有两个参与者,Emma 和 Fabian。Fabian 提供付费的视频流服务,而观看者通过通道来实现小额支付 —— 每观看一秒就要付出 0.00001 btc,相当于每小时 0.036 btc 。Emma 是一个想看视频的普通用户。

btcEmma 和 Fabian 使用一个特殊的程序来同步播放视频和运行支付通道。Emma 在自己的网络浏览器中启动这个程序,而 Fabian 在自己的服务器上使用同一个程序。这个程序具有一个普通的比特币钱包软件的所有功能,它可以创建和签名交易。支付通道的整个机制可以完全隐藏起来,用户看到的事实就是这个视频是按秒计价的。

现在我们来看看这个付费服务的具体工作流程。一开始,Emma 和 Fabian 要开启通道:建立一个 2-2 的多签名地址。从用户的视角来看,这个程序创建了一个 P2SH 地址(一个多签名钱包)并要求用户充入足以支付一个小时视频服务的资金。Emma 转了 0.036 btc 到这个地址,而这笔交易也就成了所谓的充值事务。

充值事务被打包到某个区块之后,这个通道就算开启了,视频也就开始播放。在第一秒钟,用户创建并签名了一条承诺事务,改变了通道内的余额:现在 Fabian 有了 0.00001 btc,Emma 还剩 0.03599 btc 。这笔事务使用了充值事务的输出,并创建了两个输出,含义就如我们这里所述。从服务商的角度看,程序收到了这笔事务,于是也签上名、连同第一秒的视频发回给 Emma。现在双方都有了一笔对方手动签过名的、反映通道最新状态的承诺事务;如有需要,任何一方都可以把这笔交易发送到比特币网络中。

到了第二秒,Emma 这边的程序又创建了一笔新的承诺事务,使用的同样是充值交易的输出(跟第一笔一样),这一次,承诺事务的第一个输出给了Fabian 0.00002 btc,把 0.03598 给了 Emma。这笔事务用来支付第二秒的视频下载。

我们假设,Emma 看了 10 分钟的视频,然后就退出了。在这段时间里,她签名并发送了 600 笔承诺事务(600 秒的视频)。最后的一笔有两个输出:0.03 btc 给 Emma,和 0.006 给 Fabian。Emma 关闭了通道,把最后一笔承诺事务广播到了比特币网络中作为 结算事务。如此,这个通道只有一头一尾两笔事务记录到了区块链上

btc

免信任的通道

当然,从这个例子来看,一切都好,但这是因为双方都是诚实的。不难想象某些时候,其中一方会欺骗对方,像上面这么简单的设计可能就不够用了。

  • 虽然通道开启着,Emma 还是需要 Fabian 的签名来取出资金,因为这个通道是 2-2 的多签名地址。如果 Fabian 消失了,Emma 的资金可能会永远锁在这个通道里面。
  • 虽然通道开启着,Emma 可以使用任何一笔双方都签过名的承诺事务。在观看视频 10 分钟之后,她可以拿第一笔承诺交易上链,完全不需要经过 Fabian 的再次同意。

时间锁

这些问题的一种解决方案是在承诺事务中使用时间锁(事务层面的时间锁(nLocktime))。为了保证资金不会在通道中永远锁定,Emma 使用她的充值事务的输出创建了一个退款事务。她先给 Fabian 发送这笔事务,等 Fabian 签名并发回后,Emma 才把充值事务广播到比特币网络中,开启他们的通道。

这笔退款事务也成了第一笔承诺事务,而且它的时间锁为通道设置了一个存在时间的上限。假设 Emma 把时间锁设置为 30 天(4320 个比特币区块)(即 30 天之后这笔事务才能记录到区块链上)。接下来所有的承诺事务,所设置的时间锁会一个比一个短,这样更新的事务就能更早广播到网络中。

现在 Emma 不用再担心了,她知道即使 Fabian 玩失踪,她也可以在 30 天之后取回自己的资金(如果这是一条双向的支付通道,即 Fabian 也会存钱进去,那他也从自己的角度提出一笔退款事务)。

btc每一笔新的承诺事务的时间锁都比前一笔要短,因此,新一笔承诺事务总是能比旧的更早上链并使旧的事务作废(无法上链),这样就能防止任何一方恶意使用旧的承诺事务。如果一切顺利,Emma 和 Fabian 只需广播双方一致的普通结算事务,因此带时间锁的承诺事务只有一方下线时才会派上用场。

举个例子,如果第一笔承诺事务的时间锁是 4320 个区块,那么第二笔承诺事务可以设成 4319 个区块,以此类推。如此一来,第 600 笔承诺事务可以比第一笔承诺事务早 600个区块上链。

btc你可能也注意到了,这种方法虽然有助于防止某一方把更早的承诺事务上链(欺诈),但它有两个明显的缺点:

  • 第一笔承诺事务的时间锁限制了这个通道的寿命。如果这个时间锁设置的时间太长(比如 1 年),通道可以存在很久,但如果某一方玩失踪,另一方就不得不等待很长时间才能广播最后一笔承诺事务、取回自己的资金。
  • 第一笔承诺事务的时间锁也限制了可以在通道内发生的交易次数。在我们的例子中,这个数值是 4320,这个通道内只能发生 4320 笔事务,因为每一笔新事务都会把时间锁的时间减去 1 个区块。而且,以区块(10 分钟)为间隔,等于是强迫参与方要追踪比特币网络的区块,以免错过什么,以及在情形不对时尽早把最后一笔承诺事务上链。当然,这个间隔是可以延长的,但代价是通道内可以发送的交易数量会变得更少。

因此,时间锁让我们可以作废旧的承诺事务并保证通道双方都可以安全地关闭通道:如果他们都同意通道的最新状态,他们可以发送一笔不带时间锁的结算事务(与最后一笔承诺事务意思相同),关闭通道;如果某一方不在线,另一方也可等待最后一笔承诺的时间锁解锁,然后把该笔承诺事务广播到比特币网络中。

不对称的可撤销承诺

另一种解决上述信任问题的办法是取消早前的承诺事务。实际上,“取消(cancellation)” 这个词是不准确的,因为在比特币网络中,一笔上链的事务(得到区块确认的事务)是永远不可取消的。不过,特殊的构造方式可以使得上链较早的承诺事务无利可图。只需给予各方一个 “撤销密钥(revocation key)” 即可。

假设 Hitesh 和 Irene 决定开启一个通道。双方都充值了 5 btc 到这个通道中,确定了通道的初始余额。现在,双方不是签署同一笔标准的承诺事务,而是各自创建两笔不同的、不对称的承诺事务。

Hitesh 拿到的由 Irene 签名的事务有两个输出,第一个输出不带时间锁,立即给 Irene 支付 5 btc,而第二个输出带有时间锁,支付 5 btc 给 Hitesh,但要等(这笔事务上链后的) 1000 个区块之后,这个输出才能花用。详情如下:

btc

与此同时,Irene 也可拿到由 Hitesh 签名的一个承诺事务,有两个输出:一个立即给 Hitesh 支付 5 btc,另一个输出则给 Irene 支付 5 btc,但要等 1000 个区块之后才能花。

btc

因此,双方都拿到了一笔由对方签名的承诺事务。Hitesh 和 Irene 都可以随时把手上的承诺事务签名后广播出去,但是,一旦这么锁了,另一方都会立即拿到钱,而自己只能等到 1000 个区块之后才能拿到,这可是大大的不利。不过,这还不足以让双方都诚实守信。

btc这就要讲到我们的最后一个功能了,可撤销的密钥,使得任一方如果试图欺诈,对方都可以惩罚 TA,使之血本无归。

如上所述,每一笔承诺事务都有一个 “延后” 的输出,我们把这个输出做得再复杂一点:这个输出既可以被等待了 1000 个区块的承诺事务发送者使用,也可以被通道的另一方使用,如果 TA 持有撤销密钥的话。当 Hitesh 创建承诺事务并交给 Irene 时,他的第二个输出既可以为自己所用(要等待 1000 的区块)也可以为 Irene 使用,如果后者掌握了撤销密钥的话。

Hitesh 会秘密地保管这个密钥,仅当他决定使用新的一笔承诺事务来更新通道内状态时才会发给 Irene。事务的详情如下:

btc

(译者注:看代码会更清晰一些:第一个输出是给立即 Irene 支付 5 btc;第二个输出则是带条件的,既可以使用撤销密钥,立即获得 5 btc,也可在 1000 个区块后,使用 Hitesh 的私钥来使用这个输出。注意这里的 “IF…ELSE…” 式条件,它跟我们在其它的计算机编程中的含义是一样的。)

附带一个例子可能会更容易理解。假设 Irene 希望给 Hitesh 发送 2 btc,这时候他们要更新通道的状态,也就是要创建一笔新的承诺事务。双方各自创建一个不对称的承诺事务,并且,在签名之前,先把上一笔承诺事务的撤销密钥交给对方,如此便 “撤销” 了上一笔承诺事务。如果 Hitesh 希望以通道最后的余额来结算,而 Irene 看着觉得更旧的状态对自己更有利,她可以尝试把自己手中的上一笔承诺事务签名后广播到网络中,但这笔承诺事务的撤销密钥已经暴露给了 Hitesh;如果他发现这笔承诺事务上链了,他有足足 1000 个区块的时间可以把通道内的所有钱都拿走(第一个输出当下就给了他,而第二个输出只需他提供撤销密钥就可以立即使用)(没错,这个 “取消” 的动作没法自动化,Hitesh 必须关注 Irene 是否发送了旧的承诺事务到网络中,然后使用撤销密钥)。

因此,这种使用不对称可撤销承诺的通道的效率要更高,因为它不限制通道的寿命,也不限制交易发送的次数。

By Magomed Aliev

比特币挖完了怎么办?不够用怎么办?

在近期的留言中,很多新入门的小伙伴都在问比特币约四年减半一次,挖完之后怎么办呢?矿工奖励从哪里来,奖励的是什么币?总量恒定不够用了怎么办?今天我们就来聊聊比特币总量和矿工奖励的事情。

 01 比特币总量是多少?是如何得知的?

2009 年,中本聪挖出了比特币的创世区块,生成了 50 个比特币,根据比特币的机制规定:每隔大约 10 分钟会出现下一个区块,每隔约 210000 个区块奖励就会减半。

也就是说,前 210000 个区块的奖励是 50 个比特币;从第 210001 区块到第 420000 区块,每个区块的奖励则是 25 个比特币。按照每个区块的产出时间约为 10 分钟计算,每 210000 个区块的产出时间大约是 4 年,即常提到的 4 年减半。

四年一次变化,每个四年间都会产生约 21 万个区块。第一个四年每个区块是 50 个比特币,;第二个四年每个区块是 25 比特币;第三个四年每个区块是12.5 比特币,以此类推直到全部被挖完。

也就是(50+25+12.5+6.25+3.125+1.5625+……+0.00000001 )×2100≈210000,直到约 2140 年左右全部挖完。

 02 除了比特币,别的Token可以挖吗?

除了比特币,别的Token也是可以挖的。不过不同的矿机可以挖的Token不同,如果两种Token的算法机制相同,则可以用一个矿机挖不同的币。

否则,是没办法用一台矿机同时挖不同类型的Token种类,或者挖矿效率很低,因为矿机都是根据特定算法定制的。

另外,矿工挖比特币奖励的就会是比特币,挖莱特币就会奖励莱特币,所以奖励的Token取决于你挖的是什么。

 03 挖完之后不够用怎么办?

各国无限制的发行货币导致钱变得越来越不值钱,比特币的出现给通货膨胀的这一问题带来了解决方向。

随着它越来越为公众所熟知,比特币总量恒定 2100 万,可以避免通货膨胀,以后如果成功了,要大量应用,即便在 2140 年左右全挖出来,不够用怎么办,会不会导致通货紧缩呢?

前面介绍过,比特币的最小单位是聪,只有一枚比特币的亿分之一,比特币的价值是可以细分到很小的,短期内是不必担心的。

另外,假若真到了 2140 年,面临挖完的局面,比特币是只是数字货币发展至今的一种形式,除此之外,还有以太坊等可以使用。但如果可以无限制增发,又会和法币一样了,失去了其价值。

另外,比特币挖完之后的矿工奖励问题,中本聪曾提过,只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费。

因此,即便Token都被挖完了,矿工到时候也可以通过手续费继续维护整个网络系统。

比特币能够被分割。作为一种电子货币,分割实在是太容易了。10元纸钞可以换成10张1元的,1元的可以换成10张1角的,但你现在找不到1分纸币了,总不能把1分撕成10张吧。受限于实体货币,即使电子银行普及,你帐户里面的数字依然不会出现很多位的小数。比特币能够被细分,你不必担心 2100 万比特币不够流通用 比特币在目前的数据结构下,最小单位是 0.00000001 比特币,即“1 聪”,之上还有微比特(0.000001 比特币)、 毫比特(0.001 比特币)和比特分(0.01 比特币)三个单位。如果将来有需要的话,比特币还可以考虑更小的分区单 位。货币能分割成小块意味着流通更容易,不会有货币太少不够流通用的担忧。

By 白话区块链

比特币交易的原理

比特币的交易是一种无需信任中介参与的P2P(Peer-to-peer)交易。

传统的电子交易,交易双方必须通过银行这样的信任机构作为中介,这样可以保证交易的安全性,因为银行记录了交易双方的账户资金,能保证在一笔交易中,要么保证成功,要么交易无效,不存在一方到账而另一方没有付款的情况

但是在比特币这种去中心化的P2P网络中,并没有一个类似银行这样的信任机构存在,要想在两个节点之间达成交易,就必须实现一种在零信任的情况下安全交易的机制。

创建交易有两种方法:我们假设小明和小红希望达成一笔交易,一种创建交易的方法是小红声称小明给了他1万块钱,显然这是不可信的

还有一种创建交易的方法是:小明声称他给了小红一万块钱,只要能验证这个声明确实是小明作出的,并且小明真的有1万块钱,那么这笔交易就被认为是有效的

数字签名

如何验证这个声明确实是小明作出的呢?数字签名就可以验证这个声明是否是小明做的,并且,一旦验证通过,小明是无法抵赖的。

在比特币交易中,付款方就是通过数字签名来证明自己拥有某一笔比特币,并且,要把这笔比特币转移给指定的收款方。

使用签名是为了验证某个声明确实是由某个人做出的。例如,在付款合同中签名,可以通过验证笔迹的方式核对身份:

而在计算机中,用密码学理论设计的数字签名算法比验证笔迹更加可信。使用数字签名时,每个人都可以自己生成一个秘钥对,这个秘钥对包含一个私钥和一个公钥:私钥被称为Secret Key或者Private Key,私钥必须严格保密,不能泄漏给其他人;公钥被称为Public Key,可以公开给任何人:

当私钥持有人,例如,小明希望对某个消息签名的时候,他可以用自己的私钥对消息进行签名,然后,把消息、签名和自己的公钥发送出去:

其他任何人都可以通过小明的公钥对这个签名进行验证,如果验证通过,可以肯定,该消息是小明发出的。

数字签名算法在电子商务、在线支付这些领域有非常重要的作用:

首先,签名不可伪造,因为私钥只有签名人自己知道,所以其他人无法伪造签名。

其次,消息不可篡改,如果原始消息被人篡改了,那么对签名进行验证将失败。

最后,签名不可抵赖。如果对签名进行验证通过了,那么,该消息肯定是由签名人自己发出的,他不能抵赖自己曾经发过这一条消息。 数字签名的三个作用:防伪造,防篡改,防抵赖。

数字签名算法

常用的数字签名算法有:RSA算法,DSA算法和ECDSA算法。比特币采用的签名算法是椭圆曲线签名算法:ECDSA,使用的椭圆曲线是一个已经定义好的标准曲线secp256k1:

比特币采用的ECDSA签名算法需要一个私钥和公钥组成的秘钥对:私钥本质上就是一个1~2256的随机数,公钥是由私钥根据ECDSA算法推算出来的,通过私钥可以很容易推算出公钥,所以不必保存公钥,但是,通过公钥无法反推私钥,只能暴力破解。

比特币的私钥是一个随机的非常大的256位整数。它的上限,确切地说,比2256要稍微小一点:

0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140

而比特币的公钥是根据私钥推算出的两个256位整数

如果用银行卡作比较的话,比特币的公钥相当于银行卡卡号,它是两个256位整数:

比特币的私钥相当于银行卡密码,它是一个256位整数:

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

银行卡的卡号由银行指定,银行卡的密码可以由用户随时修改。而比特币“卡”和银行卡的不同点在于:密码(实际上是私钥)由用户先确定下来,然后计算出“卡号”(实际上是公钥),即卡号是由密码通过ECDSA算法推导出来的,不能更换密码,因为更换密码实际上相当于创建了一张新卡片。

由于比特币账本是全网公开的,所以,任何人都可以根据公钥查询余额,但是,不知道持卡人是谁。这就是比特币的匿名特性。 如果丢失了私钥,就永远无法花费对应公钥的比特币!

丢失了私钥和忘记银行卡密码不一样,忘记银行卡密码可以拿身份证到银行重新设置一个密码,因为密码是存储在银行的计算机中的,而比特币的P2P网络不存在中央节点,私钥只有持有人自己知道,因此,丢失了私钥,对应的比特币就永远无法花费。如果私钥被盗,黑客就可以花费对应公钥的比特币,并且这是无法追回的。

比特币私钥的安全性在于如何生成一个安全的256位的随机数。不要试图自己想一个随机数,而是应当使用编程语言提供的安全随机数算法,但绝对不能使用伪随机数。 绝不能自己想一个私钥或者使用伪随机数创建私钥!

那有没有可能猜到别人的私钥呢?这是不可能的。2256是一个非常大的数,它已经远远超过了整个银河系的原子总数。绝大多数人对数字大小的直觉是线性增长的,所以256这个数看起来不大,但是指数增长的2256是一个非常巨大的天文数字。

比特币钱包

比特币钱包实际上就是帮助用户管理私钥的软件。因为比特币的钱包是给普通用户使用的,它有几种分类:

  • 本地钱包:是把私钥保存在本地计算机硬盘上的钱包软件,如Electrum
  • 手机钱包:和本地钱包类似,但可以直接在手机上运行,如Bitpay
  • 在线钱包:是把私钥委托给第三方在线服务商保存;
  • 纸钱包:是指把私钥打印出来保存在纸上;
  • 脑钱包:是指把私钥记在自己脑袋里。

对大多数普通用户来说,想要记住私钥非常困难,所以强烈不建议使用脑钱包

和银行账户不同,比特币网络没有账户的概念,任何人都可以从区块链查询到任意公钥对应的比特币余额,但是,并不知道这些公钥是由谁持有的,也就无法根据用户查询比特币余额。

作为用户,可以生成任意数量的私钥-公钥对,公钥是接收别人转账的地址,而私钥是花费比特币的唯一手段,钱包程序可以帮助用户管理私钥-公钥对。

交易

我们再来看记录在区块链上的交易。每个区块都记录了至少一笔交易,一笔交易就是把一定金额的比特币从一个输入转移到一个输出:

例如,小明把两个比特币转移给小红,这笔交易的输入是小明,输出就是小红。实际记录的是双方的公钥地址。

如果小明有50个比特币,他要转给小红两个比特币,那么剩下的48个比特币应该记录在哪?比特币协议规定一个输出必须一次性花完。所以,小明给小红的两个比特币的交易必须表示成:

小明给小红2个比特币,同时小明又给自己48个比特币,这48个比特币就是找零。所以,一个交易中,一个输入可以对应多个输出。

当小红有两笔收入时,一笔2.0,一笔1.5,她想给小白转3.5比特币时,就不能单用一笔输出,她必须把两笔钱合起来再花掉,这种情况就是一个交易对应多个输入和1个输出

如果存在找零,这笔交易就既包含多个输入也包含多个输出

在实际的交易中,输入比输出要稍微大一点点,这个差额就是隐含的交易费用,交易费用会算入当前区块的矿工收入中作为矿工奖励的一部分:

计算出的交易费用:

交易费用 = 输入 - 输出 = (2.0 + 1.5) - (2.99 + 0.49) = 3.5 - 3.48 = 0.02

比特币实际的交易记录是由一系列交易构成,每一个交易都包含一个或多个输入,以及一个或多个输出。未花费的输出被称为UTXO(Unspent Transaction Ouptut)。

当我们要简单验证某个交易的时候,例如,对于交易f36abd,它记录的输入是3f96ab,索引号是1(索引号从0开始,0表示第一个输出,1表示第二个输出,以此类推),我们就根据3f96ab找到前面已发生的交易,再根据索引号找到对应的输出是0.5个比特币,所以,这笔交易的输入总计是0.5个比特币,输出分别是0.4个比特币和0.09个比特币,隐含的交易费用是0.01个比特币:

小结

比特币使用数字签名保证零信任的可靠P2P交易:

  • 私钥是花费比特币的唯一手段;
  • 钱包软件是用来帮助用户管理私钥;
  • 所有交易被记录在区块链中,可以通过公钥查询所有交易信息。

By 廖雪峰

如何计算投资回报率

Basic Rate of Return

最naive的想法是,计算投资回报率就直接把一段时间内的利润除以本金即可,即:

Basic Return = (EV – BV) / BV

其中EV是Ending Value, BV是Beginning Value。但是有资金的流入流出怎么办?最naive的方法就是把净资金流入算作本金,即:

Basic Return = [EV – (BV+CF)] / (BV+CF)

其中CF是 Net Cash Flow。这样计算,最大的好处自然是简单粗暴;但是有一个致命问题就是,当资金流入流出很多或很大的时候,会让结果变得不准确。

举一个简单而极端的例子:假设年初投入本金$1千,某一天投入资金$1百万,一天后涨了1%赚了$1万之后把这$1百万撤走了,到了年末的时候,投资的股票价格正好跌回和年初一样。这样的话,这一年中净资金流入CF为0,本金BV为$1千,而EV是$1.1万,最后计算回报率的时候如果按上面公式计算分母(BV+CF)是$1千,于是回报率1000%。显然,这个结果没有任何意义。

大家每个月都有新的收入进来,都会投入到股市当中,因此资金的流入流出肯定是投资的重要一部分,因此 Basic Rate of Return 这种计算投资回报率的方式基本上可以说是错误计算方式了。而正确的计算方式有两种:时间加权收益率 Time-Weighted Return (TWR) 和内部收益率 Internal Rate of Return (IRR)。

Time-Weighted Return (TWR) 时间加权收益率

Time-Weighted Return (TWR) 时间加权收益率的宗旨是把整个时间段分成一个个小的时间段,在每个小时间段内资金流入流出为0,然后再把各个是简单的回报率相乘得到总的投资回报率。写成公式就是:

TWR = (1 + m1) * (1 + m2) * …* (1 + mN) – 1

其中mi为每一个小是简单的收益率。貌似通常小时间段的选取是一个月,但是随着信息时代的到来不需要手工计算了其实划分成一天甚至更短更靠谱一点。

TWR这种计算投资回报率的方式意图去掉资金量大小对投资回报率的影响。继续看上一段举的那个极端例子,如果小时间段的选取是一天,那么TWR计算出来的回报率就是一个不到1%的很小的数字了。

TWR这种计算方式的好处是便于和benchmark(例如SP500基金)进行比较。

Internal Rate of Return (IRR) 内部收益率

TWR固然方便和benchmark进行比较,但是忽略掉资金流入流出的影响也让它有很重要的缺陷。假设一年11个月收益都是正的,只有1个月的收益是负的,结果投资人很不幸就是在那回报为负的一个月加了重仓,就有可能导致这样的结果:TWR收益是正的,但是其实这位投资者这一年却赔了不少钱。这时就要引入另一种计算方式,内部收益率 Internal Rate of Return (IRR),或者叫金钱加权收益率 Money-Weighted Return (MWR)。

内部收益率 Internal Rate of Return (IRR) 的宗旨是给重仓的时间更大的权重,轻仓的时间更低的权重。其具体计算方式稍微有点复杂,为了避免误导我这里还是直接引用阅微堂写的介绍吧:

将初始投入视为现金流入(大于 0 ),期末资产视为现金流出(小于 0 ),那么 IRR 即使得现金流的现值等于 0 的折现率。我们使用下述公式:∑𝑖=1𝑇𝑓𝑡𝑖(1+𝑟)−𝑡𝑖=0

其中𝑓𝑡𝑖为时间点𝑡𝑖上的现金流,𝑟即 IRR。在 IRR 的计算中,钱在不同时候收益率是一样的。并且它只对期间整体进行定义,分期的收益率和整体的收益率并无直接的关系。上述的定义较为复杂,掩盖了 IRR 的一些本质。事实上,IRR 近似等于收益额除以平均占用资金。这里平均占用资金是指各期占用资金的算术平均值。

IRR 这种计算方式的好处是能体现出投资者择时的影响,能反应出真实的总个人得失,但是拿 IRR 和 SP500 直接比较就比较不合理了。

如何查看/计算自己的投资收益率

在券商的界面中,他们总是会给出一个Portfolio Performance,大家可以仔细看看说明页他们给出的到底是哪个数字。例如下图是Schwab的界面,点开设置的话发现这俩都能选择,其中默认选择是 TWR。M1finance显示的回报率数字则是 IRR,不能更改。

如果你的投资分散在几个不同的券商中,则单一券商显示的结果就不完整了,这时需要自己计算。TWR 的计算需要完整的每天的余额或者需要全部交易记录,如果没有自动化工具的话计算起来会相当繁琐,不过只要你不是准备自己开基金的话那其实还是 IRR 对你更有意义一点。

计算 IRR 的话可以自己建一个Excel表格,然后在各个券商中找到activities页面把该时间段内所有资金进出和对应的日期填入Excel,然后用XIRR函数计算即可。以及需要该时间段起始日期时候的余额,以及结束日期时候的余额(需要添加一个负号填入)。注意IRR的计算并不需要导入交易记录也不需要知道每日余额(当然,该时间段开始和结束这两天的余额需要填入)。一个简单的例子见下面的截图:

总结

TWR 和 IRR 这两种计算方式,一个侧重反应投资策略本身的回报试图避免资金流入流出的影响,一个侧重考虑不同时间仓位轻重的影响反应总的个人得失。总的来说,这两种计算方式都是有意义的,但是看待这个数字的时候应该清楚自己的目的是什么以便选择更合理的那一个。

By physixfan

盘点区块链和比特币的认知的误区

十年来,区块链和比特币一直相辅相成,共荣共生,开创了继互联网之后的又一个新技术时代。可以说,区块链造就了比特币,比特币也成就了区块链。

但这十年来,外界对于区块链和加密货币的误解从未间断过。在这篇文章中,我们选出最典型的7个认知误区,为你解答——

误区1:区块链=炒比特币

这可以说是大多数人对区块链的第一大误区!

2017年比特币的爆炸式繁荣,让投资者们看到了这样一片新兴的蓝海,纷纷进场捞金。这也造成了大家对区块链的第一印象——区块链,仅仅只是炒币投机。

但是,比特币只是区块链技术的一个应用场景,就像支付宝是互联网金融的一个产物一样。现在在数字货币的市场上交易的不仅仅只有比特币还有以太坊,以及其他的数字货币,就跟传统证券市场的股票一样。

关于区块链和比特币的7大误区配图(1)

除此之外,BATJ等各种国内外互联网巨头都致力于区块链技术应用的研究,目前已落地了产品溯源、电子存证、公益等方面,也让社会逐渐开始发现区块链所带来的利好。

误区2:区块链上的数据是绝对安全的

这也是一个最常见的误区。很多人包括一些浸淫了币圈许久的币民,都认为区块链中的数据是通过加密方式进行存储的,是“绝对安全的”,所以可以将银行账户、一些重要的密码等等存储到区块链上。

但事实却是,“绝对安全”,是不存在的。

在公链中,区块链中存储的数据对于每一个节点或者个人都是公开可见的,这意味着,只要在这条链上,任何人都可以查看链上存储的数据!

区块链所说的“数据安全”,只是表示“数据是无法被篡改的”,任何人没有修改数据的权利,仅此而已。因此区块链上也并不适合存储个人的敏感信息。

误区3:区块链适合存储大量数据

区块链的分布式特性,意味着区块链网络上的每个节点都有着区块链的完整副本。如果把区块链用来存储例如视频这种大型文件的话,那么节点处理起来将非常困难,从而导致效率低下。

关于区块链和比特币的7大误区配图(2)

因此,遇到这种情况时,一般会将大型的数据文件存储在别的地方,然后再将数据的地址存储在区块链上。

误区4:智能合约是存储在区块链上的现实合约

实际上,智能合约跟现实世界的合约是完全没有关系的。智能合约是可以存储在区块链上,已经编写完成并可以执行的计算机程序。

智能合约是用编程语言编写的,比如以太坊是用的Solidity,通过以太坊虚拟机这个代码运行环境,智能合约能够在以太坊的区块链上运行,实现功能扩展。

而被称为加密货币1.0的比特币比较单纯,没有智能合约这个概念,自然也没有办法在比特币的链上创建智能合约,也开发不了DAPP应用。

因此,智能合约是可以依照预设条件自动执行的计算机程序,但只限于在区块链之内,同时预设的条件亦必须为区块链技术所能验证的。

误区5:比特币跟硬币的性质是一样的

比特币是第一个基于区块链系统的Token,在现实世界中它并不存在实体。在区块链世界里,它仅仅作为交易记录而存在。

关于区块链和比特币的7大误区配图(3)

简而言之,硬币只有一种效用——作为一种简单的价值储存手段。而Token可以存储复杂的值,如属性、效用、收入和可替代性,性质其实并不一样。

如果你想要购买、发送和接收比特币,与比特币区块链产生交互,那么你只需要一个比特币钱包,这个钱包只是一个地址、一个密钥,产生交互的比特币则是一条有效的交易记录,允许节点进行验证。

就比如一个矿工进行算力挖矿,获得了12.5个比特币的奖励,这12.5个比特币唯一的有效记录是转入了矿工的钱包里,并不会有实体呈现。

误区6:比特币成不了主流货币,是因为政府

比特币目前存在的最大问题是其固有的可扩展性问题。

在中本聪的设计里,比特币区块链上出一个块需要大约10分钟,并且每个区块的大小限制在1MB以内,这就造成了比特币这条链目前每秒只能处理7次交易!这使得比特币非常适用于转账汇款这种不需要立即进行交易确认的用途。

而作为加密货币2.0的以太坊,目前也只能达到20次/秒的TPS。相比之下,2017年双11支付宝最高完成每秒处理25.6万笔交易,visa和paypal的处理速度也远超比特币和以太坊。

关于区块链和比特币的7大误区配图(4)

因此,比特币目前无法成为主流货币的主因,并不是因为政府、监管和法规的限制,而是其固有的可扩展性问题,让它无法真正在普罗大众之间实现实时、方便的交易和流通。

误区7:区块链可以应用于全行业

区块链技术,有人理解为第四次工业革命,也有人把他看作是互联网发展的迭代。无论怎么说,这是技术发展的大进步,凝聚在这技术上的价值也有待探索。

虽然区块链技术是一个新进步,但也不是所有行业都需要区块链。短期来看区块链并不能用于全部的生活领域。现在做一个区块链的项目成本并不低,而这方面的人才,又相当稀缺,市场经济下,他们只会往收益更好的项目走。

而中国特色的“无币区块链”,也会逐渐被BATJ这种巨头所垄断,小型区块链企业想落地应用将会变得愈加困难。

人类发明了技术,技术也会回馈于人类。有很多理由认为,区块链将越来越成为许多行业中使用的重要基础架构,远远超出加密货币和金融服务领域。

区块链不能解决所有的社会信任问题,是否能完全“去中心化”也是一个问号,但在不断的被误解中,在不断的认知推进中,区块链在变得越来越圆滑,也越来越适应这个时代。

By 比特吴

以太坊手续费为什么这么高?

gas到底是什么?为什么现在以太坊网络上的交易费用这么高?有哪些方法可以降低交易费用?您将在本文中找到这些问题的答案。

让我们先从gas到底是什么开始讲起吧。

什么是gas?

gas是用于测量在以太坊区块链上执行特定操作所需的计算工作量的单位。

这个名字本身并不是偶然选定的。gas其实类似于汽油,后者作为汽车的能量保证汽车可以正常行驶,以太坊网络上的gas为交易行为进行“加油”,并允许用户执行不同的操作。

在以太坊区块链上的每一个操作,或者准确地说在以太坊虚拟机(EVM)上的每一个操作都有一个相对应的gas成本。例如:将两个数字相加要花费3个gas;获取账户余额会花费400个gas;发送一笔交易花费21000个gas。

智能合约通常包括多个操作,这些操作加起来甚至可以花费数十万gas。

有趣的是,gas价格本身并不能告诉我们在某笔交易中需要支付多少钱。要计算交易费用,我们必须将gas的乘以gas价格。

gas的价格单位为gwei,,gwei的单位比ether要小,1 gwei等于0.000000001 ETH。我们可以把它们之间的关系看成是美分和美元。

例如,假设我们想发送一笔简单的以太坊交易,如果ETH的价格为1800美元。大多数流行的以太坊钱包(如Metamask)会估算必要的gas价格,并允许我们在快速、中等和慢速交易确认速度之间进行选择。让我们假设如果我们想在一分钟内确认我们的交易,钱包估计gas价格将设置为100gwei。

我们现在可以快速计算出,这样一笔交易我们需要支付3.78美元。我们将发送一笔交易的gas成本(2.1万gas)和gas价格(100gwei)相乘,就等于2100000 gwei,也就是0.0021 ETH。在ETH价格为1800美元时,这笔交易的手续费是3.78美元。

ETH的价格和gas之间有什么联系

值得一提的是,gas只是一个抽象单位,它仅存在于以太坊虚拟机中,用户实际上总是在以太坊网络中支付交易。

使用单独的单位来度量计算工作的主要原因是这样可以将其与ETH的价格进行分离。

这意味着ETH价格的增加不会改变交易成本。如果网络活动保持不变,而随着ETH的价格上升,我们应该会看到gas价格的下降,因此以ETH衡量的最终交易成本应该保持不变(美元价值)。

但是ETH的价格上涨通常与以太坊网络上活动的增加相关,这杨就会增加交易成本。

现在,让我们看看网络活动的增加究竟是如何导致交易成本上升的。

首先,所有的交易都被发送到以太坊的内存池(mempool)中。所有没有处理的交易都在等待矿工们将它们取走,并将它们打包到下一个以太坊网络的区块中。

矿工由于受到激励,会首先选择gas价格最高的交易,因为他们通常会在固定的工作时间中选择价格更高的交易。

以太坊的协议也限制了矿工们挖出一个区块中可以包含多少笔交易。这是由每个区块的最大gas限制决定的。在撰写本文时,这个限制被设置为12.5M gas。

举个简单的例子,我们假设内存池中只有简单的ETH交易,每个交易花费21000 gas。一个矿工可以打包595个这样的交易。假设内存池中有1000个待处理的交易,矿工将通过按gas价格对所有待处理的交易进行排序并选择595个付费更高的交易进行打包。

目前的收费模式基于的是一种简单的拍卖机制,希望自己的交易被矿工处理的用户首先必须以高于其他人的加以费用获得区块中的位置。这样反过来又推高了gas的费用,尤其是当很多用户有紧急交易需要确认的时候。

我们为什么需要gas

为了更好的解释gas,我们需要首先理解为什么gas会存在。以太坊虚拟机作为一个图灵完备的机器,它允许执行任意代码。虽然这是使以太坊如此强大的主要原因之一,但它也更容易受到halting problem的影响。halting problem是指从一个任意计算机程序的代码和输入来确定该程序是会结束运行,还是会永远继续运行。

如果没有gas,用户就可以执行一个永远不会停止的程序,其中的原因可能是代码有问题,也可能是有人作恶。为了防止这种情况发生,以太坊引入了与每个操作相关的gas成本,这将防止程序处于永远运行的状态,最终使整个网络陷入停滞状态。

除了gas价格,每笔交易也有一个gas限制,它必须等于或高于成功执行特定交易所需的预期gas数量。

以太坊虚拟机在执行事务中的每个操作之前,会检查是否有足够的剩余空间用于该操作。如果剩余的gas不够,则使用“out of gas”来还原整个交易,并回滚所有状态。即使交易失败,用户仍将为矿工已完成的工作量支付交易费用。这也是为了避免人们发起对网络的恶意攻击。

如果交易消耗的gas比最初预期的少,那么剩余的gas被转换为ETH并退还给发送者。

同样重要的是,以太坊上的所有操作都要有正确的gas成本;否则,它可能成为另一个攻击目标。其中一起攻击发生在2016年,这导致以太坊网络的硬分叉,最终系统重新对某些简单的操作进行了定价。

现在,由于我们对gas有了更多的了解,让我们来看看最近一段时间交易费用上涨的情况,以及一些可以降低现在和未来交易成本的解决方案。

以太坊的高额费用

随着去中心化交易所(DEX)创纪录的交易量,DeFi借贷平台锁定总价值越走越高,很多Yield Farming的项目创造出了很多机会,并且网络上制造出来的NFT(非同质化代币)越来越多,以太坊网络异常繁忙。

这导致了人们对区块空间的极高需求,也反过来推高了交易成本。

支付超过10美元的ERC20转账或支付50-100美元的Uniswap交易已经司同见惯了。当然,收费过高并不是好事儿,因为它让小玩家很难参与以太坊的生态系统。

幸运的是,已经有多种解决方案可用,或者正在积极地研究。让我们来看看其中一些最重要的解决方案吧。

第2层扩展方案和Eth2

第2层扩展方案是一种解决方案的术语,它通过处理链下交易来帮助提高主要以太坊链(第1层)的能力。除了提高交易速度和交易吞吐量外,第二层解决方案还可以大大降低交易费用。

Loopring就是一个很好的例子,它是建立在第二层网络上的去中心化交易所。该平台最近锁定的总价值达到了2亿美元,日交易量超过1000了万美元。

另一个项目Matic近期刚改名为Polygon,它在Plasma+PoS链上的锁仓量也超过了2000万美元。

一种更通用的解决方案——基于optimistic rollups的Optimism也正在推出当中。它的推出非常重要,因为它将允许DeFi智能合约以类似于它们在主网上的交互方式在第二层网络上进行交互。

可以进一步增加第2层解决方案采用的方式是直接参与现有的第2层网络项目。这可以进一步降低交易成本,因为用户可以直接将他们的ETH从交易所转移到第二层解决方案,如Loopring。

如果您想了解更多关于第2层扩展的信息,请查看这篇文章

除了第二层扩展方案,从长远来看,另一个可以降低交易成本的解决方案是Eth2,它引入了分片(sharding)技术和权益证明(PoS)机制。您可以在这里了解更多有关这些概念‌的信息。

EIP– 1559

EIP-1559是优化交易成本的另一个解决方案。

尽管该提议不会对降低交易成本产生直接影响,但它将通过调整费用峰值和限制超额支付交易的数量来优化收费模式。这将使交易费用更容易预测。

EIP-1559有望在2021年初实现。

优化gas的使用

除了使用第2层的扩展解决方案和等待其他改进之外,还有一些其他的技巧可以帮助我们降低主网的交易成本。

首先,如果我们没有任何紧急交易,我们可以尝试找到一天中gas价格最低的时间。

除此之外,我们应该经常通过另一个可靠的来源(如https://ethgasstation.info/)来检查我们钱包里预估的gas费用。

交易所1Inch使用的另一个技巧是降低CHI代币的交易费用。这些代币必须在主要操作的同时燃烧,这允许减少交易中花费的gas总量。

这可以通过利用以太坊虚拟机的机制实现,该机制在释放存储空间时退还gas。当CHI代币生成时,以太坊网络上的虚拟智能合约就会被创建。燃烧gas会破坏这些合约,并产生gas的退款。

By 巴比特

套利的详细分析

谁不喜欢赚钱呢?

如果您可以把赚钱的问题变成寻找最短路径的问题呢?我们至少可以通过一种特定的方式来做到这一点:通过利用套利机会。

什么是套利?

套利是指在不同市场或以不同形式交易商品从价格差异中获利的行为。那些参与其中的人呢?他们被称为套利者,这确实是一个花哨的头衔。

让我们从一个例子开始。假设保罗、彼得和鲍勃住在一个村子里,他们用胡萝卜、土豆和生菜交换食物。鲍勃用土豆换胡萝卜,彼得用生菜换土豆,保罗用生菜换胡萝卜。

此外,鲍勃用2个土豆换1个胡萝卜,彼得用1个生菜换2个土豆,保罗用2个胡萝卜换1个生菜。如果我们将每个人都视为各自产品的市场,那么汇率会是怎样的呢?

您觉得有机会吗?

作为一个有进取心的人,您可以尝试利用它。从5根胡萝卜开始,你接近保罗,并以他愿意交易的速率将5根胡萝卜换成10个土豆。

接下来,您拿着您的土豆去找彼得,知道他会用5颗生菜来换土豆。然后您带着5颗生菜接近保罗,他用10颗胡萝卜换您的生菜。

经过几次明智的交易后,您的胡萝卜财富增加了一倍。通过利用套利机会,您将5根胡萝卜变成了10根胡萝卜。

后来,村民们可能会开发出更复杂的市场,鲍勃、彼得和保罗并不是唯一的投资者。相反,这个小村庄可以开发一个胡萝卜/生菜市场,生菜/土豆市场,土豆/胡萝卜市场,在这些市场中,每笔交易的汇率将根据人们的交易意愿而波动。

但套利原则保持不变,并且这些机会可以被利用,直到那些愿意以这种汇率进行交易的交易商没有胡萝卜、生菜和土豆可供交易。利用套利机会直到市场达到均衡。

现代套利

当您想到现代市场时,您可能不会考虑交易胡萝卜、土豆和生菜。如果您投资外汇交易,您更可能考虑交易美元、英镑和日元。在这种情况下,我们将面对一个美元/英镑市场,英镑/日元市场,日元/美元市场,每个市场都有很多投资者。从现在开始,让我们用这些货币作为交易的例子,但要记住,这些原则适用于所有可交易的对象。

在给定的时间,汇率如下:

如果您从鲍勃、彼得和保罗的胡萝卜、生菜和土豆交易中学到了什么,您就会发现这里有机会。

如果您用1美元换1英镑,你最终会得到0.8英镑。如果用它来兑换日元,你最终会得到80日元。你把你的日元拿到日元兑美元的兑换处,然后在这里您可以用来兑换美元…但是现在您拥有了1.04美元!

但是在另一个套利者击败你之前,你必须迅速采取行动。这些机会只是暂时存在,直到流动性耗尽,并且利率均衡。

你们当中有感知的人可能注意到,我们在示例中没有考虑到交易费用。当然,您必须把这些因素考虑进去,才能计算出有利可图的套利机会是否真的存在。

快速行动

希望您有一些直觉来理解为什么快速行动是至关重要的。汇率波动很快,而且在这种汇率下只有有限数量的“东西”可供选择。

虽然我们在这里用的是相对简单的例子,但套利机会可以跨越许多交易,变得难以置信地复杂。我们的示例使用了3次交易,但如果您需要10次呢?在一个20种货币的网络中,每对货币都有市场,您能很快找到机会?

使用计算机是一个显而易见的答案,但是我们需要一个高效的算法,以免其他人将我们击败。

要做到这一点,我们可以利用数学和计算机科学中的一些聪明的见解。

市场图

图表是一种非常重要的结构,已经在许多应用中都找到其用途。许多社会和自然结构都可以用图表来建模,事实证明,市场就是其中之一。

在我们的例子中,让我们将每种货币视为一个节点。从一个节点移动到另一个节点相当于用一种货币交换另一种货币。

所以沿着节点之间的一条边移动,就可以通过汇率来转换货币的数量。

这意味着从美元节点移动到英镑节点相当于乘以0.8英镑/美元。让我们把汇率赋值为每条边的权重。

请注意,每个方向上的汇率大约是彼此的倒数。这意味着,如果将英镑兑换美元的汇率是0.8英镑/美元,那么相反的汇率将是1/(0.8英镑/美元)= 1.25美元/英镑。对我们来说,结果是我们需要谨慎对待每个市场上的买卖,将其视为具有不同权重的不同的有向边。

双向汇率只是近似倒数的原因是由于交易货币的价格差异很小,称为买卖差价。例如,如果在给定的时刻,你可以以0.8英镑/美元(某人将向你出售的当前价格)的价格买入英镑,但可以以0.82英镑/美元(或1.22美元/英镑,某人将向你购买的当前价格)的价格出售美元/英镑,那么你的图形模型将如下所示(为了简单起见,不包括其他汇率):

可以通过沿着该图中的边移动来建模一系列的交易,并且通过沿边缘权重乘以边缘权重来计算交易的结果。

看到机会

现在我们有了一个可行的模型,我们在图表中寻找与套利机会相对应的东西是什么?

为了确定一系列交易是否有利可图,我们需要一个一致的盈利指标。换句话说,如果我们以美元开始一系列交易,那么我们也需要以美元结束。通过将最终的金额与开始的金额进行比较,我们就知道它是否有利可图。

在我们的图中,这意味着我们的一系列交易必须在其开始的同一节点结束。在这个例子中,我们从美元节点开始,到美元节点结束。在图表的术语中,我们称其为周期。因此,我们知道我们正在寻找某种周期,但是哪种周期才能使它有利可图?

注意,如果我们沿着周期的边缘相乘,我们将转换成有效汇率的单位。

但是,当我们返回到起始节点时,数量变得没有单位。它从汇率转换为回报率!在我们的图表上遍历一个周期并计算汇率乘积,相当于计算完成一系列交易后将获得的回报率。

如果市场完全有效,我们的收益率abc将是1,因为汇率已经相等了。如果权重的乘积大于1,比如1.02,那么套利机会就会给我们带来2%的回报。

因此,概括为任意数量的交易,套利机会对应以下不等式:

其中e_i对应第i个汇率,对于每一笔交易i,除以n笔交易。

因此我们需要的是一种可以在市场图上找到一个周期的算法,其中边权重的乘积大于1。您可能可以发明一种算法来实现这一点,但在计算机科学中,就像在一般生活中通常将问题简化为您已经知道如何解决的问题是很有用的。

Bellman-Ford算法

寻找最短路径问题是计算机科学中一个普遍且基本的问题,可以应用于许多不同的场景。通过绘制图形和地图之间的对应关系,一个明显的方法是在地图上找到最短的路线。但是,通过一些技巧,许多其他类型的问题也可以转化为最短路径问题。我要证明的是寻找套利机会的问题就是这样的问题之一。

首先,让我们确定最短路径问题是什么。给定图中的两个节点s和t,最短路径是使边缘权重和最短的路径。换句话说,我们沿着从s到t的路径移动,沿途增加了边权重,总和最短的路径是最短路径,成本最小的路径。

接下来,了解不同类别的最短路径问题将很有帮助。在明显的示例中(例如地图上最短的路线),边缘权重必须为正。除非有时间机器,否则开车沿着道路行驶会减少您的旅行时间。在仅具有正边缘权重的图形中,Dijkstra著名的算法将计算到图形中所有节点的最短路径。

但是,没有理由图不能具有负边缘权重。在这种情况下,沿着该边缘移动会减少路径的总成本。但是,如果您的周期的权重为负,那么您可以一直持续遍历该周期-每次都降低路径的总体成本,而最短的路径的成本接近-∞。在这种情况下,对于我们的最短路径算法而言,具有一种确定负权重周期的机制将非常有用。否则,最短的路径将永远陷入负重量循环中。

Bellman-Ford算法正是该算法。Dijkstra的最短路径算法的更通用版本,它可以处理负权重。为此,它检测负权重周期——图形中的周期,将权重相加会产生负值。

但是,当我们需要一个能检测边积大于1的环的算法时,找到边和小于0的环的算法如何帮助我们?

登录救援

下一个观点是,通过使用对数函数可以将乘积转化为总和,这要归功于等式:

因此,我们可以将求积大于1的周期的问题转换为求和大于0的周期的问题 !我们通过获取每个汇率的对数,并将其用作每个边的权重来做到这一点。

让我们通过记录不等式双方的对数来证明这一点。首先,取左边的对数将乘积的计算转化为计算的总和:

右侧的对数只是把1转换为0:

我们已经接近了,但还没有完全达到。最后一步,将我们的问题简化为一个我们可以用这个已知算法解决的问题,就是将每个边的权值乘以-1。这将寻找正负周期的问题变成了寻找负权重周期的问题:

我们知道Bellman-Ford算法可以做到!按照指定的方式构建图形并在其上执行Bellman-Ford算法,将会为我们快速有效地找到套利机会,因为我们已经把套利问题变成了寻找最短路径的问题(即无限最短路径)的问题。

现在看来,一个负权重周期(每次穿越它都会降低路径的成本)与一个套利机会(每次它都会让你获利)之间应该存在对应关系。关键是通过对边缘权重应用-log,将求大于1的乘积的问题转化为求小于0的和的问题。

证明这一点

让我们在汇率上运行此算法,以查看它是否正确识别套利机会。通过对数转换汇率,我们得到:

总结一下交易,我们的平等是成立的,我们发现了一个负权重周期!

我们可以撤消对数运算来恢复乘积,并计算收益:

这就是我们之前计算出4%的回报率。

在现实世界

由于套利机会对应于负权重周期,似乎我们可以永远穿越这个周期来赚无限的钱。当然,事实并非如此。

可用于任何套利机会的流动性(价格显著变化前的可用量)是有限的,并且很快被算法投资者利用,推动计算技术和物理定律的边界互相击败。

话虽如此,我希望您能通过运用图论和众所周知的最短路径算法来解决金融领域的问题(并赚钱),像我一如既往的有趣。

By 已重置

什么是通证Token?

1、Token不是代币,是通证

在网络通讯中,token 的原意是指“令牌、信令”,在以太网成为局域网的普遍协议之前,IBM 曾经推过一个局域网协议,叫做Token Ring Network,令牌环网。网络中的每一个节点轮流传递一个令牌,只有拿到令牌的节点才能通讯。这个令牌,其实就是一种权利,或者说权益证明。随着区块链概念的普及,以及以太坊及其订立的ERC20标准的出现,让任何人都可以基于以太坊发行自定义的token。市面上token被用来做ICO是普遍的做法,因此“token”开始被广泛译为“代币”,并被人们接受。但其实token可以代表任何权益证明岂止于货币,所以token被译为代币是错误的。并且恰恰相反,token可以作为任何权益的证明,但是唯独要代表货币是弊端非常大的。货币即权利,货币即政治,货币权利必须属于国家。我们可以用其他更合理的方式来使用token,或者说一个更恰当的方式来定义,token是可流通的加密数字权益证明,简称通证。

2、通证需要具备三要素:权益、加密、流通

通证有三个要素,缺一不可

第一是数字权益证明,也就是说通证必须是以数字形式存在的权益凭证,它必须代表的是一种权利,一种固有和内在的价值(Intrinsic value) 。

第二是加密,也就是说通证的真实性、防篡改性、保护隐私等能力,由密码学予以保障。每一个通证,就是由密码学保护的一份权利。这种保护,比任何法律、权威和枪炮提供的保护都更坚固、更可靠。

第三是可流通,也就是说通证必须能够在一个网络中流动,从而随时随地可以验证。

3、通证可代表一切权益证明

通证可以代表一切权益证明,从身份证到学历文凭,从货币到票据,从钥匙、门票到积分、卡券,从股票到债券,人类社会全部权益证明,都可以用通证来代表。人类社会的全部文明,可以说就是建立在权益证明之上,所有的账目、所有权、资格、证明等等,全部都是权益证明。就像尤瓦尔·赫拉利在《人类简史》里说的,正是这些“虚构出来的事实”才是智人脱颖而出,建立人类文明的核心原因。如果这些权益证明全部数字化、电子化,并且以密码学来保护和验证其真实性、完整性、隐私性,那么对于人类文明将是一个巨大的翻新。

4、通证与区块链是两件不同的事情,但是彼此之间是最佳拍档

通证是区块链最具特色的应用,不发token,区块链的魅力和威力就大打折扣。不发通证的区块链,比一个分布式数据库好不了多少。

区块链是新世界的后台技术,而通证是新世界的前台经济形态,两件事情完全独立,两件事情同样伟大。区块链为通证提供了坚实的信任基础,它所达到的可信度,是任何传统中心化基础设施都提供不了的,《经济学人》一语道破天机,把区块链称为“信任的机器”。我们可以从以下几点上进行分析,

第一,区块链是个天然的密码学基础设施,在区块链上发行和流转的通证,从 DNA 里就带着密码学的烙印,通证代表着权益,而密码学是对权益最可靠、最坚不可摧的保护。所以区块链上的通证天然就是密码学意义上的安全可信;

第二,区块链是一个交易和流转的基础设施。通证之“通”,就是要具有高流动性,快速交易,快速流转,安全可靠,而这恰恰就是区块链的一个根本能力。有人说区块链是互联网 TCP/IP 之上的价值交换协议。不管这种说法是否全面,它至少准确的把握了一点,区块链天然就是最适合于进行价值交换的基础设施; 第三,区块链是去中心化的,这使得人为篡改记录、阻滞流通、影响价格、破坏信任的难度大大提升 第四,通证要有内在价值和使用价值,而区块链通过智能合约,可以为通证赋予丰富的、动态的用途。

并不是所有的应用都有必要放在区块链上的,例如:聊天、玩游戏、听音乐、写博客、上网的程序;有必要放在区块链上的应用就是涉及到价值交换、权益管理之类的应用。

5、通证经济是下一代互联网的数字经济

一直以来,IT技术界痴迷于互联网的底层技术,区块链作为下一代互联网的基础设施,认为区块链重要程度高于通证,一直坚信”皮之不存毛将焉附“。但随着区块链发展,我们发现正是通证以及通证经济规则,促进了比特币、以太坊的繁荣。通证经济的重要性比区块链的基础设施来的更加重要。20年来的互联网眼球经济、流量经济、粉丝经济等等,其价值重构和价值创造的速度和规模都远远超过互联网基础设施。通证立足于实体经济、为实体经济服务。通证思维与现在的币圈思维有根本的不同。通证是要用起来的,而现在大多数的币,都是没有用的,甚至就不考虑能有什么用。通证启发和鼓励大家把各种权益证明,比如门票、积分、合同、证书、点卡、证券、权限、资质等等全部拿出来通证化(tokenization),放到区块链上流转,放到市场上交易,让市场自动发现其价格,同时在现实经济生活中可以消费、可以验证,是可以用的东西,这是紧贴实体经济的。所以说什么叫通证经济?就是把通证充分用起来的经济。

通证经济为什么能够带来新一轮数字经济革命,这个需要从以下几点进行分析。

第一,供给侧,通证的供给充分市场化,高度自由,任何人、任何组织、任何机构都可以基于自己的资源和服务能力发行权益证明,而且通证是运行在区块链上,随时可验证、可追溯、可交换,其安全性、可信性、可靠性是以前任何方式都达不到的。所以每一个组织和个人现在都可以很轻松的把自己的承诺书面化、“通证化”、市场化。这是人类社会从来都没有的能力。

第二,流通速度,这是个关键。区块链上的通证可以比以前的卡、券、积分、票快几百几千倍的流转,而且由于密码学的应用,这种流转和交易极其可靠,纠纷和摩擦将成几百几千倍的降低。如果说在传统经济时代,衡量整个社会经济发展的一个重要指标是货币流转速度,而在互联网经济时代衡量一个国家、一个城市发达程度的一个重要指标是网络流量,那么在互联网+经济的时代,通证的总流通速度将成为最重要经济衡量指标之一。当我们每个人、每个组织的各种通证都在飞速流转、交易的时候,我们的生产和生活方式将完全改变。

第三,价格发现。由于通证高速流转和交易,每一个通证的价格都将在市场上获得迅速的确定,这个就是通证经济的看不见的手,它比今天的市场价格讯号要灵敏和精细几百几千倍,它将把有效市场甚至完美市场推到每一个微观领域中。

第四,通证应用,也就是围绕通证的智能合约应用。仅此一项,就可以激发出千姿百态的创新,它创造的创新机遇、掀起的创新浪潮,将远远超过先前计算机和互联网时代的总和。

基于这四点认识,我们坚信通证是将我们导向下一代互联网新经济的关键。

By 汉唐中医

常见炒币术语总结

1、仓位:指投资人实有投资和实际投资资金的比例。

2、全仓:就是全部资金买入虚拟货币。

3、减仓:就是把部分虚拟货币卖出。

4、清仓:就是把全部虚拟货币卖出。

5、重仓:就是某种虚拟货币买的很多。

6、轻仓:就是某种虚拟货币买的很少。

7、建仓:就是买入虚拟货币。

8、补仓:就是接着买入虚拟货币。

9、全仓:就是一次性全部买入虚拟货币。

10、止盈:获得一定收益后,将所持虚拟货币卖出以保住盈利。

11、止损:亏损到一定程度后,将所持虚拟货币卖出,防止亏损进一步扩大。

12、牛市:价格持续上升,前景乐观。

13、熊市:价格持续下跌,前景黯淡。

14、多头(做多):买方认为币价未来会上涨,买入币,待币价上涨后卖出 。

15、空头(做空):卖方认为币价未来会下跌,将手中持有的币(或向交易平台借币)卖出,待币价下跌后,低价买入获利。

16、反弹:币价下跌时,因下跌过快而价格回升调整。

17、盘整(横盘):价格波动幅度较小,币价稳定。

18、阴跌:币价缓慢下滑,软刀子割肉。

19、跳水(瀑布):币价快速下跌,幅度很大。

20、套牢:一买就跌,简称套牢。

21、踏空:一卖就涨,简称踏空。

22、割肉:一买就跌,低价赔本卖出虚拟货币。

23、解套:被套牢以后,币价回升,扭亏为盈。

24、超买:币价持续上升到一定高度,买方力量基本用尽,币价即将下跌。

25、超卖:币价持续下跌到一定低点,卖方力量基本用尽,币价即将回升。

26、诱多: 币价盘整已久,下跌可能性较大,空头大多已卖出虚拟货币,突然空方将币价拉高,诱使多方以为币价将会上涨,纷纷买入,结果空方打压币价,使多方套牢。

27、诱空: 多头买入虚拟货币后,故意打压币价,使空头以为币价将会下跌,纷纷抛出,结果误入多头的陷阱。

28、挖矿:利用计算机、手机等设备运行计算程序,来获得数字货币的过程。注意,挖矿会减短设备的使用寿命。

By 欧易学院