深度解析跨链技术与应用

前言

跨链技术被认为是区块链领域的圣杯,是实现万链互通的关键技术。人们往往将其重要性和互联网的 TCP/IP 进行类比。正是因为 TCP/IP 协议簇 提供了点对点链接的机制,将资料应该如何封装、寻址、传输、路由以及在目的地如何接收,都加以标准化,才使得全球的终端连成了一张网,演变成了我们今天所称的互联网。

随着区块链行业的迅猛发展,各类公链,许可链不断涌现,百花齐放。然而,绝大多数链与链之间由于技术、生态、竞争等原因无法连接互通,这带来了用户、资产、应用、数据的割裂,形成了「孤岛效应」。从根本上讲,形成这种局面的原因主要是:用户需求的多样化和区块链扩展性的限制。

为了将孤岛连成大陆,业界对跨链技术展开了积极的探索。本文将对当前跨链的主要技术形态进行阐述和分析,并对当前致力于解决跨链问题的典型区块链项目进行举例。关于跨链的研究报告已经有很多,但本文会在前人的研究基础上,力求做到深入技术本质,辨析易混淆概念,把握脉络框架,囊括最新进展。

跨链究竟要跨什么?

通证交换

每条区块链上都有自己的原生通证。通证因其封装了某种权益,而成为价值的载体。链内的通证可以进行可信的交换,然而链间的通证交换却「隔链如隔山」。只有实现链间通证的可信交换,才能实现区块链作为「价值互联网」的重要作用。

目前通过中心化交易所可以实现跨链通证交换,例如将 BTC 充值到交易所,换成 ETH 之后,再提现到 ETH 钱包。但人们不满足于中心化的方案,希望能够直接在链上进行可信交换,例如用户 A 想要用 BTC,交换用户 B 持有的 ETH,这个过程会有个问题,如果两人约定了交易,但 A 进行了转账后,B 食言而肥怎么办?这就需要用到跨链技术,通过系统的撮合,让两笔转账能够同步进行。基于哈希时间锁的原子交换,是实现这一场景的典型技术。

通证传递

通证传递是指,一条链上的原生资产,流通到另外的链上。这是无法直接实现的,任何通证都只能依附于其宿主链。一般而言,通证传递是靠在源链上锁定原生资产,同时在目标链上发行等量模拟原生资产的锚定资产来实现的。如何保证这一过程的安全可靠,是跨链技术的一大挑战。

通证传递和通证交换,都可以解决链间价值交换的问题,但这两者不完全是一回事。如果 A 想用 1 个 BTC 交换 B 的 10 个 ETH,这个过程只需实现通证交换,但如果 A 想要将这 1 个 BTC 拿到以太坊上使用,则需要通证传递。通证传递除了解决价值交换的问题,还有额外的效用。我们可以通过通证传递,实现链 A 上的资产参与链 B 上的 DeFi 应用,构建一个更普惠的开放金融,也可以将通证从一个昂贵的链,转移到一个经济链,节省交易费用,或者从一个缓慢的链转移到快速的链,实现扩容,亦或者,从一个非隐私链,转移到一个隐私链,实现交易隐私。可以说,通证传递能解决的问题,是通证交换所能解决的问题的超集。

信息传递

完全意义上的跨链其实应该能让链间的任何消息进行可靠的传递。任何跨链事务本质上都是一连串跨链消息传递组合而成的,例如,通证传递作为一类跨链事务,是由两次跨链消息传递组成的,先后是:

  • 源链锁仓通证,并将锁仓的消息及其证明,传递给目标链
  • 目标链接收到信息,验证其真实性之后铸造映射通证,并将回执发送回源链。

因此,我们可以说,跨链信息传递包含了跨链通证传递。跨链信息传递所解决的问题是跨链通证传递的超集。

交易

通过跨链信息传递,一条链可以读取和验证另外一条链的状态和信息,一条链的智能合约可以将其他链的某个状态和信息作为执行的触发条件。因此,通过跨链信息传递,可以实现丰富的跨链功能,例如跨链借贷,跨链众筹,跨链支付,跨链衍生品,跨链 DAO 等。如果区块链间能够灵活调用彼此功能,使用彼此的服务,那么链与链将组合成一个巨大的服务协同网络,实现我们预期的万链互联的状态。

跨链技术概览

现在的跨链技术形态,有些只是实现了通证交换,例如哈希时间锁和跨链 DEX;有些则通过建立一组链上角色来转发消息,验证状态,有些是提出了一套通信协议 , 实现区块链间的通信;有些是提出了新的系统架构和造链协议, 支持更多区块链的接入。

由于链和链之间互相独立,无法建立直接连接,链之间无法直接感知对方状态变更。因此需要搭建通信桥梁。在通信桥梁选择上,通常来说分为五大类技术形态,分别是基于哈希时间锁的原子交换,见证人,轻节点侧链,中继链,共享验证人,在 3.1-3.5 小节将展开叙述:

基于哈希时间锁的原子交换

哈希时间锁是一套密码学方法,该方法可以实现去信任的跨链资产交易。比如我用的 1 个 BTC 和你的 10 个 ETH 交易,就可以通过哈希锁来实现交易的原子性。其原理大致如下:

① 用户 A 生成随机密码 r , 并计算出 r 的哈希值 m=hash(r) ,将 m 值发给用户 B;

② 与此同时,用户 A 发起一笔交易,向用户 B 转 1 BTC,该交易的成功是有条件的,须用户 B 出示密码 r 才能成功,否则超过预设的时间,交易将自动失败;

③ 用户 B 看到 A 发起的交易之后,也发起一笔交易,向用户 A 转移 10 个 ETH, 该交易的成功也是有条件的,需要用户 A 出示 r 才能成功,超过预设时间,交易也将自动失败。这里的关键是,用户 B 创建这样一个以出示 r 值 为成功条件的交易,并不需要拿到密码 r 的值,只需要知道 m 值即可创建,而我们知道,哈希运算是不可逆的,知道 m 无法推算出 r ;

④ 用户 A 看到 B 发起的交易之后,出示 r 值,使得 B 发起的交易成功,获得 B 转账的 10 个 ETH,r 值被披露;

⑤ 用户 B 在上个步骤中也拿到了 A 出示的 r 值,使得 A 发起的交易成功,获得 A 转账的 1 个 BTC。

通过以上机制,在两条不同链上的交易,被耦合为一个事件,只能整体成功,或者整体失败,不会出现 A 给 B 的转账成功,而 B 给 A 的转账失败的情况,反之亦然。

交易

这种机制的实现,依赖于两个技术,那就是 「条件成功交易」和「条件失败交易」,在以上案例中,交易成功的触发条件是出示哈希原像 r,交易失败的条件则是超过预设时间未出示哈希原像 r ,我们也可以分别称为哈希锁和时间锁。

在 BTC 中,可以通过 CLTV 操作码或 CSV 操作码来实现哈希时间锁,在以太坊等图灵完备的链上,则可以通过智能合约来实现哈希时间锁。事实上,智能合约可以实现远比哈希时间锁更多元、更复杂的条件成功交易和条件失败交易。

我们可以看到,哈希时间锁实现了跨链双方去中介的原子交易,无需任何信任假设。同时,我们也意识到,这种交易方式在用户体验上并不友好,主要体现为以下三方面:

  • 交易双方必须同时在线,严格执行参与流程,因此,交易发起方,如果无法找到一个在线的交易对手方,则必须等待。
  • 对于 BTC,创建带有哈希时间锁的交易,在底层是通过创建两笔交易完成的,由于底层机制比较复杂,在前文所述的交易过程中被简化表述为了一笔交易。如果交易成功,两笔交易都要上链,需要多付手续费。
  • 实际交易中,会存在汇率问题,交易对手方可以根据汇率是否有利于自己来选择是否完成交易。尤其在金额较大时,交易对手方有很强的动力这么做,这导致原子交易可能不适用于大额交易。

另外,在跨链的实现程度上,哈希时间锁有其局限性,只能实现跨链的通证原子交换,无法实现通证传递及更广泛的跨链信息传递,因此在实际跨链应用中,往往和其他跨链技术组合使用。

见证人

见证人,英文为 Notary,有时也被译为公证人,是为传递跨链信息,托管跨链资产而设置的一个特殊角色。2012 年 Ripple 发布了 InterLedge Protocol (ILP),首次通过第三方见证人的方式实现了跨链转账,在此之后,见证人机制陆续被应用在以 BTC 锚定资产为主的诸多跨链项目中。

不同的跨链项目对见证人有不同的设定:见证人可能是单个主体,但大多数情况下是多个主体;见证人的产生方式可能是许可式的,也可能是自由准入的;为了实现资产跨链,见证人将不得不管理一个托管账户,管理托管账户的方法可能是独立控制或是多方控制;用户对见证人的信任基础,可能来源于见证人自身的信用,也可能来源于见证人做了超额抵押。

见证人产生方式

最简单的方式是组建一个许可式的见证人组,成员基本固定,成员的加入与退出,则由当前成员审核表决。这种方式是相对中心化的,比较去中心化的方式是自由准入的方式,任何主体,只需符合既定的条件,例如抵押相应资产,即可成为见证人。自由准入带来了额外的风险敞口,可能带来恶意见证人,产生串通作恶的风险。因此,有的跨链协议选择加入一个随机抽取机制:每次的操作,不是由所有见证人签名,而是从符合条件的见证人集中随机抽取一组见证人,如此一来,可以增加见证人串通作恶的成本。

用户对见证人的信任基础

见证人可以通过超额抵押来获取信任,这意味着见证人抵押的价值,必须大于托管的账户资产价值,如果托管的资产发生损失,用户将从抵押金中获得赔偿。超额抵押使得用户托管的资产具有极高的安全性,但是超额抵押给见证人带来了资金成本,见证人的资金成本将转化为高昂的跨链手续费用。

见证人也可以靠自己的商誉来背书,尽管含有信任假设,但其优势是跨链费用低廉,甚至可以做到免费,因此还是吸引了大批用户。

资产托管方式:独立控制地址与多方控制地址

见证人可能各自控制一个独立控制地址,形成托管地址矩阵,来承接用户的托管委托。需要注意的是独立控制地址不一定是单签名地址,见证人出于安全考虑,可能会采用多签和私钥分片技术来管理独立控制地址,例如,某个见证人在链下是一家人数众多的公司,该见证人的地址有可能会由公司的多名高管或股东通过多签和私钥分片共同管理。然而,不管使用什么技术来管理地址,只要是由单个主体控制的地址,我们都称为独立控制地址。

更多的情况下,托管地址是由多方共同控制的地址。有可能是所有见证人共同管理一个地址,也有可能是将见证人分组,每个组共同管理一个地址。这种情况则必须用到多签或者私钥分片这样的多方控制技术。

多签

多签,或称多重签名,英文为 Muti-Sig,是由多个私钥共同控制一个账户的技术,多签技术可以实现一个地址必须由 M-of-N 个签名人签名才能转账,1≤M≤N。

在 BTC 中,多签地址是 P2SH 类型的地址,普通 BTC 地址是由公钥哈希后得到的,而多签地址则是基于脚本哈希。该类地址对 N 值有一个限制,N≤15;在以太坊等具有图灵完备性的区块链中,则可以通过智能合约来实现多签地址,N 值也可以无限大。

私钥分片

私钥分片技术,也称分布式密钥技术,是一个具有更高理论安全度的多方控制技术,该技术脱胎于图灵奖获得者姚期智先生提出的安全多方计算(sMPC,Secure Muti-Party Computation),结合门限技术(TSS),也可以实现 M-of-N 签名管理。该技术支持将一个账户的私钥拆分成若干个碎片,分配给多个签名人,当已签名的碎片私钥数达到阈值时,即可对账户资产进行操作。具体实现上,私钥分片有多种技术实现方式,涉及到复杂的密码学知识,本文不展开。

私钥分片之所以更加安全,是因为分片是不断刷新的,也就是每隔一段时间,分片会重新进行,给到每个人的碎片会产生变化。恶意者如果想要通过获取所有人的分片来盗取资产,必须获取到不同签名人在同一个时间单元里的私钥,否则驴唇不对马嘴,无法合成完整私钥。

签名人组成员管理

无论是多签还是私钥分片,签名人组都不可能是一个成员始终固定的群组,所以会涉及到签名人组的成员增减。在私钥分片技术中,只需要重新分片,把碎片分发给增减后产生的新签名人组即可。在多签技术中,则分为两种情况:

在以太坊等图灵完备的区块链上,可以通过智能合约编程来设置签名人组成员管理规则,例如超过 2/3 的现有签名人签名同意,即可批准新的签名人的加入,或者批准剔除某个老的签名人。

在 BTC 上,则无法对一个 P2SH 多签地址的签名人组成员进行编辑,如果某个签名人的私钥泄露或者需要退出,只能重新创建一个新的 P2SH 多签地址,将资产转到新的地址里。

向去中心化方向改进

整体上,见证人模式是一种相对容易实现,且通用性强,适配成本低的跨链方式。见证人模式的最初版本是相对中心化的,但人们不满足于此,于是通过各种方法对其进行了改进,使其具有去中心化的特性,例如使用更加去中心化的见证人准入机制和分组机制,使用更加分布式的资产托管地址等。由此,产生了各种各样的改进方案。这些改进方案在实现去中心化的同时,也带来了一定的复杂性。

轻节点式侧链

侧链的产生,源于人们对于 BTC 扩容的努力。2014 年 10 月,BlockStream 团队发布了《侧链白皮书》,首次提出了「锚定」式跨链方案。锚定(Pegged),有时被翻译为「楔入」,表达的是被锚定链对锚定链的可读状态,这种状态也被称为「锚定链是被锚定链的侧链」。

人们最早希望通过将 BTC 的交易从 BTC 主链,转移到侧链上,来降低 BTC 主链的压力,2016 年由 RootStock 团队开发的 RSK 被认为是 BTC 最早的侧链。侧链技术的本质是通过在侧链上融合主链轻节点来实现主链对侧链可读。该技术稍加转化,即可被应用于跨链,我们只需在目标链上部署源链的轻节点合约,即可将目标链改造为源链的侧链,实现由源链到目标链的单向跨链。

所谓轻节点,是指一个体积较小的,只存储区块头信息的节点。轻节点并不存储链上的全部交易,但是可以通过区块头信息,验证某个交易是否存在于链上。轻节点合约则是包含了轻节点的智能合约。通过在目标链部署源链的轻节点合约,即可实现对源链来的消息进行真实性验证。其过程大致如下:

① 当源链 A 有请求传递一笔跨链交易信息给目标链 B 时,交易发起者将该交易的明细内容、区块高度、以及该交易 SPV 证明(指该交易的 Mekre 路径)一并提交到 B 链;

② 部署在 B 链上的 A 链轻节点合约,通过 SPV 证明,重新计算该交易所在区块的区块头哈希值;

③ 得到的哈希值与轻节点中对应的区块头哈希值进行比较,如果一致,则表明该交易确实发生在该区块中,若不一致,则说明该交易并不存在于该区块。

尽管任何人都可以向目标链提交交易明细及其 SPV 证明,但实际跨链应用中,往往会有专门的角色来做这件事,而不是交易发起者来做。我们在本文中,我们称该角色为 Relayer (中继者)。Relayer 除了要负责帮助用户传递跨链消息,还需要负责将源链的区块头传递到目标链,以建立轻节点合约。

Relayer 和见证人一样,都是为传递跨链消息而设的一个特定角色,但 Relayer 和见证人有两点不同:

  • Relayer 不负责托管资产,如果采用侧链机制来实现跨链,跨链过程中锁仓的通证会被托管到一个特定的托管合约中。
  • 对于 Relayer 的信任假设,相比见证人而言更为宽松。我们必须相信大多数的见证人都是诚实的,但众多的 Relayers 只要至少有一个是诚实的,我们就可以相信跨链消息传递是可靠的。这点我们将在 3.3.3 小节进一步论述。

不同跨链项目中对 Relayer 的称呼不同。有些项目中,Realyer 的角色被拆分,负责传递区块头的 Relayer (Head Relayer)和负责传递交易消息的 Relayer(Message Relayer) 被定义为两种角色。有些项目中不存在一个专门的 Relayer 角色,Relayer 的职能被合并入了其他角色,例如由源链的验证人直接承担 Relayer 的角色。不过,万变不离其宗,轻节点式侧链方案的技术本质始终是:Relayer 将源链的区块头传输到目标链,建立轻节点,然后 Relayer 从源链搬运交易信息到目标链时,用轻节点上的区块头信息验证交易信息的正确性。

双向锚定

我们需要理解的是,主链和侧链的关系是相对的,两条链可以互为侧链。我们在前文中提到的「源链」和「目标链」也是相对概念,在一个跨链消息传递事件中,消息的源起方往往被称为源链,消息的接收方则被称为目标链。

跨链双方通过互埋对方轻节点,即可实现互相读取对方链上的信息,互联互通,这种形态被称为双向锚定(Two-Way-Pegging),这种形态下,两条链成为了彼此的侧链。两个方向都有 Relayer 组负责向对方传递信息,当然,两组 Relayer (B→A Relayer & A→B Reayer)也有可能是同一批人,被合并为同一个角色,兼负责双向的信息传递。

侧链与子链

谈到侧链,有必要和另外一个容易混淆的概念做一下辨析,那就是子链。子链没有自己的共识机制和原生通证,其安全性完全依托于主链,具有单向性。而侧链本身是一条独立运行的区块链,侧链与主链的关系,是相对概念,具有双向性。

以太坊的扩容链,有些是侧链形态,有些则是子链形态。采用 Plasma 方法和侧链方法的扩容链是以太坊的侧链(Plasma 侧链是另一种侧链形式,不是轻节点式侧链),而采用状态通道和 Rollup 方法的扩容链,则是以太坊的子链。

子链通过将交易从主链挪到子链进行,并定期向主链同步最终状态来实现对主链性能的扩容,所以,子链也被称为「提交链」,提交链的叫法比子链的叫法更贴近其技术本质。

子链的目的是为了扩容,扩容的本质是节省主链的资源,因此主链不会花费计算资源对子链提交的交易进行验证。子链自身需要一个机制在提交时证明其所提交内容的真实性。其中,状态通道,Optimistic Rollup,Arbitrum Rollup 采用欺诈证明的方式来证明,而 Zk Rollup,Validium 则采用零知识证明的方式生成有效性证明。

子链和主链之间,这种单向的信息提交式互动,在有些文献中,也被认为是跨链技术的一种形态,但 Paka Labs 认为,尽管侧链和子链都诞生于对区块链扩容的努力,但子链相关的技术只能用于创建扩容链,无法应用于两条独立区块链之间的跨链,不应归类为跨链技术。

轻节点侧链的优越性

如果说见证人机制重在 Trust (信任),那么轻节点侧链技术则重在 Verify (验证) 。通过区块头验证交易信息,其可靠性是在密码学上被保障的,交易是否存在,一验即知,确定无疑。

Relayers 传递的区块头也不可能造假,因为轻节点合约可以像全节点一样,对区块进行严格的验证,虚假的区块头无法通过验证。轻节点的验证程序和源链网络中的矿工节点验证程序是完全相同的,以 BTC 为例,需要经过以下步骤验证:

区块的数据结构语法上有效;

验证工作量证明,区块头的哈希值小于目标难度(确认包含足够的工作量证明);

区块时间戳早于验证时刻未来两个小时(允许时间错误);

验证区块大小在长度限制之内,即看区块大小是否在设定范围之内;

第一个交易(且只有第一个)是 coinbase 交易,即一个区块,矿工只能给自己奖励一次;

验证区块内的交易并确保它们的有效性:验证 MerkleRoot 是否是由区块体中的交易得到的,即重构区块 Merkle 树得到的树根,看是否和区块头中的 hashMerkleRoot 值相等。

恶意的 Relayers 如果串通作恶,唯一可行的方法是传递一个分叉链上的区块的区块头,但对于一个健康的网络,分叉链最终不会成为最长链,轻节点合约只需等待足够多个区块的确认即可(对于 BTC 轻节点,等待 6 个区块即可)。对于 BFT 类的链,轻节点合约只需验证区块的签名数即可知区块是否具备最终性。

只有源链或者目标链的本身出现重组,才会影响到轻节点合约的安全性。Relayer 能够给网络造成的危害最多止于集体罢工,让网络停止服务。

此外,Relayer 不负责管理托管资产,恶意的 Relayer 无法像恶意的见证人那样,有盗取托管资产的可能。因跨链而锁定的资产托管在合约中,合约中托管的资产,如果合约代码没有问题,其安全性就是合约所在链级别的。

由于 Relayer 作恶的条件苛刻,且危害性较小,轻节点式侧链中的 Relayer 并不需要像见证人那样做超额抵押。可以用更小的代价实现更多的跨链锚定资产发行。

由此可见,轻节点侧链方案,在跨链的成本上和安全性上,比见证人方案更有优势,是实现两条链之间跨链优先要采用的技术方案。但是有的链不支持智能合约,无法部署轻节点合约和托管合约,这种情况,只能退而求其次,采用见证人方案。

轻节点技术的发展:「瘦身」与「减负」

我们知道 BTC 的区块大小为 1M,其区块头只有 80byte,直到本文发布的时间,BTC 的历史区块头大小也尚未超过 60M (高度约 69 万),但诞生较晚的以太坊的历史区块头加起来已经超过了 5 个 G(高度约 1300 万),随着区块链的多元化发展,部分新兴区块链更侧重于高 TPS,出块速度极快,其历史区块头的体积将可能很快超过以太坊。

这样的趋势,给轻节点式侧链带来了挑战,主要体现在两方面:

  • 较大的区块头,将使得轻节点合约变得笨重,占用目标链的巨大存储空间
  • 源链较快的出块速度,将导致轻节点合约需要频繁的同步和验证新区块。

这两者,都将造成轻节点合约在目标链上巨大的 Gas 消耗,严重时会使得采用轻节点侧链技术实现跨链变得不具备经济可行性。

怎么办?回到见证人方案吗?但轻节点式侧链技术的优越性如此诱人,我们还是希望继续使用它。有没有办法让轻节点合约在不丧失其 SPV 验证能力的前提下,对其进行改造和扩容?

区块链行业的研究者们在两个方向上对轻节点侧链技术做了改进。首先是对轻节点合约进行「瘦身」,使其体积变得更小,且不随区块增加而线性增长,其次是对轻节点合约进行「减负」,将区块验证环节挪到链下,让轻节点合约只做交易的 SPV 验证。

轻节点合约的「瘦身」

我们需要了解一个新的协议,名为「FlyClient」,该协议由斯坦福大学的 Benedikt Bunz 等人在论文《FlyClient: Super-Light Clients for Cryptocurrencies》中提出的一种新型轻节点协议。Flyclient 轻节点不需要存储所有的区块头,而是只需存储最新的区块头。通过最新的区块头,即可随时「恢复」所有的历史区块头。该功能是通过一种叫「默克尔山脉」的密码学算法实现的。

默克尔山脉(Merkle Mountain Range)简称 MMR,是默克尔树(Merke Tree)的一种变体,我们将一条区块链的所有历史区块的哈希值作为叶子节点,通过 MMR 算法,生成一个 MMR 根值,并将该值写入最新的区块头,即可用该值去验证所有的历史区块头。

FlyClient 轻节点可以不断删除历史区块头,只保留最新的区块头,保持「轻盈」。当需要恢复某个区块头时,可以通过 Relayer 重新从全节点获取,并用最新区块头里的 MMR 根值,去验证恢复过来的区块头是否正确。

如果源链是概率最终性链,Flyclient 轻节点在接收 Relayer 传递的最新区块头时,会多一个验证步骤,那就是要求 Relayer 随机提供某个历史区块头,以供抽查。这样做是为了防止一种针对 Flyclient 轻节点的特有的新形式的欺诈。具体的欺诈方式和抽查算法比较复杂,本节先不做展开,在后续的案例介绍章节,将结合具体的跨链项目进行介绍。

Flyclient 轻节点真正实现了「把大象压缩成饼干」,让部署在目标链的源链轻节点合约可以轻装简行,让轻节点侧链式的跨链具有更好的经济可行性。但对于目前大部分的区块链而言,MMR 根值并不是区块头的固定部分,因此,Relayer 必须自己运行全节点,计算 MMR 根值,将 MMR 值加入区块头一并传递到轻节点中。一些较新的区块链已经将 MMR 根值作为区块头的固定部分了,现有的比较成熟的公链,也在有人提案软分叉升级,将 MMR 根值加入区块头固定结构中。区块头中固有 MMR 值的区块链,将对跨链开发更加友好。

轻节点合约的「减负」

对于轻节点合约,对最新区块头的验证是消耗 Gas 最多的环节,该环节的消耗和用户的跨链请求次数没有关系,只与源链的出块速度有关系。如果源链出块速度快,该环节的 Gas 消耗量将可能大到不可接受。

研究者们想到了通过将 Gas 消耗最多的新区块验证环节挪到链下进行。参考以太坊 layer2 的扩容方案,zkRelayer 和欺诈证明两种方案先后被提出来。zkRelayer 采用零知识证明的方法在链下生成区块验证证明,并提交到链上,欺诈证明则是通过一套经济激励机制来激励 Relayer 提交正确的区块:挑战者时刻监督 Relayer 提交的区块,如果发现有恶意 Relayer 提交了不正确的区块,经轻节点验证后,挑战者可以获得恶意 Relayer 的押金,如果 Relayer 提交的区块没有被挑战,则默认为是正确的区块,轻节点合约直接收录,不再做验证。

中继链

为了建立更广泛的跨链网络,我们更多时候,需要连接的不止是两条链,而是很多链,如果在每两条链之间建立上述这种双向楔入,互为侧链的关系,其连接数和适配成本随着链的数量的增加,将会呈指数级增加,因此中继的思路被提出来:建立一条中继链,其他所有链都与中继链建立连接,就像家里的终端设备都和路由器连接一样。如此一来,成本立即从 n(n-1)/2 下降到了 n (n 为链的数量)。

交易

中继方案是侧链方案的变体,和侧链归为一类技术方案,也是合理的。中继方案具有很高的扩展性,是当前最被广泛应用的跨链方案,本文为了将中继方案充分展开阐述,将其单独列了出来。

有时候,在双链跨链模型中,Relayers 会作为一条独立区块链的验证者而运行,该独立链被视为一个整体承担区块头搬运和跨链消息搬运的职能,Relayers 则在其内部对搬运的信息达成共识。这类独立区块链往往被称为桥接链,但它不是中继链。例 Polygon 的 PoS 桥,Near 的 PoA 彩虹桥,都只是桥接链,不是中继链。

区分两者的关键,在于其跨链通信路径的不同:

交易

可以把桥接链理解为只是 Relayers 的容器,其职能依旧是搬运区块头和跨链消息,而中继链则是与各接入链都建立互为侧链关系的消息中转站。很多文献并没有对这两个概念做严格的区分,但这两者的实质是完全不同的。

连接现有区块链

中继模式中,往往由中继链的验证人,负责承担 Relayer 职能,转发链间消息。相比双向锚定,中继链模式具有更多的扩展性,与中继链相连接的链,我们称为接入链。

为了连接既已存在的区块链,需要用中继链去分别适配接入链。尽管中继链模式已经大大节约了连接成本,但依旧面临以下挑战:

  • 要根据不同的接入链的特性,制定不同的适配方案,做主动兼容,工作量较大
  • 不同的链安全性有差异,会涉及到不同接入链的跨链授信问题,以保护整个跨链网络的安全
  • 新的区块链层出不穷,如果出现新特性的接入链,则需要开发新的适配方案。

通信协议簇 + 造链协议

与主动兼容相比,有更省事的办法,是创造一个全新的区块链造链标准,依据该标准开发的区块链,具有相同的密码原语(Cryptographic Primitives)、共识机制和通信架构,可以很轻易的接入中继链,实现被动兼容。跨链双雄 Polkdot 和 Cosmos 便实践了这样的思路,两者都创建了一套造链标准,Polkadot 创造了 Substrate,Cosmos 则创造了 Cosmos SDK。尽管如此,对于已存在的重要区块链,还是需要主动兼容。Polkadot 和 Cosmos 中都设计了异构跨链模块,用来连接以太坊链和 BTC 链。

通信协议簇+造链协议类的跨链项目被看好,关键原因在于有望一劳永逸的解决跨链问题。或许我们所期待的万链互联愿景,最终不是一个网状结构,而是树状结构,那就是让某个中继链成为区块链世界的 Layer 0,其他的链,包括占多数的同构链,和占少数的异构链,以 Layer 1,Layer 2…的形式接入。

在以中继链+接入链的多链架构中,中继链已经不再只是一座桥梁,而是一个中枢,我们可以称之为「链枢」。链枢在承担跨链消息传递的任务的同时,还需处理好链间消息路由,消息时序等问题。

共享验证人

同样作为通信协议簇+造链协议的 Cosmos 和波卡,都蕴含了中继的思想,但稍加留意我们便发现,两者区别十分巨大。

Cosmos 的 Hub 和 Zone 之间建立的是典型的「双向锚定」关系,Cosmos 的跨链消息传递协议 IBC,依旧是靠内置在接收链上的轻节点合约来对跨链消息做 SPV 验证,但波卡的跨链消息传递协议 XCMP 中,并没有采取轻节点式的技术来验证跨链消息的合法性,而是采用了另外一种方法,Paka Labs 将其提炼出来,称之为「共享验证人」,列为跨链技术的一个单独分类。(关于 XCMP 和 IBC 的更多辨析,将在后续的举例章节展开。)

共享验证人方案是指多个链共享同一组验证人,并由这些共同的验证人负责验证跨链消息的方案。波卡将区块的搜集和验证解耦为两个职能,由两组角色负责,分别是收集者(Collator)和验证人(Validator),每条平行链都有自己的收集者,但平行链没有自己的验证者,区块验证由中继链的验证者负责。这相当于每条平行链都让渡了共识过程的一部分给中继链。因此,波卡的平行链间可以像同一个区块链的不同分区一样交互,不再需要额外的信任机制。

需要说明的是,波卡并没有让所有的验证人验证所有的链,而是采取了一个更经济的做法。在一个具体的时刻,每条平行链的验证人组是不一样的,每条平行链的验证人组由中继链随机分配,每隔一段时间都会重新分配,通过这样随机分配的机制,让恶意的验证人集难以联合作恶。这种机制,可以拿中国古代宋朝的军事制度来类比:兵无常将,将无常兵。

波卡的共享验证人本质上是一种分片机制,与以太坊 2.0,Harmony,Near 等采用分片机制提高可扩展性的区块链是类似的。但不同的是,分片链与信标链是终身一体的,而波卡的平行链可以和中继链随时解耦,随时耦合,当解耦时,平行链是一条可独立运行的区块链。

跨链技术的认识框架

现今活跃的跨链项目有近百个,不同的跨链桥采用不同的跨链技术方案,采用相同类型技术方案的项目对系统角色有着不同的设计,和不同的叫法,有对角色职能进行拆分,创造更多角色的,也有对角色职能进行合并,省略部分角色的,还有些项目综合使用了多个跨链技术,可以说是,眼花缭乱,但如果认识清楚了跨链技术的本质,则可以做到去伪存真,透彻理解。为此,我们需要一个理解跨链技术的认知框架。

我们可以从跨链要解决的难题说起:

如何保证跨链事务的原子性

这个问题指的是,一个完整的跨链事务,必须作为一个整体,执行成功,或者执行失败,不能存在部分成功,部分失败的情况,否则使用跨链功能的用户将有可能面临资产损失。有两个思路可以实现这一点:一种就是通过密码学手段对一个跨链事务中的多个子交易进行耦合,例如基于哈希时间锁的原子交换方案;还有一种方法是让跨链事务的多个子交易具有严格的时序性,时序性包含三层含义:

  • 只有子交易 1 完全成功(完全成功意味着交易被打包进区块,并形成最终确定性),才能进行子交易 2,以此类推,只有子交易 2 完全成功,才能进行子交易 3;
  • 如果子交易 3 失败,则保留子交易 2 的成功状态,让用户可以反复重试子交易 3
  • 如果子交易 3 始终失败,用户可以先后撤回子交易 2 和子交易 1。

除了哈希时间锁,其他跨链方案大多情况下都是靠后一种方法,来保障跨链事务的原子性的。这里涉及到一个问题,如何判断一笔交易,已经形成最终确定性呢?区块链的共识机制有很多种,但依据其最终确定性形成机制,可以分为可证明最终性和概率最终性两种,BFT 类的区块链,通过验证人投票来确定区块,被确定的区块具有最终性,无法被逆转。但非 BFT 类的区块链,则认为最长链即最终链,但最长链有可能因为分叉而改变,因此,已经打包的交易可能被逆转,面对这种情况,普遍采取的方法是等待更多的区块确认,直到该交易所在区块被逆转的可能性降到极低。

由此可见,具有可证明最终性的 BFT 类区块链,对跨链是更加友好的,因此,无论是 Cosmos 的还是 Polkadot,其造链标准都不约而同的采用了 BFT 类共识机制。需要说明的是,BFT 只是最终性确认的一种方式,是共识机制的一部分,尽管 BFT 类区块链一般都是 PoS 共识,而非 BFT 类区块链则一般是 PoW 共识,但并没有绝对的相关关系。

如何感知另一条链

一个区块链系统,对于另外一个区块链系统来说,是封闭的,独立的,每条链都是一个「Walled Garden」,无法直接感知另外一条链中的交易及其状态。一条链对于另外一条链而言,是一个链外系统,因此一条链对另外一条链的感知,其实是个预言机问题。

因此,任何跨链技术,无论如何演变,都绕不开一个「中间人」的角色,系统与系统间相互独立,那发起跨链交易时,目标链在发行映射资产之前,如何才能确认源链的锁仓交易已完成呢?两条链之间会由可信的「中间人」来承担跨链消息的传递和验证的职能。这个中间人,在见证人方案中,体现为单主体或多主体组成的见证者集,在侧链 / 中继方案中,则体现为 Relayer 集,在共享验证人方案中则是共享验证人集,只有哈希时间锁技术在原理上是无中介的,但需要交易发起方和交易对手方同时在线,为了提高体验,我们需要有一个中间人充当一个公共的交易对手方,或者我们称之为流动性提供商。

在交易验证这个环节,见证人方案中,由见证人通过运行节点或者连接其他节点来验证交易,侧链 / 中继方案中,则通过在目标链上部署源链轻节点,来实现对源链消息真实性的验证,在共享验证人方案中,则由共享的验证人在源链共识过程中完成验证,目标链可以无条件信任。

如何安全的托管留置资产

留置资产托管问题,存在于跨链资产传递的场景中。如前文所述,跨链资产传递的本质是,让资产在源链锁仓留置,并在目标链上生成模拟资产。那么留置资产的托管安全性就是跨链安全性的一个重要组成部分。

有四种类型的托管地址,分别是独立控制账户,多方多签账户,多方私钥分片账户,合约账户,前三者和见证人机制组合使用,形成了不同子类型的见证人机制;侧链 / 中继式的跨链方案中,则采取合约账户来托管留置资产。事实上,侧链 / 中继方案,也可以和非合约账户的托管方案组合,但几乎不会有项目这么设计,因为合约账户具有更高的安全性,即便有项目实际这么运行,更有可能是作为托管合约开发完成之前过渡方案。

实际上,跨链资产传递的场景中,还有一种方案是不需要托管资产的,即销毁-铸造(Burn-Mint)方案,源链上的资产不再锁定,而是直接销毁,进而在目标链上发行锚定资产。这种方案仅适用于耦合度很高的链,否则燃烧的资产,无法再反向铸造出来,资产跨链后再也回不去了,这显然是无法被接受的。波卡的平行链间进行通证跨链,用的便是 Burn-Mint 机制。

如何进行多链适配

侧链方案进行多链适配的解决方案,便是中继方案,通过中继链,与接入链一一建立互为侧链的关系,比接入链之间建立这种关系,其适配成本要低很多。尽管如此,中继链主动兼容多个异构的接入链,还是很麻烦,需要分别去适配,不如一劳永逸,自上而下建立一套通信标准和造链标准,让更多的新链成为可直接被动兼容的同构链。

见证人方案和哈希时间锁方案,相比侧链 / 中继链方案更通用,前者只要在新的接入链上设立一个托管账户,即可完成对新接入链的兼容,后者则只需接入链支持哈希锁和时间锁功能即可兼容。

共享验证人方案则仅适用于同构跨链,无法对已存在的异构链进行主动兼容,如果需要兼容,还需采用其他跨链方案。

小结

通过上述跨链技术概览 5 个分类:

  • 基于哈希时间锁的原子交换
  • 见证人机制
  • 轻节点式侧链
  • 中继链
  • 共享验证人

以及跨链技术的认识的 4 个维度:

  • 跨链事务原子性
  • 跨链消息验证
  • 资产托管
  • 多链适配

我们基本可以准确把握一个跨链方案的脉络,形成框架性认识。

By Middle.X , Shawn Lin

CARDANO成为世界第三大加密货币

据CoinGecko称,昨天与CARDANO区块链相关联的ADA币成为世界第三大虚拟货币,“因为卡尔达诺开发人员寻求在去中心化金融获得一席地位,”

由于ADA币仅在过去一周就上涨了约 50%,人们越来越乐观地认为,新技术的进步将允许在CARDANO上使用智能合约,符合 9 月 12 日宣布的目标。这将使其网络能够提供去中心化服务,尤其是目前由以太坊主导的 DeFi 领域。

根据CoinGecko追踪器的数据,在一次遭到业内一些主要公司怀疑的集会上,ADA 代币现在的市值超过 650 亿美元——比比特币和以太坊以外的任何其他竞争对手都多。

加密货币贷方 Nexo 的管理合伙人兼联合创始人安东尼特伦切夫说“卡尔达诺的粉丝们一直在等待——有些人急切地——等待一些似乎是永恒的智能合约消息,”但是卡尔达诺正在与排名第二的加密货币以太坊竞争,以成为杰出的智能合约区块链。”

ADA币在过去一年中的涨幅超过1400%,超过了比特币和以太坊的回报。

尽管一些知名的加密货币评论员对其有用性持怀疑态度,但该代币仍在飙升。例如,Galaxy Digital LP 首席执行官 Mike Novogratz 周日在 Twitter 上发推文称,“我已经与该领域我认识的 20 位最聪明的人进行了交谈,但他们中没有一个人看到Cardano得到了开发人员的支持”。

“加密货币以外的大多数人甚至从未听说过卡尔达诺——但它的市值超过了许多标准普尔 500 指数,”

去中心化金融 – 或 DeFi – 正在为数字分类账带来金融功能,允许人们做诸如贷款或借入资金之类的事情,并在不需要银行等传统中介的情况下从储蓄账户中赚取利息。该行业的日益普及是增加使用区块链的更广泛趋势的一部分。

最近比特币、以太坊、ADA和其他代币的上涨帮助加密货币市场再次达到 2 万亿美元的市值——这是自5月份以来首次,当时一个以波动性着称的行业出现大幅缩水。

By 小白财经

什么是黑天鹅与灰犀牛

世人皆怕黑天鹅事件,概率虽小,可一旦发生,就会带来巨大的损失。而且因为它是小概率事件,所以让人防不胜防。


但总被视而不见的危机,其实更应该让我们感到害怕,这种危机叫灰犀牛。比起黑天鹅,更可怕的是灰犀牛,因为它不但破坏力很大,发生的概率也很大。


灰犀牛

黑天鹅与灰犀牛是互补的两个概念。

大多数天鹅都是白色的,黑色的天鹅很稀少,所以黑天鹅事件是发生概率很小,极其罕见的危机。

而灰色的犀牛非常常见,他们行动缓慢,却有极强的攻击力,所以灰犀牛指大家习以为常,但却忽视掉的风险,即大概率危机。

灰犀牛事件的发生是有预兆的,就像一只在远处跑来的灰色犀牛,我们早已看见它,但因为它的行动缓慢,所以不以为意。

直到这只灰色犀牛来到我们的眼前,我们再也避无可避。

黑天鹅事件难以预测,我们对它一无所知,自然无力阻止,充其量通过分散风险来减少损失。

而灰犀牛事件是早就有预兆,那只犀牛还在远处的时候,我们已经看见它了,完全可以提早避开。

但却因为它离得还很远,行动也不快,所以往往人们会选择忽略它。

结果本来可以规避的风险,因为一时的大意,带来了重大的损失。


次贷危机与灰犀牛

2008年的次贷危机,大家应该都不陌生,那就是一个典型的灰犀牛事件。

互联网泡沫和”9·11事件”发生之后,美联储为了提振市场,开始降息。市场的货币宽松,大量资金流入房地产。房地产牛市开启,大量家庭举债入场。

2002年的时候,时任美联储主席格林斯潘就警告市场,靠债务堆积起来的房地产牛市无法持久。

这时,灰犀牛还在远处,或许其他人也已经看见了它的身影,但却不以为然。

资金继续流入房地产,住房贷款被开发成MBS(住房抵押贷款债券),进入金融市场,房地产的牛市也带来了金融界的狂欢。

但有能力买房的人和有资质借款的人总是有限的,如果没有新的人入场,房地产牛市持续不了多久,也没有足够的原料来炮制MBS。

于是抵押贷款公司和商业银行找上了信用较差的人,也就是我们所说的次级贷款者,这些次级贷款者中甚至有无业游民。

难道贷款抵押公司和商业银行全是傻子,完全不知道无业游民可能还不上贷款吗?

他们的想法是,只要目前没有大面积违约的现象就可以了,灰犀牛尚在远处。

这些低信用等级的贷款,经过投行的巧手包装之后变成MBS,投行虽然知道这些贷款违约的概率很大,但也只是给它们买了个保险而已,这样的MBS在评级机构那里拿到了高评级。

评级机构如穆迪之流,难道不知道这些贷款中有大量次级贷吗?

他们当然也知道,但他们怕自己不给投行满意的评级,投行就会去找其他竞争对手评级,加上房地产眼下不太可能崩盘,又有保险来保证履约,所以也是心存侥幸认为不会有太大的问题。

虽然灰犀牛一直都在靠近,但离自己尚且有一段距离,所以大家都听之任之。但不断靠近的灰犀牛,总有一天会来到跟前。

2006年次级贷的违约率慢慢升高,违约的人房子被没收,并且拍卖。随着拍卖的房子越来越多,房价也越跌越惨。

靠债务尤其是次级债,撑不起房地产的楼市。次贷危机最先影响到的是美国的房地产,然后是放房贷的金融机构,又通过MBS传导到保险公司、投行、基金。

2007年,次贷危机爆发,2008年开始席卷全球。一个本可以规避的风险,最后成了一场席卷全球的金融风暴。


当下的两头灰犀牛

无视灰犀牛的靠近,就会遭受灰犀牛带来的重击。当下,中国经济就有两头攻击力十足的灰犀牛在慢慢靠近。

一头是房地产,另外一头是债务危机。

如果要说,以后房价还会不会继续上涨,肯定是会有很大争议的。虽说政策要求“房住不炒”,但也允许“因城施策”。

各地可以根据自己的情况,适当进行一些调整,某些城市会出现上涨,但是上涨的幅度肯定不能太大,不然就跟政策背道而驰了。

房价的调控政策之所以要抓这么严,就是因为政府非常清楚房地产是我们面临的一头巨大的灰犀牛。

如果放开楼市,我们的经济增速又能提上去了,地方的卖地收入也会增加。但任由房价上涨,房价终究会涨到头。

我们现在的国民收入,根本撑不起房价,房价之所以能继续涨,更多的是投机导致的。如果房价涨到头,就会引起抛售,导致房价崩盘。

而房子是国人最主要的资产,如果房价崩盘,多少人的财富要大幅缩水。而且,很多人都是贷款买房,人家的房贷还没还完,房子就大贬值,这实在是难以接受。

如果我们发生房地产危机,后果不堪设想。所以,政府才愿意牺牲经济增速,牺牲卖地收入,来躲避那只灰犀牛。

所以,大家不必再期待房地产牛市再次到来,炒房的时代已经过去。如果政府决心躲避那只灰犀牛,房子就没有什么投资价值。如果政府放弃躲避那只灰犀牛,你就有可能跟它正面交锋。

而另外一只灰犀牛——债务危机,离我们也不算太远。

自从2008年之后,中国经济的各个部门的负债都大幅增加。根据国际清算银行的数据,2008年中国非金融机构的负债对GDP的比率是140%,到了2017年,上升到了260%。

居民负债与GDP的比率也从2008年的18%上升到了2017年的48.97%,上升速度超过了非金融机构。更能反映居民负债严重程度的居民负债率(家庭债务/家庭可支配收入)在2017年已经高达112%。

无论是企业还是个人,普遍都负债累累。

企业的债务繁重,身上的负债还会产生利息,压力很大。但现在经济增长缺乏动力,企业所处的生态也在恶化,盈利能力没有提升,反倒下降。

所以,企业债务违约增加。虽然央行一直想给企业注入流动性,但借来的钱终究不是自己的,借款如果没能改善经营的现状,借钱终究也只是增加负债而已。

企业状况的恶化,最终也会影响到个人,背负债务的个人,如果失去收入也会违约。

所以,在债务违约这头灰犀牛面前,企业和个人都应该尽量减少负债。企业不要盲目扩张,个人不要大力举债。

灰犀牛的攻击力很强,但在它靠近我们之前,就早已有预兆。

面对灰犀牛,我们不要无视它!

By 财小妹

区块链在宏观金融层面的应用

从技术的角度来看,区块链是一种底层的基础架构,它的应用范围不仅局限于金融行业,就像大数据可以在金融行业,也可以在其它行业中应用一样。对于金融行业而言,区块链在许多细分领域中的应用场景可行性已经在过去的一两年中被反复讨论。在众多的讨论中,我们发现人们对于区块链的理解存在许多误区,往往将区块链具象成“分布式账本”、“智能合约”、“密码学”等具体技术和概念。所以,我们首先要明确区块链的核心理念,即区块链是什么

从本质上来讲,区块链是一种多方参与的“共识系统”,是一种“开放架构下的强安全机制”。对于区块链思想的论述,可参照《区块链的本质-纳什均衡下的共识系统》一文。基于众多的金融应用场景,我们选择了以下三个最重要的可以应用区块链思想的方向和趋势,而甄选的一个重要原则是该方向或趋势是否具有战略上的意义和重要性

1.法定数字货币

货币是金融的基础,是所有基于价值交换的经济活动的通用介质。无需赘言,法定数字货币的场景将极为庞大、复杂并具有重要的金融战略意义。关于区块链对于法定数字货币的意义以及如何运用区块链思想进行法定数字货币的架构设计,可参照《区块链架构中的两大核心模块》以及《区块链对于法定数字货币的意义与政策建议》文中的相关论述。

在这里需要强调的是,使用区块链推进法定数字货币实现的一个重要意义在于抢先制定国际标准。从国家战略的层面上来看,制定法定数字货币标准,包括制定“基本数据单元”的数据结构标准和“数据流转链条”的共识协议标准,其在金融领域的重要性类似于在IT领域制定互联网TCP/IP协议标准或是在商业领域制定全球贸易协定标准。

这种看似技术协议或商业标准的竞争,实则攸关国家安全的根本利益。想象一下,在法定数字货币成为全球通行的货币形式的将来,哪个国家掌握了法定数字货币发行、流通的标准,对于其它国家金融格局的影响就会像上世纪改革开放、打开国门时西方文化带给中国人意识形态上的强烈冲击和影响一样,是一种潜移默化的、深刻的全球化金融扩张

2.数字身份

在所有行业中,金融行业受到的监管最为严格,而对于客户身份的验证(KYC)是金融监管的一个关注重点。目前的现状是金融机构在KYC的流程中普遍存在信息搜集冗余,信息流转迟滞所导致的低效和巨大合规成本。基于区块链的数字身份可以在跨地区的组织机构之间进行数据的流转,增加效率、降低成本,这是区块链能够为传统金融机构的某个特定场景所带来的价值。

但更为重要的是,基于区块链的数字身份可以作为实现数字普惠金融的基础性协议。目前普惠金融的痛点在于用户触及成本高,风险控制难度大,而目前利用数字技术(如:大数据)实现的“数字普惠金融”还只能局限于某个组织的生态系统之内(如:蚂蚁金服的芝麻信用)的某些场景中应用(如移动支付),而真正的跨组织、跨国家地域之间的数字普惠金融架构和合作还未能实现。其根本原因在于跨组织、跨国家地域之间的数据(尤其是涉及到国家安全和经济民生的敏感数据)无法通过传统方法被安全共享。

而区块链作为一种“开放架构下的强安全机制”,建立在它两大核心模块“基本数据单元”和“数据链条”之上的数字身份可以尝试将数字普惠金融所覆盖的用户身份信息、历史活动记录以及其它和身份有关的属性信息安全地流转于跨越国家和地域的机构和个人之间,实现敏感数据的开放式安全共享

3. 更广泛的金融安全(监管)基础架构

区块链的基本特征“开放架构下的强安全机制”从某种意义上来说是一种新型安全基础架构。和传统的基于密码学的“防御性”安全技术不同,区块链并非把需要保护的敏感数据集中在“云端”,然后试图筑造一道抵御外部入侵的“安全长城”。从近年来发生的种种安全事件中不难发现,哪怕是再牢固的“城墙”,由于“目标”(数据)集中化地被存储在某个固定位置(例如服务器中),黑客总是可能通过不断尝试找到某个安全漏洞,使得“破墙而入”最终只是一个时间问题。相比而言,区块链所代表的安全基础架构是一种全局性的安全,区块链中的数据被“集体共管共存”,存储的位置随时变动;只有真实有效的数据才会被接入链条中,而伪造的数据将会被系统自动丢弃。打个跨界的比方,汉族文化在过去几千年中的传承和包容并蓄就是一种区块链机制,虽然从政治的角度汉族在历史上曾被多个外来民族统治,但汉族的文化却一次次地接纳外来文化并最终将之吸收、同化。

它的传承(数据存储和流转)以及对于外来文化的接纳同化的能力(基于共识机制的自动裁判修正功能)并非由一人之力完成,而是一种全局的力量。同时,文化发展所包含的“扬弃”过程,也是一种由多元文化共同作用、互相冲突和博弈,最终达到“纳什均衡”稳定状态的过程。从安全和金融监管的角度来看,基于区块链的安全基础架构允许风险诞生且发展于局部,但始终不能突破全局。

正是由此这个特性,区块链最先被金融行业所发现并重视,因为金融业对于安全最为敏感,但传统的安全架构似乎永远都不能很好地解决“道高一尺,魔高一丈”的问题。金融监管也是一样,传统的监管试图采用各种手段消除金融风险,是一种被动的防御性机制(例如P2P行业曾暴露的风险和后续的监管措施),而基于区块链的金融监管基础架构使监管者可以设置一种开放式的“容错”架构和机制,并要求众多的参与者在这种设定的架构下进行活动,互相监督和制约。即使少数参与者不遵守“游戏规则”,基于全局性的共识机制会使多数的参与者立即发现这种情况并自动进行举报、纠正和惩罚。

这种新型的监管模式是一种开放式的、主动的全局强监管,监管者的作用在于设计一个基于“纳什均衡”的博弈场,使被监管者必须遵守全局性的博弈规则(共识),否则就自动出局。在运行的过程中监管者可以主动推进博弈机制的不断地迭代和改进。

By 德勤

什么是金融中间件

什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。中间件是一个软件系统的基础,通用的中间件有Tuxedo,MQ等,在很多行业都有使用。但金融行业发展至今,有许多行业的特殊性要求(具体下文将会有详细说明),皆是通用中间件无法满足的。

笔者将会从金融行业中间件的发展历程说起,详细阐述金融行业的特殊性,并畅想金融中间件未来的发展方向。

金融中间件的昨天 金融行业最开始使用的服务器是windows系统,数据库使用的是Sybase、SQLServer;到后来开始接受Linux系统,Oracle数据库;再到现在考虑私有云环境、MySQL数据库。每一次硬件资源数据库的变革对于中间件平台都是一个挑战。最开始的金融中间件,是Windows下Delphi开发的中间件,所有业务都集中在一个中间件平台开发,没有进行模块细分,性能和扩展性都是瓶颈,这种架构是符合当初每个营业部独立部署的场景。

后来随着集中交易的要求出现,新一代金融基础件开始采用C++开发,基于Linux服务器运行,开始对接Oracle数据库,同时业务开始进行模块细分,这样架构整体性能和扩展性都有了极大提升,可以支撑千万级别的用户。

随着进一步的金融业务发展,超级券商开始出现,用户规模可能要达到3千万或者亿级别,同时对用户体验也开始有所追求,对业务系统要求做到弹性扩展,灰度升级,业务微服务化等等。对应这些需求,中间件平台开始支持分布式扩展、MySQL数据库,业务可以分库分表,达到系统的无限扩展,但是分布式也带来了运维的难度,需要结合运维工具实现快速扩展和部署,结合Docker、云平台进一步降低运维难度。

另外随着对极速交易的追求,业界发现通用中间件无法满足要求,极速中间件由此应运而生。让交易业务可以在4微秒内完成,未来在极速方向还会继续追求更低的延迟,达到纳秒级别。从金融中间件的发展历程来看,金融中间件始终在不断去使用和尝试新技术,不断将对金融行业发展有价值的技术引入中间件平台,从而确保中间件与时俱进,真正做到技术引领行业变革。

金融中间件的今天 Tuxedo作为中间件平台,曾在金融行业得到应用。但是随着金融行业特殊性要求不断出现,我们发现通用中间件已经无法满足这些需求,自研中间件平台势在必行。恒生从2000年开始探索金融中间件国产化之路,2000年最初诞生的是HSComSvr组件服务器,经过几年的发展,到2004年正式推出金融基础件1.0,成为国内领先的金融中间件,经过多年的演化和持续完善,在2008年正式将金融中间件平台化,推出金融基础件2.0。恒生中间件在十几年的发展过程中曾获得多个国家重大软件专项的支持。

下面笔者将结合具体业务场景,谈谈恒生中间件如何满足金融行业的特殊性要求。

>>网络拓扑复杂难题

每个证券公司,都有自己的营业部,分布在全国各地,大的证券公司一般都有上百家的营业部,每个营业部都有自己的柜员,负责股民的日常业务处理。针对证券公司的集中业务运营系统,每个柜员都会使用桌面终端来完成业务办理,接着所有请求从各地营业部统一汇总到证券总部的系统,进行统一汇总处理,整个系统的软件物理部署模式如下图所示:

从上图来看,每个营业部都有自己的转发应用程序与总部的总线路由程序对接,这样就把营业部所有请求转到总部处理,然后营业部的所有柜台桌面程序对接自己本地的转发应用程序。为什么营业部柜员程序不可以直接对接总部总线路由程序?这是因为营业部需要使用柜面程序的营业员不确定,有多有少,按照200家营业部,一家10个营业员,也就2000个连接,当业务流量大的时候(譬如:文件更新,档案上传),总部的带宽会扛不住,如果通过营业部转发代理,就可以从2000变成200,同时耗费流量的操作可以先在本地转发服务上缓存,等待交易收市之后再跟总部更新。

对于经纪业务运营系统这种场景,中间件需要支持这种网络拓扑下的请求流转,一个大型券商,考虑每个营业部会开启两个请求转发程序进行备份,所以整个系统的中间件节点基本会到千级别的数量。恒生中间件就针对这种网络情况和系统需求,完成了整个网络拓扑的计算,做到了点对点之间的通信,这样业务系统层面开发的时候就不需要关心网络的拓扑细节,降低业务开发难度,同时提升了业务系统各种部署的灵活性。

>>处理性能的高要求

金融行业对速度的追求一直是无止尽的,证券交易的便捷性和速度都在不断的提升。先到先得的交易规则,对交易(尤其是策略交易)的速度提出了更高的要求,从秒级交易进化到微秒级交易,现在已经做到了纳秒级别的交易;除了交易之外,清算也是对性能要求极高的,在2015年行情大好的时候,大型券商每天的交易额都在创新高,但是每晚清算也是苦不堪言,清算一下都要4到8小时,几乎需要天天通宵。对于交易系统要求降低单笔的延迟时间,但是对于清算系统要求提升并发处理的能力,底层中间件平台需要同时支持这两种场景。

恒生中间件为了达到性能的极限,首先研发了内存对象数据库;然后通过C++高性能编程的技术,实现代码最优化的编写;最后为了提升最终性能,就需要设计修改系统相关参数,兼容低延迟的网卡,网络通信的时间可以降低到2微秒,其次就是对操作系统进行调优,不相关的服务都关闭,让系统保持最优的状态。

基于以上的改进,目前恒生中间件已经完成期货业务原型,速度达到4微秒,除了交易的优化,在清算方面,恒生中间件提供的内存数据库技术和调度处理框架,也大大提升清算的速度。

>>接入安全要求

自从证券公司对外部接入系统进行严格管理以后,证券公司的系统对客户端接入的安全需求越来越多,主要包含以下几点:

1、客户端接入需要许可认证。
2、客户端所有的请求都需要带上本机IP、MAC、硬盘序列号等机器特征码。
3、客户端通信进行SSL加密,部分加密算法禁止使用,譬如:MD5,推荐国密算法。
4、客户端登录密码不可以明文传输,需要加密。
5、针对不同客户端,后台可以开放需要的接口,没有开放的接口就无法访问。
6、客户端服务端通信的报文进行签名验证,报文完整性校验,确保报文没有被篡改。

所有的接入安全,都是针对中间件的需求,中间件自有API和服务端通信的时候就需要支持上述的所有安全特性。恒生中间件对于证券接入相关的需求,都进行了完善,另外在中间件接入安全基础之上,恒生还研发了针对接入专用的统一接入网关产品,更多从业务层面进行了控制,做到更高级别的安全。

>>金融业务复杂问题

金融行业经常会有各种新的业务发布,譬如:沪港通,深港通,适当性管理等,还有各家金融机构,针对系统都有很多个性需求,作为一个中间件平台就需要快速响应需求的变化,快速实现,快速交付。恒生中间件除了网络通信和性能追求之外,还有一个重要的点就是业务开发平台,让业务开发变简单。

恒生中间件作为业务的二次开发平台,封装了各类接口、模型、业务上下文、组件等等,让业务开发无须关心技术细节。因为整个中间件采用插件化的设计,让所有的技术模块在注入的时候都很简便,不会因为功能的堆积,让整个中间件笨重不堪,从而降低系统的性能。

金融中间件的明天 经过多年的中间件研发,性能和易用性到目前为止依然还是中间件永恒不变的主题。性能主要还是两大部分,一部分是极速的性能,目前已经做到4微秒,接下来还会继续探索更快的做法,不排除硬件嵌入的编码,把速度发挥到极限,这种模式下只是针对极个性的场景,这种开发和部署对个人水平要求较高;另一部分就是并发量,随着更多人对金融的关注,投资理财的用户越来越多,系统吞吐量也会越来越高,随着硬件性能的进一步提升,如果充分利用硬件资源,是中间件后续持续关注的点,通过提升单机性能进一步降低部署的复杂性。易用性也分为两大部分,一部分是运维的易用性,这部分就是要求中间件内部状态尽可能透明化,中间件需要及时暴露自己内部的状态,在业务问题出现之前,可以提前预警,快速处理问题;另一个部分就是开发的易用,基于中间件的开发越简单越好,入门学习成本越低越好,目前通过自有开发工具提供,大大降低了业务开发时间,后续希望实现图形化拖拽,拼装出新业务,让业务人员自己开发,真正做到懂业务就可以开发业务。

未来随着金融业务的进一步丰富和金融参与者的进一步增加,业界对中间件的要求也会越来越高,中间件在金融行业地位会更重要,同时结合目前云计算,大数据,人工智能的技术发展,中间件也需要更多的技术引入,从而提升业务的效率,做到让金融变简单!

By 许欣芃

比特币牌照的发展与监管逻辑

2015年6月,纽约州金融服务局公布了简称为“比特币牌照”的《虚拟货币监管法案》(以下简称《法案》),它被编入《纽约金融服务局法律法规》第200节,法案名称为“虚拟货币”。《法案》对于虚拟货币商业活动的监管手段主要是事前的行政许可和事后的定期考核。它是美国第一个专门为虚拟货币量身打造的监管规则,其影响力对于美国甚至全世界来说都非同小可。本文拟通过介绍法案的出台背景和依据、解读法案的适用范围和监管内容的合理性,来探讨虚拟货币的监管逻辑,并对我国的虚拟货币监管提出相关建议。

一、法案的出台背景和依据

(一)立法背景介绍 《法案》的出台历经两年:2013年8月,纽约州金融服务局发布了一则通知,声明要开展调查论证、征询对虚拟货币最好的监管方式;2014年1月,纽约举行了规模浩大的听证会,讨论虚拟货币的监管方案;2014年7月出台了第一份征求意见稿;2014年12月发布了第二份征求意见稿;根据社会各界的反馈修改之后,2015年6月3日,最终版的纽约州《虚拟货币监管法案》正式问世。

纽约州金融服务局的负责人本杰明·劳斯基(Benjamin M. Lawsky)在最初的征询声明以及其后的多处演讲中都阐释了《法案》的颁布原因。他表示虚拟货币引起纽约州金融服务局的注意是在2013年,大家看到了虚拟货币的种种益处,其包括推进全球支付系统、降低汇款费率、避免透露信用卡信息引起的欺诈和盗窃、推动传统金融机构的创新和改革等,虚拟货币无论对于消费者利益还是整个金融行业来说都是十分有益的存在。另外,他们也注意到了虚拟货币带来的问题:洗钱、逃税、毒品交易等多种违法犯罪活动在比特币等虚拟货币的帮助下变得更加便利,虚拟货币成为了犯罪工具。

劳斯基多次强调纽约州金融服务局的监管宗旨是要平衡三方面的利益:第一方面是对消费者利益的保护;第二方面是对利用虚拟货币进行违法活动的抑制;第三方面是对虚拟货币这个新兴行业的鼓励和培育。这三种利益的平衡是纽约州金融服务局监管的出发点,历经两年的论证,也始终围绕着如何能实现三方利益的最大化进行。

可见,《法案》的出台背景建立在既要鼓励虚拟货币行业的创新发展,保护其为消费者带来的便利,又要避免虚拟货币沦为犯罪工具的基础上,并不是某些观点认为的要禁止虚拟货币发展的目的。

(二)监管依据:货币转移法 虚拟货币的产生会带来法律风险这一点并不足以成为纽约州金融服务局可以出台行政许可监管的依据。行政许可方式是控制市场准入的一种监管手段,它对市场主体的权利和自由施加了严重的限制,必须在明确的法律依据下设定,这是行政许可合法原则的要求。

正如劳斯基多次强调的,纽约州金融服务局出台这份《法案》的依据是美国非常重要的货币转移法。

货币转移行为在美国一直受到行政许可方式的监管,货币转移者只有领取牌照才能从事货币转移行为。虚拟货币产生后,大量的虚拟货币转移行为相伴而生,从事虚拟货币转移行为也应当领取所在州颁发的牌照。因此,纽约州出台这份《法案》的依据在于货币转移法所赋予的行政许可权,只不过针对的仅是虚拟货币的货币转移行为。

1.货币转移法的基本介绍

美国整体意义的货币转移法由联邦法和州法两个层面组成,联邦法主要负责与反洗钱有关的规定以及货币转移的登记,而州法则是颁布货币转移牌照的法律依据,联邦的货币转移法明确禁止未取得所在州颁布的货币转移牌照而从事货币转移的行为。总体上讲,货币转移服务一般指的是出售或者发行支付工具、储值卡或者以提供转移服务为目的接受货币或者货币价值的行为,其中“以提供转移为目的接受货币或具有货币价值的单位”成为各州货币转移服务定义的核心。以这个核心定义来看,比特币交易所、比特币支付公司当然从事了货币转移服务。 货币转移法律制度最初适用于提供旅行支票服务或者汇票服务的非金融机构,这些机构接受客户支付的货币资金,并且向客户开具旅行支票或者汇票,收款人或者客户自己可以持支票或者汇票至服务商的网点提取相应资金。20世纪90年代末期,商场发行的储值卡也被纳入货币转移服务的范围中去。因此,票据服务和储值卡服务是立法者在立法之初想象的模板。

2.联邦的货币转移法 联邦法律中货币转移行为从属于一个叫做“货币服务商”(Money Services Businesses, MS- Bs)的概念。MSBs包括6种情况,其中一种情况就是货币转移服务商(Money Transmitters)。 MSBs主要规定在1970年的《银行保密法》(Bank Secrecy Act, BSA)中。BSA是美国第一部反洗钱立法,国会授权美国财政部作为BSA的执法部门,财政部又指定其下属的金融犯罪执法网络局(Financial Crimes Enforcement Network, FinCEN)作为具体的实施部门。根据BSA的规定,MSBs是反洗钱义务主体,所有的MSBs必须在FinCEN注册登记。

因此,在联邦层面上看,货币转移行为受到FinCEN的监管,监管依据是BSA,监管手段是要求登记,监管重点在于反洗钱义务的履行。 3.州的货币转移法 联邦层面要求MSBs到FinCEN登记与州拥有实际颁发牌照的权力并不矛盾。注册登记和行政许可不同,在FinCEN上登记几乎没有实质审查条件的限制;而各州的许可要经过漫长的实质性审查,州对货币转移业务规定的行政许可条件才是能否从事货币转移业务的关键。 20世纪中期,几个州颁布了货币转移服务法,主要为防止货币转移服务商在接受了消费者给付的货币后发生道德风险或者破产等无法兑付的情况,这使得货币转移服务法被视为“安全稳健法”(Safety and Soundness Laws)。

现在,美国48个州和哥伦比亚特区都制定了货币转移服务法,每个州对货币转移服务行为的定义不同,设置的行政许可条件也不相同。这种现状也导致很多美国学者呼吁建立全国统一的货币转移服务法,降低货币转移服务商的法律检索成本。

(三)对虚拟货币的不同监管方式 联邦和各州的监管者都确定了虚拟货币的货币转移服务商同样应当受到监管,然而针对虚拟货币的货币转移行为应当如何监管存在两种不同的选择:其中,联邦和部分州选择出台法律解释,将虚拟货币纳入传统的货币转移服务法,而纽约州出台了专门针对虚拟货币的监管法案,不过其依据仍然是传统的货币转移法。

1.联邦对虚拟货币的监管 2013年3月18日,FinCEN发布指南,明确指出不能因为虚拟货币不是真实的货币,其相关主体就能逃脱货币转移服务法的监管。指南中将虚拟货币的相关主体分为三类:第一类是虚拟货币使用者(Users),主要包括使用虚拟货币进行支付的消费者和接受虚拟货币作为支付手段的商家;第二类是虚拟货币控制者(Administrators),指的是有发行中心的虚拟货币的发行者和管理者;第三类是兑换者(Exchangers),比如比特币交易所这样接受比特币然后将其兑换为法币的服务商。FinCEN规定只有第二类和第三类主体属于货币转移服务商,应当登记。 2014年1月30日,FinCEN又发布了管理细则,强调货币转移服务是用任意方法从一个主体那里接收货币、基金或其他可替代价值单位并且转移到另一个地点或另一个主体的行为,该解释包含了所有的虚拟货币转移服务商。

2.各州对虚拟货币的监管 大多数州追随了联邦的监管思路,认为利用传统的货币转移法监管即可,比如德克萨斯州和堪萨斯州的监管方式类似于FinCEN,它们发布指南宣称虚拟货币完全可以落人已经成熟的货币转移法的监管范围内,不需要专门制定虚拟货币监管法案。 而纽约州则认为有必要在传统的货币转移法的基础上出台专门针对虚拟货币的监管法案,随后加利福尼亚州、北卡罗来纳那州也体现出了对纽约州的效仿之意,它们也制定了专门针对虚拟货币的监管法案,目前正在等待州议会的通过。

3.纽约州专门制定虚拟货币监管法案的原因 纽约州金融服务局负责人劳斯基在法案正式生效后的演讲中表示:部门里也有很多同事认为适用现有的货币转移法即可,因为有FinCEN和其他州的监管示范,适用传统的货币转移法是一条稳健不出错的路。然而,劳斯基认为监管者需要主动跳出舒适区,真正担负起监管职责。 首先,虚拟货币未来的发展趋势如何,谁也不能预测,但起码现在其有大量的市场需求,有相关的消费者利益,也产生了很多法律风险,又因为虚拟货币的服务商从事了传统上一直受到监管的货币转移业务,因此,首先应明确需要对虚拟货币的货币转移行为进行监管的态度。

其次,纽约州的货币转移法是在南北战争后确立的。在当时的立法背景下,大众传媒还很少使用,更不用说互联网的产生,因此,当时立法者考虑的货币转移服务商都是实体的商业存在,而今天的虚拟货币不能被划人任何一个传统金融领域,完全不在当时立法者的假设中。负责任的监管者不应当允许这样一种超越了立法者预期的新兴产物被纳入陈旧的货币转移法的监管框架中,否则立法的滞后会极大地阻碍创新。 最后,针对虚拟货币的监管进行专门立法有多项益处:针对虚拟货币的特点制定的安全标准更有利于建立消费者信任、保护消费者利益;更有利于打击与虚拟货币有关的犯罪,惩罚违法更有针对性;更有利于提高针对虚拟货币投资者的投资信心,对于新兴行业来说,长期保持投资热度十分重要。

因此,在货币转移行为一直受到各州行政许可监管的传统下,虚拟货币的转移行为也同样应当受到行政许可监管,而纽约州基于上述原因,决定对虚拟货币设置专门的牌照条件,对其货币转移行为进行更有针对性的监管,于是出台了这部《法案》。

二、《法案》的适用范围

《法案》第一条规定,该法案是有关“虚拟货币商业活动的监管规范”,因此,《法案》的适用范围是“虚拟货币商业活动”。结合传统的货币转移法来看,《法案》规定的适用范围事实上都属于传统的货币转移行为,与FinCEN指南中的规定实质相同,二者都将虚拟货币的“使用者”排除在监管之外。

(一)虚拟货币的定义 《法案》第二条对“虚拟货币”的定义如下: 虚拟货币是指任何一种作为交易媒介或者作为数字形式存储价值的数字单元,虚拟货币应当被广义解释为可交易数字单元,包括:

(i)有集中的储藏处和管理者的;

(ii)去中心化、没有集中储藏处和管理者的;

(iii)可通过计算机或人工创造和获得的。虚拟货币不包括以下情况: (1)以下数字单元:(i)只能在线上游戏平台使用的;(ii)在游戏平台之外没有市场或应用范围;(iii)不能兑换或赎回法定货币或虚拟货币;(iv)不能兑换现实世界的商品、服务、折扣或购买力。

(2)作为一种消费者吸引手段和奖励政策,可以在发行者或指定商家那里兑换商品、服务、折扣或购买力的数字单元,但不能兑换法定货币或虚拟货币。

(3)作为预付卡的部分使用的数字单元。 从上述规定可以看出,《法案》对虚拟货币的定义包含了三个部分:第一部分是总体内涵的界定,即虚拟货币的本质是一种可交易数字单元;第二部分是正面的情况分类,依是否有发行中心以及通过人工还是计算机产生这两个标准进行分类;第三部分是反向排除,将线上游戏币、商家发行的各种形式的兑换券和预付卡排除在虚拟货币的定义外。但该定义的缺陷是没有清晰地将虚拟货币与电子形式的法币进行区分。

(二)虚拟货币商业活动的定义

《法案》同样是在第二条定义部分界定了“虚拟货币商业活动”,这些行为本质上都是货币转移行为。虚拟货币商业活动指的是涉及纽约州或纽约州居民的任何下列活动之一: (

1)为转移或传递而接受虚拟货币,除非这种行为出于非营利目的,并且没有多于名义价值的比特币转移;

(2)为他人储存、持有、保管或者控制虚拟货币;

(3)作为一种客户业务买卖虚拟货币;

(4)作为一种客户业务实施虚拟货币交易兑换服务;

(5)控制、管理或者发行虚拟货币。 虚拟货币自身软件的发展和传播不属于虚拟货币商业活动。 以比特币为例,从比特币流通链来看,比特币服务商受到《法案》监管的行为主要集中在专门从事比特币存储、转账、兑换、兑付等环节,由于比特币去中心化发行,不存在专门的发行机构,《法案》对发行行为的监管不适用于比特币领域。从比特币生态圈来看,比特币交易所的业务是兑换比特币,比特币支付公司符合为转移而接受比特币的特征,钱包公司提供存储比特币的服务,它们所从事的业务都是法案界定的虚拟货币商业活动。

(三)牌照的豁免 《法案》在第三条规定了牌照的豁免情况。 下列主体可以实行牌照豁免:

(1)根据纽约商业银行法获得许可证并且被纽约金融服务局批准参加虚拟货币商业活动的主体;

(2)仅使用虚拟货币来购买或销售货物或服务,或者是仅为投资目的的商人和消费者。 根据这两条豁免规定,商业银行等银行业金融机构只要经过纽约金融服务局批准就可以享受虚拟货币的牌照豁免;而单纯使用虚拟货币作为支付手段或投资手段的消费者和商家不需要申请牌照就可以自由使用虚拟货币,这完全符合FinCEN指南的规定,也与货币转移法的逻辑相同。 分析其原因可知,消费者和商家将虚拟货币作为支付和投资手段的时候,其面临的风险只是虚拟货币的价格波动可能带来的损失,这个风险作为支付手段可以由当事人提前约定,作为投资手段也无非是投资风险自担的问题,不影响公共利益。然而虚拟货币商业活动中列举的兑换、保管等行为有所不同,其金额规模之大、参与人数之多、面临风险之复杂完全不可与被豁免的行为相比,一旦出现任何问题,都直接涉及公众利益和整个虚拟货币行业的发展,因此其亟须监管,这也是一般的货币转移行为受到各州监管的原因。

三、《法案》的监管重点 传统货币转移法的宗旨主要是消费者权益保护和反洗钱,而针对虚拟货币特有的网络安全风险,还需要进行特殊的网络安全监管,因此,《法案》的监管重点包括了反洗钱、网络安全和消费者保护这三个方面。

(一)反洗钱

1.《法案》的规定 《法案》第十五条规定了反洗钱条款,第十二条对登记和记录的规定也与反洗钱有关。

(1)反洗钱条款。《法案》第十五条是有关反洗钱的专门条款。首先,它规定被许可人必须建立一份反洗钱方案,包括内部控制系统、提供独立公正的合规测试、指定反洗钱日常合规负责人、提供持续的反洗钱培训以及董事会批准的反洗钱政策。其次,被许可人应当记录当事人的身份、地址、交易金额、支付方式、发起和结束交易的日期等,个人每天超过1万美元的交易应当报告,还应当监测客户是否有违法活动,有可疑情况要立即向纽约金融服务局报告。最后,被许可人需要识别客户身份,验证姓名、地址,核查其是否在联邦的犯罪系统清单上,针对高风险、大规模或可疑账户的尽职调查标准会有所提高。

(2)登记和记录条款。《法案》第十二条是登记和记录条款,根据交易是否完成作出了不同规定。已经完成的交易应当至少保存7年原始的登记和记录,内容包括每一个交易的金额、日期、具体时间、支付指令、总费用收付款项、名字、账户号、交易方地址,包含资产、负债、所有者权益、收入、支出的总账,银行声明或调账,发送给消费者或各方的评价和声明,董事会记录和会议时间,证明合规性的记录,调查客户投诉和交易错误解决的沟通记录等。未完成的或闲置的虚拟货币账户交易记录应当至少保持5年。

2.《法案》对反洗钱监管的合理性 《法案》对反洗钱的监管主要体现在识别客户身份、保存交易记录、大额和可疑交易报告、建立内部反洗钱控制系统等方面,这与法定货币的反洗钱手段相同,意味着法案将虚拟货币纳入了普通的反洗钱监管。以比特币为例,《法案》的反洗钱监管基本有效。

(1)克服去中心化。《法案》的适用范围对于比特币来说主要是各大交易平台、支付公司等比特币“中介”服务机构。比特币虽然是去中心化发行的,但挖矿的难度太大、成本太高;而在同时拥有比特币的熟人之间进行交易的概率也非常小,因此,大多数人主要通过比特币交易平台来完成现金和比特币转换。比特币交易平台等中介集中了大量的比特币交易,因此其可以被视为比特币交易的一个中心。相比于监管比特币私人用户之间的零散交易,对比特币交易平台的监管难度更小,将比特币交易平台纳入反洗钱义务主体范围收效更高。

(2)克服匿名性。比特币的匿名性是比特币便利洗钱最突出的特点,《法案》规定识别客户身份使得比特币用户无法躲藏在一串串公钥字符之后,不能肆意利用多个地址隐秘交易,而且即使其试图借用他人的账号规避监管,也至少要付出洗钱的成本。 《法案》规定了登记和记录交易,这使得受到监管的比特币交易都曝光在交易平台等机构的注视和追踪下,这样的登记和记录本身就会对洗钱者造成威慑,使其考虑洗钱的成功概率和违法后果,并且,登记和记录还提供了发现可疑活动、日后调查分析的基础数据。 《法案》规定了大额交易和可疑交易的报告和查证,这有利于提高比特币交易平台对洗钱的敏感性,在无法精准确定哪一笔交易是洗钱交易时,这样的制度确实可以一方面削弱洗钱者的动机、提高洗钱成本,另一方面也利于及时发现洗钱活动,不至于任其发展成长期、大规模的洗钱。 最后,《法案》规定的建立反洗钱内控制度同样是常规反洗钱管制的基础规定,商业银行内部都有一套反洗钱内控体系,有专门的反洗钱负责人,也常常开展反洗钱培训。因此,《法案》并没有因为虚拟货币是新兴发展的事物就放松管制,而是在机构内部建设上也将比特币交易平台等相关主体按照商业银行等常规反洗钱主体来要求,这有利于比特币等虚拟货币产业的健康规范发展。

(二)网络安全 1.《法案》规定 网络安全性是比特币产生以来始终被人们质疑的一个风险隐患,《法案》对于网络安全的监管集中在两个条款,一个是专门的网络安全条款,一个是和网络安全有关的业务持续经营和灾难恢复条款。

(1)网络安全条款。《法案》第十六条规定了专门的网络安全方案。《法案》要求被许可人建立一套有效的网络安全方案,并包含五大功能:确认内部外部网络风险,至少识别出自身系统中的信息如敏感信息会被谁如何获取;保护电子系统以及信息不受干扰;检测系统侵入、数据破坏等事件;针对意外事件采取回应措施;恢复和重启。 被许可人还要建立一个内部的网络安全政策框架,每年都需要被董事会至少批准一次,其应包括信息安全、数据分类、控制、业务持续和灾难恢复的准备、执行和容量、系统操作和相关可行性、系统和网络安全、系统、申请发展、质量保证、物理安全和环境控制、客户数据隐私、卖方监管、突发事件回应、检测不直接控制的核心协议的变化等方面。另外,《法案》还规定了报告及审计制度,以及要求指定合格的信息安全负责人员、雇佣足够的雇员来负责管理网络安全、定期培训、更新等。

(2)持续经营和灾难恢复条款。《法案》第十七条是持续经营和灾难恢复条款的规定,它要求被许可人提前制定一份应急预案。虽然这里的灾难恢复并不仅限于网络安全,还有可能包括自然灾害,但网络安全受到攻击同样属于该条的适用情形。方案应包括:确认文件、数据、基础设施、人员的责任,在灾难中与基本人员交流的方案,支撑系统程序的维护备份程序的维护,对必要第三方的确认,等等。这份方案不能仅在被许可人的网站上保存,需把它发给相关的员工离线保存,并且,要提供实施方案的训练,由专业人员每年测试这份方案的可行性,发生紧急事件时还要及时通知主管部门。

2.《法案》对网络安全监管的分析 对于虚拟货币的推广来说,让公众信任存储和交易环境的安全性至关重要。虚拟货币不同于纸币,没有物理形态,所有的交易方式都通过互联网、所谓的存储也在互联网上,因此财产安全很大程度上依赖于网络安全,如何保证网络安全也就成为监管重点。 《法案》规定的网络安全方案制度的五大功能涵盖全面,理论上可以有效地应对各种各样的黑客袭击,并且即使发生了被袭击的意外事件,也有提前制定的意外回应方案,且能够重启和恢复。持续经营和灾难修复条款的要求更是直接指向意外发生后提供解决方案的情形。内部网络安全政策制度的规定也非常完整,这迫使被许可人无法忽视有关网络安全的每一个细节,每年需要进行自我检查,这大大提高了网络系统的总体安全性和系统抵御攻击的能力。 对报告、审计制度和专门负责人、专业人员的规定是为了落实上述的网络安全方案和网络安全政策。被许可人自己的报告制度是自我检查、完善的过程,审计制度是外部的定期检查,加上法案还有专门的一个考核条款,复合检查基本可以保证方案的可实行性。对网络安全负责人、专门工作人员的规定以及定期培训制度等,都使得网络安全的执行有了人员保障。《法案》对网络安全的规定建立在虚拟货币容易遭受网络攻击的基础假定之上,并且针对网络安全的各个方面建立了一套理论和执行上都有效的监管制度。

(三)消费者保护

1.《法案》规定

(1)消费者保护条款。《法案》第十九条是消费者保护条款,它规定了实质风险的披露,包括虚拟货币不是法定清偿手段、没有政府信用支撑、交易不可逆、价格波动不可预测、立法变化可能对虚拟货币造成影响等;一般条款的披露,比如消费者的各种权利、义务及责任;交易条款的披露,比如交易金额、交易费用、虚拟货币交易的类型和本质等;对消费者提供交易收据;要求建立反欺诈政策,包括欺诈风险的识别评估、防止被识别风险的程序和控制、检测风险的责任分配、短期评估程序和反欺诈程序的修复、控制和监测系统等。

(2)报告和财务披露条款。

《法案》第十四条规定了报告和财务披露条款,该条款要求被许可人提交季度财务报告、提交年度财务审计报告,以及公告公司和主要工作人员的违法犯罪行为、公告比特币和法币的兑换方法的变化,提交违规行为报告。

(3)广告和市场营销条款。《法案》第十八条规定了被许可人的广告和营销,《法案》要求被许可人的广告中必须说明自己已获得牌照;至少保存宣传和营销材料在七年以上,包括纸媒、互联网媒介、电视等所有宣传营销手段;需要符合所有的披露要求,不能误导、隐瞒或遗漏。

(4)客户资产的保护和保管条款。《法案》第九条规定了对客户资产的保管和保护,要求所有被许可人都应建立以美元为单位的担保债务或信托账户来保存客户资金,信托账户必须有合格的托管人;被许可人为他人储存、持有或保持保管、控制虚拟货币时,应当另外准备相同类型和数量的虚拟货币;禁止被许可人未经客户同意就出卖、转移、分配、使用客户资产,除非经过客户授权。

2.法案下的消费者保护分析

(1)披露。针对信息不对称的风险,《法案》作出了很多关于披露的规定。向消费者披露虚拟货币要求的实质目的是防止消费者在不了解虚拟货币风险的情况下进行非理性交易,因此,《法案》要求被许可人向消费者披露虚拟货币的法律地位,明确它们不是法定清偿手段、没有政府信用支撑,账户和资产不受保险集团保护,州、联邦甚至国际上的立法变化都可能导致虚拟货币的使用受到影响。此外,还需披露虚拟货币交易可能产生的损失,包括欺骗或偶然的交易损失;市场对虚拟货币的接受程度在不断变化,虚拟货币的价格波动和不可预测性可能导致极短时间内的显著损失;虚拟货币可能存在欺诈或网络攻击带来的风险损失。

《法案》要求被许可人进行定期详细的财务披露,使消费者可以随时了解自己选择的交易平台或支付公司目前的财务状况,在财务数据的基础上对自己的资金安全作出评估,并可以在此基础上自由选择是否更换服务提供商。

《法案》要求被许可人披露消费者的权利和相关注意事项,在广告和营销中也要进行全面客观地披露,比如消费者有停止支付的权利、获取收据的权利、知晓被许可人规则变化的权利,比如被许可人会向第三方透露消费者的账户信息的情况等。这些披露对于消费者来说是明晰自己权利边界最简单的方式,其不需要再去查阅《法案》或咨询律师,知晓权利后,消费者才能意识到侵权行为和如何维权。

(2)客户资产保护。《法案》的客户资产保护主要有三项内容:第一是单独开立账户保管,如果是信托的形式还必须由专业托管人来托管;第二是为客户保管虚拟货币时,需要储存相同数量和类型的虚拟货币;第三是在未经授权的情况下不能动用客户资金。 单独开立账户是保持客户资产和被许可人资产区分开来的基本方法。准备相同数量和类型的虚拟货币相当于计提100%的风险准备金,可以防止流动性风险发生的时候被许可人出现资金断裂的风险。未经授权的情况下不能动用客户资金是基本准则,《法案》的明文规定使得此类行为受到明确禁止,行为一旦发生,消费者的投诉和起诉就有了法律依据。

四、对我国的相关建议 2013年12月5日,人民银行等五部委联合下发了《关于防范比特币风险的通知》(以下简称《通知》),这是我国针对比特币的唯一监管文件。《通知》否定了比特币的货币地位,明确比特币是“特定的虚拟商品”;将比特币和金融机构彻底隔离开;要求比特币交易平台在电信管理机构备案;提出要防范比特币洗钱犯罪;强调要对社会公众进行货币知识的教育及投资风险提示。《通知》的出台有一定的意义,然而对于防范比特币的法律风险来说还存在着不足,比如,《通知》的规定更多是从中央银行的职权来考虑的,对比特币引发的其他法律问题没有回应;将比特币界定为虚拟商品,没有正面回答比特币是否属于新型财产等。因此,面对发展蓬勃的比特币市场,仅靠一份中央银行的《通知》远远不能实现完善的监管。 鉴于我国专门针对比特币的《通知》内容简略,又不具备类似于美国那样完善的货币转移法,笔者建议,我国可以借鉴纽约州的《虚拟货币监管法案》,从以下方面完善监管:

(1)建立专门针对虚拟货币的监管规则;

(2)明确虚拟货币的定义和适用范围;

(3)建立虚拟货币的反洗钱监管;

(4)建立虚拟货币的网络安全监管;

(5)建立虚拟货币的消费者保护监管;

(6)完善外汇、税收等相关监管规则,将虚拟货币的监管纳入其中。

总之,以比特币为代表的虚拟货币在促进全球支付、降低汇款费率、削弱信息被盗风险 、促进传统金融机构革新等方面具有重大意义,也在便利洗钱、毒品交易、逃税等违法犯罪活动、网络安全风险和消费者利益上产生了诸多法律风险。中国应当完善对虚拟货币的监管,也应当平衡好对消费者的保护、对违法活动的抑制和对虚拟货币行业发展的鼓励这三个方面,让虚拟货币在我国有合法、规范、健康的发展空间,让虚拟货币真正为消费者带来便利,为传统金融机构带来革新。

By 牛馨雨

美国MSB数字货币牌照是什么

牌照作为平台重要的合规文件之一。就相当于一个经营许可证,特别是火币相继拿下日本牌照、美国牌照以及在申请加拿大牌照之后,牌照更是被推到了一个新的高度。获得美国MSB牌照也就意味着火币可以在美国大多数州合理的开展业务了。这就是目前各大平台纷纷开始申请牌照的原因,要想正规合法的开展业务就要申请牌照。

MSB是Money Services Business的简称,属于FinCEN(美国财政部下设机构金融犯罪执法局 )管,属于注册许可制。从事金钱服务相关的业务都必须申请该许可。这类似于中国工商登记里加上一项:资金服务业务。 向美国人提供服务的数字资产 “管理方” (例如资产发行方) 与 “兑换方” (例如交易所) 属于美国银行保密法案 (BSA) 下的 MSB,需要在业务开始 180 天内完成 FinCEN 注册。但MSB 是合规进行数字资产交易业务的必要非充分条件。由于美国联邦层面目前对币币交易没有其他明确监管要求,我们熟知的美国本土的B网和P网都是在只持有 MSB 的前提下开展的币币交易业务。

所以MSB牌照的影响是很大的,会影响到其他区块链投资方纷纷办理这个金融牌照,像火币,币安,OK都有注册美国MSB牌照,据了解,MSB牌照是由美国财政部下的金融犯罪执法网络(简称FinCEN)颁发,属于注册许可制。2018年3月,美国财政部和证监会曾明确强调,MSB是虚拟货币交易所及其管理者,在美国境内从事数字资产的相关业务,必须在FinCEN注册MSB牌照。 但持有MSB牌照是在美国合规进行数字资产交易业务的必要非充分条件。美国联邦层面目前对于币币交易没有明确的监管要求,但是由于美国独特的政治体系,各州对于币币交易的牌照要求和联邦监管政策存在差异。持有MSB牌照,并不意味着能够在美国全境开展相关业务。

美国最大比特币交易所Coinbase,拿到了美国政府批准(美国证监会SEC和美国金融业监管局FINRA)从而获得了上线交易证券代币的牌照!火币也获得了美国msb数字货币牌照。

MSB牌照的优势

1.投资者认可–美国的公司法律及金融业监管非常完善,拥有美国牌照,会让您的数 字货币交易平台更受全球投资者的认可。

2.获得权威批准–获得美国财政部的权威批准,您可以在美国及全球开展相关业 务,即代表对数字货币平台的合规监管。

3.成为一线平台– MSB 牌照也是全球数字货币交易机构标配的牌照。Coinbase, Bitfinex,Poloiex,火币网,ok,币安交易所等平台均持有此牌照开展经营。

4.多元化服务– MSB 牌照准许货币兑换及发送服务,使您可以更好地满足客户需 求,提供更加多元化的服务。

办理要求:

第一步– 组建当地公司

请向卓志提供以下信息,以便我们可以开始并准备公司组建所需文件。

1.拟定公司名称- 我们将于美国公司注册机构进行核名

2.股东详情(我们要求至少 1名股东,股东可以是自然人或法人)。

·股东姓名(与护照一致)

·股东地址

·持股百分比

3.董事详情(我们要求至少 1 名自然人担任董事。)

·董事姓名(与护照一致)

·董事地址(地址应与地址证明保持一致)

第二步- 牌照申请

当公司组建完成,我们需要申请人提供以下文件以准备牌照申请:

尽职调查文件

每位董事和股东都须提供以下文件。认证/公证可以通过以下任何方式进行:

a.有效护照复印件

b.美国当地公司信息

·公司注册证书

·公司章程或同等文件

·公司成立1年以上的良好信誉证明。

·公司EIN税务编号

c.交易所的简要概况(可由我司代写)

·交易所提供的服务

·交易所目前经营状况(若该交易所目前在运营)

·交易所的客户群

By 莱诺经济信息咨询

比特币转账教程

1.什么是比特币地址?

生活中,我们都有自己的银行账户,经常进行银行卡转账,转账是在银行卡账户之间进行的。

银行卡号通常是是19位的阿拉伯数字组成。

同样的,比特币转账就是把比特币从一个比特币地址转移到另一个比特币地址上的过程

比特币地址是一串由字母和数字组成的26位到34位字符串。比特币地址就是个人的比特币账户,相当于你的银行卡卡号,任何人都可以通过你的比特币地址给你转账比特币。

例如这样一串字母数字:1PyMi4EYzGZKoxK7DozMGHoQ91EdrMMkBP

对比银行卡号,比特币地址看起来更像一堆乱码,这也可能是让很多人望而生畏,不敢轻易操作的一个原因。

2.怎么进行比特币转账

银行卡转账,大家都不陌生,只要输入银行卡号,转账金额,就能完成转账。

比特币转账操作方式也同样简单,转账时,你需要输入自己的比特币地址,接收方地址,转账金额和手续费金额就能完成。

3.比特币转账原理

当你发起一笔比特币转账后,你需要将交易广播至全网,挖矿节点接到这笔交易后,先将其放入本地内存池进行一些基本验证,比如该笔交易花费的比特币是否是未被花费的交易。如果验证成功,则将其放入“未确认交易”(Unconfirm Transaction),等待被打包;

当比特币的交易数据被打包到一个“数据块”或“区块”(block) 中后,交易就算初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,这笔交易基本上就不可逆转地得到确认了。

用户在比特币网络发起一笔转账时,一般需要支付给记账矿工一定的转账手续费(矿工费用),用于激励矿工竞争记账,为比特币提供足够的算力从而确保比特币网络的安全。转账手续费一般为0.0001-0.0015个比特币,由于区块能容纳交易记录的容量有限,矿工会优先打包手续费高的交易,所以多付手续费可以更快被记账

4.如何创建自己的比特币地址

通过这些常用的方式,可以快速创建自己专属的比特币地址:

  1. 交易平台
  2. 比特币客户端
  3. 比特币钱包

每个人的比特币地址都是独一无二的,有地址就可以进行比特币转账。

By 谷哥

区块链为什么这么慢?

举个例子数钱,比如数一个亿(是不是好刺激~)

1、如果一个人数,慢,但好在专注,全力以赴,在可见的时间内可以数完。这叫单线程密集计算。

2、如果N个人一起数,每人平分,分头同时数,最后汇总总数,所用时间基本上是第一种情况的1/N,参与的人越多,所需时间就越少,TPS就越高。这叫并行计算和MapReduce。

3、如果N个人一起数,但由于这N个人互相不信任,得彼此盯着,首先抽签选一个人,这个人捡出一叠钱(比如一万块一叠)数一遍,打上封条,签名盖章,然后给另外几个人一起同时重新数一遍,数好的人都签名盖章,这叠钱才算点好了。然后再抽签换个人检出下一叠来数,如此循环。因为一个人数钱时别人只是盯着,而且一个人数完且打上封条和签名的一叠钱,其他人要重复数一遍再签名确认,那么可想而知,这种方式肯定是最慢的。这就叫区块链。

但换个角度,方式1,一个人数有可能会数错,这个人有可能生病或休假,导致没有人干活,更坏的结果是,这个人可能调换假币或者私藏一部分钱,报一个错的总数。

方式2,N个人中会有一定比例数错,也可能其中一个人休假或者怠工,导致最终结果出不来,更可能因为人多手杂,出现部分人偷钱、换假钱、报假数……

方式3,很慢,但是很安全,因为所有人都会盯着全过程进行验算,所以肯定不会数错。如果其中有人掉线,可以换人捡出新的一叠钱继续数,工作不会中断。所有数过的钱上面都有封条和签名,不会被做手脚,万一出错了也可以找到责任人进行追责。这种情况下,资金安全是完全得到保障的,除非所有的参与者都串通一气了。该模式下,参与的人越多,资金安全性就越高。

所以,区块链方案致力追求的是,在缺乏互相信任的分布式网络环境下,实现交易的安全性、公允性,达成数据的高度一致性,防篡改、防作恶、可追溯,付出的代价之一就是性能。

最著名的比特币网络,平均每秒只能处理5~7笔交易,10分钟出1个块,达到交易的最终确定性需要6个块也就是1个小时,且出块过程相当损耗算力(POW挖矿)。号称“全球计算机”的以太坊,每秒能处理的交易数也仅是2位数的量级,十几秒出1个块。以太坊目前也是采用损耗算力的共识机制POW挖矿,会逐步迁移到POS共识机制。这两个网络在粉丝们爆炸性地进行交易时,可能会陷入拥堵状态,大量的交易发出后,一两天甚至更长的时间才会被打包确认。

但在资金安全就是命的场景下,有些事情是“必须”的,所以,即使慢,还是会考虑选择区块链。

区块链为什么慢

分布式系统里有一个著名的理论叫CAP理论:2000年,Eric Brewer教授提出一个猜想:一致性、可用性和分区容错性三者,无法在分布式系统中被同时满足,并且最多只能满足其中两个。

CAP的大致解释

Consistency(一致性) :数据一致更新,所有数据变动都是同步的

Availability(可用性):好的响应性能

Partition tolerance(分区容错性): 可靠性

这个理论虽然有一些争议,但从工程实践中看,和光速理论一样,可以无限逼近极致但是难以突破。区块链系统能把一致性和可靠性做到极致,但是“好的响应性能”方面一直有点被人诟病。

我们面向的“联盟链”领域,因为在准入标准,系统架构、参与节点数、共识机制等方面都和公链不同,其性能表现远高于公有链,但是目前几个主流的区块链平台,在常规PC级服务器硬件上实测,TPS一般是在千级的样子,交易延迟一般在1秒到10秒这个级别。(听说TPS十几万级和百万级千万级区块链已经做出来了?好吧,期待)

笔者曾在大型互联网公司工作多年,在海量服务领域,面对C10K问题(concurrent 10000 connection,万级并发)已经有轻车熟路的解决方案,对一般的电商业务或内容浏览服务,普通pc级服务器单机达到几万TPS,且平均延时在500毫秒以内,飞一般的体验已经是常态,毕竟互联网产品卡一下说不定就会导致用户流失。对于快速增长的互联网项目,通过平行扩容、弹性扩容、立体扩容的方式,几乎能无底线、无上限地面对山呼海啸的海量流量。

相比而言,区块链的性能比互联网服务慢,而且难以扩容,根因还是在其“用计算换信任”的设计思路上。

具体哪里慢呢?

从“古典”区块链的系统内部来看

1、为了安全防篡改防泄密可追溯,引入了加密算法来处理交易数据,增加了CPU计算开销,包括HASH、对称加密、椭圆曲线或RSA等算法的非对称加密、数据签名和验签、CA证书校验,甚至是目前还慢到令人发指的同态加密、零知识证明等。在数据格式上,区块链的数据结构本身包含了各种签名、HASH等交易外的校验性数据,数据打包解包、传输、校验等处理起来较为繁琐。

对比互联网服务,也会有数据加密和协议打包解包的步骤,但是越精简越好,优化到了极致,如无必要,绝不增加累赘的计算负担。

2、为了保证交易事务性,交易是串行进行的,而且是彻底的串行,先对交易排序,然后用单线程执行智能合约,以避免乱序执行导致的事务混乱、数据冲突等。即使在一个服务器有多核的CPU,操作系统支持多线程多进程,以及网络中有多个节点、多台服务器的前提下,所有交易也是有条不紊地、严格地按单线程在每台计算机上单核地进行运算,这个时候多核CPU其他的核可能完全是空闲的。

而互联网服务则是能用多少服务器的多少个核,采用全异步处理、多进程、多线程、协程、缓存、优化IOWAIT等等,一定会把硬件计算能力跑满。

3、为了保证网络的整体可用性,区块链采用了P2P网络架构以及类似Gossip的传输模式,所有的区块和交易数据,都会无差别地向网络广播,接收到的节点继续接力传播,这种模式可以使数据尽可能地传达给网络中的所有人,即使这些人在不同的区域或子网里。代价是传输冗余度高,会占用较多的带宽,且传播的到达时间不确定,可能很快,也可能很慢(中转次数很多)。

对比互联网服务,除非出错重传,否则网络传输一定是最精简的,用有限的带宽来承载海量的数据,且传输路径会争取最优,点对点传输。

4、为了支持智能合约特性,类似以太坊等区块链解决方案,为了实现沙盒特性,保证运行环境的安全和屏蔽不一致性因素,其智能合约引擎要么是解释型的EVM,或者是采用docker封装的计算单元,智能合约核心引擎的启动速度,指令执行速度,都没有达到最高水平,消耗的内存资源也没有达到最优。

而用常规计算机语言如C++、JAVA、go、rust语言直接实现海量互联网服务,在这方面常常没有限制。

5、为了达到可容易校验防篡改的效果,除了第一条提到的,区块数据结构里携带数据较多之外,针对交易输入和输出,会采用类似merkle树、帕特里夏(Patricia )树等复杂的树状结构,通过层层计算得到数据证明,供后续流程快速校验。树的细节这里不展开,可以通过网络上的资料来学习其机制。

基本上,生成和维护这种树的过程是非常非常非常非常繁琐的,既占用CPU的计算量,又占用存储量,使用了树后,整体有效数据承载量(即客户端发起的交易数据和实际存储下来的最终数据对比)急剧下降到百分之几,极端情况下,可能接受了10m的交易数据后,在区块链磁盘上可能实际需要几百兆的数据维护开销),因为存储量的几何级数增加,对IO性能要求也会更高。

互联网服务因为基本不考虑分布式互验互信的问题,很少有使用这种树的证明结构,了不起算下MD5和HASH做为协议校验位。

6、为了达到全网一致性和公信力,在区块链中所有的区块和交易数据,都会通过共识机制框架驱动,在网络上广播出去,由所有的节点运行多步复杂的验算和表决,大多数节点认可的数据,才会落地确认。

在网络上增加新的节点,并不会增加系统容量和提升处理速度,这一点彻底颠覆了“性能不足硬件补”的常规互联网系统思维,其根因是区块链中所有节点都在做重复的验算以及生成自己的数据存储,并不复用其他节点数据,且节点计算能力参差不齐,甚至会使最终确认的速度变慢。

在区块链系统中增加节点,只会增加可容错性和网络的公信力,而不会增强性能表现,使得在同一个链中,平行扩展的可能性基本缺失了。

而互联网服务大多是无状态的,数据可缓存可复用,请求和返回之间的步骤相对简单,容易进行平行扩展,可以快速调度更多的资源参与服务,拥有无限的弹性。

7、因为区块数据结构和共识机制特性,导致交易到了区块链之后,会先排序,然后加入到区块里,以区块为单位,一小批一小批数据的进行共识确认,而不是收到一个交易立刻进行共识确认,比如:每个区块包含1000个交易,每3秒共识确认一次,这个时候交易有可能需要1~3秒的时间才能被确认。

更坏的情况是,交易一直在排队,而没有被打包进区块(因为队列拥堵),导致确认时延更长。这种交易时延一般远大于互联网服务500ms响应的标准。所以区块链其实并不适合直接用于追求快速响应的实时交易场景,行业通常说的“提高交易效率”是把最终清结算的时间都算在内的,比如把T+1长达一两天的对账或清计算时延,缩短到几十秒或几分钟,成为一个“准实时”的体验。

综上所述,区块链系统天生就背着几座大山,包括单机内部计算开销和存储较大,背着串行计算的原罪,网络结构复杂冗余度高,区块打包共识的节奏导致时延较长,而在可扩展性上又难以直接增加硬件来平行扩容,导致scale up和scale out两方面,都存在明显瓶颈。

Scale Out(等同scale horizontally):横向扩展,向外扩展,如:向原有系统添加一组独立的新机器,用更多的机器来增加服务容量

Scale Up(等同Scale vertically):纵向扩展,向上扩展,如向原有的机器添加CPU、内存,在机器内部增加处理能力

By 张开翔

狗狗币支付靠谱吗

5万人请愿,让亚马逊接受狗狗币支付?百万卖家表示:我们不答应

最近亚马逊的幺蛾子很多,像扫号、跟卖、库存限制,各种麻烦事情让卖家们感到十分心累,这时,一条关于亚马逊的新闻奔上了热搜,让很多卖家一头雾水。

亚马逊考虑接受狗狗币支付#,狗狗币是什么?这个看上去很像恶搞的货币,真的靠谱吗?

超15万人请愿,亚马逊正考虑接受狗狗币支付?

上周,数字加密货币中的狗狗币价格出现飙涨,之后,狗狗币的粉丝们迅速集结,在美国的请愿网站Change.org上,签署一份请愿书,呼吁亚马逊接受狗狗币支付。

短短时间内,这份请愿书就有超过15万人签名,作为做大的电商平台,如果亚马逊能够接受狗狗币作为支付货币,那么狗狗币的价格将很快突破1美元,完成粉丝们的1Dogecoin=1dollar的心愿。

之后,有媒体报道,亚马逊正在考虑接受狗狗币作为平台的一种支付手段,但亚马逊对此不置可否。

大部分人对数字货币一知半解,甚至闻所未闻,其实在最近几年,数字货币都是很火的概念。狗狗币作为数字货币的一种,挺它的名字,感觉非常搞笑。

其实狗狗币确实是恶搞出来的产物,狗狗币,Dogecoin中的“doge”其实就是前几年网络上非常流行的狗子表情包,仔细看它的设计,就是一个狗头加上字母D,也是十分可爱了。

2013年,它的创造者Jackson Palmer将加密货币与Doge结合在一起,注册了Dogecoin.com的域名,他大批量地复制了比特币的代码,花了不到三个小时就创造出了狗狗币。

Palmer设计狗狗币,纯粹是因为好玩,狗狗币上线的时候,他甚至连所谓“挖矿”都不会,对此他和另一位搭档Markus以为这个玩笑很快就会过去,却没想到狗狗币大受欢迎。

狗狗币的上限被设计成1000亿个,在数字货币里,这算非常多的了,因此它的价值非常小,几乎接近于无,所以人们拿到它的时候会毫不吝惜地进行分享。在国外的内容论坛Reddit,用户们都喜欢用狗狗币作为感谢和打赏。

但是,2014年,Reddit的一些用户开始关心起狗狗币的投资价值。对于创始人而言,这明显是违背了初衷的,他们明白,当初设计狗狗币就是玩票性质的,能够收到欢迎也不是因为它的价值。

因为狗狗币的并没有什么技术难度,也没有实际的落地场景和价值,它的价格一直都处于很低的水平,并在很长时间内低于1美分。

要问为什么它有“活”了,还要得益于马斯克的推崇。2020年,马斯克在推特上将狗狗币吹捧了一番,声称“狗狗币是大家的数字货币”,并表示:“SpaceX将把一枚狗狗币送到月球上去”。

有了马斯克的站台,新的投资者都涌入了狗狗币,其币价也水涨船高。

4月20日左右,狗狗币的价格上涨了10倍,北美电商新蛋网(Newegg)也接受了狗狗币支付,民众们都向亚马逊投去期待的目光。

想用狗狗币支付,怎么能不问问百万卖家?

虽然狗狗币看起来不是个正经货币,但作为数字货币,还是具有去中心化的特征的。

因为去中心化,消费者支付的时候根本无需要通过银行或者其他支付工具,所以也就无需任何手续费,而且,有些人没有传统的银行账户,能够用狗狗币对这部分人是很友好的。

而且,和普通的转账相比,直接用数字货币交易,速度会更快。

使用亚马逊的年轻人非常多,而这一群体里面有很多都是狗狗币的忠实拥趸,结合狗狗币快捷廉价的优势,好像对于消费者们来说有益无害。

但是,不要忘了,狗狗币是没有价值的,就连创始人Palmer也坦率地说:“我觉得它没有解决任何问题。如果非得说有的话,作为一种教育工具,它确实有存在的意义。它提醒我们,这个东西不能当真。”

货币是一般等价物,需要获得大多数人的共识才有价值,我们日常使用的货币,是以政府的信用作为背书的。目前别说狗狗币,就连数字货币的老祖宗比特币,都尚不能得到大多数政府和个人的认可。

虽然目前狗狗币的价格很低,相对来说比较稳定,但它的数量始终是有限的,一旦用于支付,价格很快上涨。

数字货币的价格很容易受到多种因素的影响。

首先,市场投机者众多,狗狗币也不例外,只要像比特币这样的主流货币出现变动,狗狗币也会跟着起落,长远来看,作为支付货币并不稳定。

其次,因为技术力不够,也没有固定实用的应用场景,一旦技术升级,它的价格就会升高。而从宏观上来说,之后的区块链技术有可能迎来极大的发展,行业进步,也会带动币价的上涨。

最重要的一点是,这个市场投机者太多了,受舆论的影响非常大,名人的站台与不看好,都能给市场带来震动,就比如这次马斯克的吹捧,让狗狗币很快上涨。

价格变动大,而且往往让人措手不及,如此不稳定,作为货币使用,无疑会令平台的交易秩序出现紊乱。

比如,商家出售的一件商品,消费者用狗狗币付款之后,狗狗币突然暴跌了,那么商家收到的狗狗币总价值就少了,自己就亏了。

除了不稳定外,盲目使用数字货币交易,还有可能带来支付和财务上的风险。

因为电子货币的支付和流通都非常依赖互联网,在操作过程中存在着各种风险,比如蓄意盗用他人的账号、发行机构内部作案和黑客的恶意入侵等隐患。

除了技术上的风险,还有政策上的问题。

因为亚马逊上有来自世界多个国家的商家和消费者,而目前大多数国家并不认可数字货币,在一些国家甚至是违法的。

亚马逊很难接受狗狗币

虽然亚马逊一直没有回应“考虑接受狗狗币”的问题,但其实很容易想到,杰夫·贝索斯应该不会接受狗狗币。

目前有超过十五万人请愿,但亚马逊上的用户和商家可远不止十五万。对于大多数人而言,狗狗币只是一种价值极低的数字货币,难以取代有政府背书的法定货币,无法受到广泛的认同,很难在平台上流通。

而且,数字货币的价格波动太大了,而货币首先就要保证相对稳定。短时间内价格忽上忽下,容易对平台的交易秩序造成破坏。

如果要使用狗狗币,亚马逊需要提前考虑到平台秩序受到的影响,并想出解决的对策,在真正发生时,也有可能来不及应对,因为币价时时刻刻都在变。

花费这些成本,只为了维护一个没有实际价值的狗狗币,很不值得。

总之,对于平台而言,贸然开放狗狗币支付,面临的风险和成本太大。

在另一方面,从商人的角度来看,贝索斯也不可能对别人家的数字货币放心。

马斯克吹捧了几句,狗狗币价格就涨了,以后随便几个名人吹吹贬贬,那手中货币的价值岂不是掌握在别人手中了?

其实,亚马逊曾经也考虑过使用数字货币支付,但得是自家研发的货币。

2021年2月,Tech Radar报道称亚马逊正在开发一种新的虚拟货币,但这种项目很快就失去了后续。不过,亚马逊还在研究Amazon Coins,为用户购买kindle和fire等硬件设备提供折扣。

如果在亚马逊上使用平台自研的货币,亚马逊可以控制货币的发行,调控其稳定性,同时还可以增强用户粘性,这对于亚马逊来会是更好的方式。

所以,亚马逊基本上不可能接受狗狗币。你觉得呢?

By 跨境必读