井畅物语

井畅物语之一 井畅是啥

首先说一下井畅是啥,很简单,是一个具有跨链功能的去中 心化数字资产交易所。这里主要是两个概念:第一个是跨链,第二个是去中心化。 因为井畅具有去中心化交易的能力,因此其适用范围,不仅是虚拟币这类数字资 产,还包括传统的大宗交易和外汇交易。那么为啥大宗和外汇交易也需要去中心 化?你可以查一下新闻,就是今年,有一个啥 90 后出生的美女,用外汇交易平 台的旗号,骗了 40 万人,卷了 300 亿人民币跑路了。这个跑法,比比特币交易 所门头沟,要厉害多了。

井畅物语之二 Gavin Wood 大神

本来谈井畅,肯定要谈跨链。要谈跨链,就必须谈 Polkadot, 就必须谈 Gavin Wood 这个大神。但是今天大神被天雷给劈得焦头烂额,事关 他做的 Parity 的多签名钱包,今天出了问题。这个问题,就是钱包里面的关键 库 payable 成为空白,于是所有用这个钱包存钱的同学们,你们的钱全部封住, 出不来了!!!这个估计影响超过 1 亿美元的以太币价值。

井畅物语之三 Parity多签名钱包

为啥出这个问题?大家还记得,7 月份,两家 Parity 多签名 钱包的几千万美元被人盗取了吧?那个时候,就正好是 Polkadot 进入密集宣传 的关键时刻。后来这个问题,被赖到了 Solidity 的库里面有问题去了。实际上, 我觉得如果小 v 那边的 solidity 应该挨 60 大板,那么 Wood 这边的 Parity 也 应该挨 40 大板。但是这些的问题,就是完全 Wood 自己出事情了,叫做 wood burned by wood。因为在 7 月 20 日的修复合约里面,埋藏了一个漏洞,如果 你调用钱包启动程序,你就可以把 Parity 钱包的合约转化成一个你自己的私人 钱包。这个漏洞,昨天被无意中启动了。而 Parity 的钱包合约里面,有一个自 己自杀的功能,这样有人又启动了这个功能,结果现有的钱包,全部不能动用了, 呵呵。

井畅物语之四 Parity多签名钱包的具体漏洞

问题一起说明一下。上次,就是你创建 Parity 多签名钱包,是会调用 Solidity 的_walletLibrary,那么怎么调用呢,就用了一个代理(delegate),返回 _walletLlibrary.delegatecall(msg.data)。那么对传过来的信息里面,找不 到对应名字的怎么办?Parity 团队就用了兜底的功能,来解决送以太币,这个功 能叫做 payable(),如果你的 msg.value>0,有币,就送出去。没有币,但 是有信息,就用上面那个代理功能。结果这里就被黑客攻击了。

井畅物语之五 黑客的攻击方法

那么黑客就搞了一个功能,叫做 initWallet,这个名字代理 找不到,就直接去 Solidity,然后 Solidity 这边编程的,居然让这个功能作为公 共功能,而不是内部的功能。这个是 Solidity 团队要打的 30 大板。那么你要设 置一个新钱包,是否要检查一下这个地址是不是已经有了现存钱包?没检查,这 个再打 30 大板。那么从这里,黑客就调用了 initMultiowned 程序,将现有多 签名钱包的主人,换成自己。当然下一步,就是把钱包里面的以太币清空。

井畅物语之六 白帽子修复漏洞

不过这些黑客水平还不够强,所以并没有将上面的步骤搞成 script。因此他们找到了最大的两个钱包,手动去攻击,就偷走了价值 3 千万美 元的以太币。那么白帽子团队赶紧冲进来,用 script 把所有的钱包全扫一遍,抢在黑帽子动手之前,全部把币转走,这样就救下来 1.8 亿美元。那么在 7 月 20 日,Parity 团队就修复了漏洞,将 payable 里面的 delegatecall 删掉了。可 是昨天无意中间,出现了另一个漏洞。就是有人用 initWallet 的时候,居然就把 walletLibarary 这个智能合约,给转换成了一个私人多签名钱包,并且自然就是 这个钱包的主人了。

井畅物语之七 kill多签名钱包的影响

然后这个同学不太清楚,对自己创建的钱包不满意,就想杀 掉它吧。于是他就调用了 kill 这个功能,把自己的多签名钱包(其实是 Parity 的 walletLibarary 的合约)给自杀掉了。那么用这个合约创建的钱包,有什么 影响呢?就是你的 payable 功能,里面只剩下……的空白了。这个影响是啥?就 是你无法把你账户里面的以太币发出去,这些钱现在是石沉大海了。

井畅物语之八 墨客不用多签名钱包

Parity 多签名钱包闯的祸,自己先遭殃了。因为自己的钱包, 所以 Polkadot 的 ICO 的钱也自然去了这里,大家看到账号里面有 306276 个以 太币,按照 300 美元价格估算,就是 9188 万美元了。有同学问我们的墨客,我 们没有用多签名钱包,因为我一直就对他们的安全性持有怀疑。尤其是经历了 7 月份被偷盗事件,还没有吸取教训,继续用的同学。。。

井畅物语之九 多签名钱包的描述

看了前面系列,有不少同学吓尿了,赶紧来问他们的以太坊 钱包是否安全。其实不用担忧,这个只是发生在 Parity 做的多签名钱包你可以 想象这个多签名钱包其实就是一个另类的智能合约,里面规定了多数签名就可以 用钱包里面的币。现在的情况,就是钱包里面的运作,比如你两个主人一起签名, 做一个支付。然后你钱包里面的支付功能,本来去调用公用库,现在这个公用库 没了,自杀了。所以你现在可以在钱包里,做支付,但是主人号令千万重,钱包 我巍然不动。可是怎么公用库给人家自杀了呢?唉,据说干这个惊天动地的大事 的人,是一个开发新鸟,他以为只是杀掉别人一个钱包,不知道是用核武全部轰 了。他整个过程用的 gas 费用,只有 0.85 美元,不到 1 美元,成功灭掉了 3 个 亿美元。

井畅物语之十: 期待Wood 大神的贡献

虽然说了很多 Polkadot 的钱包的事情,虽然 Wood 大神自食其虫(bug), 导致 Polkadot 没了 1 亿美元,还是希望他们剩余的钱,可以继续开发工作。毕竟 他们和我们井畅,既是对手,也是战友,跨链技术还是需要好几家团队的共同努力的。

井畅物语之十一 未来的跨链技术

从这次的 Polkadot 的钱包事件,也可以看出 Wood 团 队的风格,就是目标和志向远大,但是实际操作能力还是缺乏做到实处。这次的 麻烦,要是想解决,还得靠以太坊硬分叉,将之前的智能合约重新部署到新公共 库的地址上。但是考虑上次在 TheDAO 的分叉上面,Wood 和小 V 产生分歧, 他是坚决反对分叉的,这次会不会成为言行不一的情况。目前来看,区块链的第 一代人物,比如中本大神,背景是密码学和网络安全,思维方式是以安全起始, 只有安全的事情,才去做。比如中本大神选择的加密库,后来发现是没有美国国 家安全局的后门的库,这个肯定就是密码界内部小圈子的秘密知识了。而从小 V 他们开始的第二代区块链人物,算是胆大而妄为。比如自己搞 Solidity 编程语言, 居然里面的功能哪些该公开哪些不该,都没有理顺。比如上次那家,自己牛逼写 哈希库,让人家行业专家几分钟就碰撞出来。比如这次的公共库的运用,哪有几 亿美元相关的东西,居然连网络安全的行业内部检验,都不做的。其中主要原因, 就是现在的人士多为互联网背景,讲求快速迭代,讲求功能繁复,好比互联网你 重新部署一下就行了呗。可是只有我这种来自网络安全行业背景的人士,才懂得 中本大神的比特币系统设计的简练和安全。未来的跨链技术,从我思维的角度, 也不能从万能系统开始,而是要实实在在安全地做好跨链代币互换。至于其他的 功能,还是要有一个屏蔽,不然,从 A 链跨过去,把人家 B 链给灭了,就不太 好吧。

井畅物语之十二 中心化平台和去中心化平台

目前所有的各类区块链项目,基本上都是在自己的孤岛单独存在,而链接各 个孤岛的桥梁就是各种币币兑换的交易平台。而大部分的交易平台,本身都是中 心化的。这里有两个概念大家需要明白。第一个就是在平台上进行交换,这里可 以是中心化,也可以是去中心化。去中心化的,比如井通、比特股、瑞波等等, 在这些平台上面发布的虚拟币,用户是可以从自己的钱包做交换,而无需充币啊, 提币啊,这些中心化平台的行为。另一个就是平台系统的出入口,目前来看基本 上都是中心化,但是因为国内之前打击了中心化平台,迫使这些平台必须走场外 交易的 C2C,就是把进出系统的口子,让渡给了独立(不管资金和人员是否同 源,但是在法人意义上)的接口,这个接口,就是我们称为的银关。

井畅物语之十三 中心化交易所的缺点

那么银关的概念,也要和普通的中心化交易所的充值和体现概念区别出来。 去中心化交易所,比如你有一个瑞波币,是在你自己的个人钱包里面,这里不存 在啥充币和提币的概念。而在中心化交易所里面,你必须把你的币交给交易所, 然后交易所在自己系统里面给你记账,然后将你的币放在他们的钱包里面保管。 而你要提币,就是交易所从保管账号里面,发币给你私人钱包,然后交易所你的 账号里面,记录减掉。这里其实有两个很大风险,一个就是 internal fraud,内 部造假。交易所本身可以拿自己储存的币在外面做各种买卖融币操作,然后根据 自己的利益需求,主动引发价格大幅度波动盈利。另一个风险,就是 external hacking,外部盗取。因为交易所的钱包币很多,肉太肥,那么黑客们就开始死 命攻打这些钱包。门头沟就是其中一个比较出名的例子,另外 Bitfinex 也是一个 著名例子。

井畅物语之十四 法币的出入口

另外要交易就必须有法币的出入口。这里也有两种不同出来方法。中心化交 易所,一般采取直接法币入口,就是你在交易所有一个法币账号,你充值多少人 民币啊美元啊进去,然后账号就相应的变化。那么你提现多少钱出来,也是相应变化。这里的主要不同,就是去中心化交易所,基本上这里采取了发行法币代币 的方法,比如比特股的 bitCNY 和 bitUSD,瑞波和井通里面的 CNY 和 USD, 都是平台发行的法币代币,你的所谓充值提现,就是法币和法币代币时间的买卖 关系,当然最好就是币值固定一比一,而且每一个发行的法币代币,都有相应的 法币作为抵押,别发生瑞波的日本日元银关跑路的情况,呵呵。

井畅物语之十五 法币代币成为主流

当然这里去中心化交易所和中心化交易所,都是一样,采取了中心出入口的 法子了。目前因为国内政策打压,法币的入口,基本上从平台法人自己,转移给 多方参与的第三方法人来处理。目前来看,国内之前的中心化交易所,采取的是 C2C 的对点方式,来换取 tether 公司发行的美元代币 USDT,所以看起来,目 前这一块,大家的做法开始标准化,都是靠法币代币,取代了之前的人民币直接 充值提现的方式。从这里法币代币和其他虚拟币的交换,还是有中心化币币交易 和去中心化币币交易之分别。那么这个接口的变化,意义重大,因为考虑到未来 法定数字货币的出现,就会取代目前的法币代币,呵呵。

井畅物语之十六 多币系统

当然法币形成的资金池,如果实行第三方代管的话,内部挪用资金的行为就 可以制止了。而外部黑客的偷盗就比较不容易,比较银行资金安全系统还是很强 的。上次好像看到有人内部偷盗了孟加拉国的中央银行的钱,但是很少听到哪个 商业银行的账户被黑客攻破钱没了。这个确实也是区块链技术必须解决的安全问 题。具有这种银关功能的去中心化平台,我称为多币系统,比如比特股,你可以 交易 BTS 和 bitCNY,也可以交易 bitCNY 和 bitUSD。瑞波你可以做各种 CNY/USD 交易(汇兑),也可以做 XRP/USD。井通你可以做 SWT/CNY,也 可以做 VCC/SWT。而其他的系统,比如比特币,就是单币系统,你只可以支付, 不可以挂单买卖,因为它里面没有其他可交易代币。

井畅物语之十七 以太坊的多币系统

以太坊因为创立了智能合约,就带来了另外一种不同的玩法。虽然以太坊自 己也是单币系统,但是你可以用智能合约发行 ERC20 标准的代币,并可以通过 ICO 的方式,来做你的代币 AAA 和以太坊 ETH 币的交换。但是和银关发行的代 币不同,银关发行的 A 币、B 币和 C 币等等,本身是自带可以互相交易的功能, 因为是多币系统。以太坊智能合约的 AAA 币、BBB 币和 CCC 币等等之间,却是无法互换,算是鸡犬之声相闻,老死不相往来,呵呵。要让它们一对一兑换, 你必须每一对建立一个新智能合约,然后你可以有 1000 个不同的代币,呵呵。 于是,0x 协议就出来了,希望通过制定一系列通用的智能合约,来解决 ERC20 标准的代币互换。在这个协议上面来开发去中心化的交易平台,有 0x 协议自己 团队做的 0x OTC,也有其他团队在这个协议上开发的路印 Loopring 团队。其 实他们做的都是以太坊去中心化交易平台。

井畅物语之十八 银关和跨链

但是之前包括井通在内的已经实现的去中心化交易平台,也有本身的弱点。 因为从银关进来的代币,大概是三种。第一种,就是法币,这个比特股、瑞波和 井通都实现了。第二个,就是其他虚拟币,比如说比特币,怎么办?那么解决方 法,就是你建立一个比特币银关,做一个比特币和比特币代币(比如 bitBTC, 或者 jBTC),那么代币在你系统里面流通,出入平台走比特币/比特币代币兑换。 结果,当初有比特币同学,在瑞波开了一个银关,发行 1 亿个比特币代币,然后 就哈哈哈哈哈,在 bitcointalk 论坛上面笑得满地打滚,呵呵。确实,这里的问 题,就是如果你接入的本来就是虚拟币,为啥还要搞代币,为啥不直接接?那么, 这个不就是跨链吗?

井畅物语之十九 去中心化的跨链

其实在 2014 年,井通在设计平台的时候,就不光设计了法币的出入口,也 在银关这里给了实体企业用实际物理资产(比如房屋和游艇)作为对标物在井通 平台上发行数字资产。这种流程,今天叫做阿西偶,呵呵。但是在实践过程中, 发现很多企业不愿意只是在你的公链上简单发一个数字资产,而是希望和我们技 术合作,自己建立一条独立的区块链,这些或者称为井通亲戚链,呵呵。那么如 何把这些链接进来,做到和井通平台上的各种虚拟币互换?这个也是跨链了,呵 呵。然后考虑到将来法币走入数字货币区块链,也必须要用跨链解决。因此井畅 的出现,和 0x 协议不同,因为他们需要解决去中心化交易所在以太坊平台上, 实现链内多币交易。而我们链内交易,几年前就有了,现在要解决,是去中心化 的跨链交易,呵呵。

井畅物语之二十 跨链下一个杀手级应用

因此目前来看,产生数字资产一共有四个来源:1. 央 行法定数字货币;2. 智能合约产生数字资产(目前以太坊的 ERC20 是事实标 准);3. 各种私有链和联盟链产生数字资产;4. 公有链产生数字货币资产。而 跨链技术,不管你叫做跨链平台还是交易所,都无所谓,是唯一可以把这些孤岛 链接起来的方法。因此我的判断,跨链,英文叫做 Cross-chain atomic exchange (trading,swap),是区块链的下一个杀手级应用。

井畅物语之二十一 比特币的内战

今天先讲一下比特币的内战。因为很多矿池是机枪池, 就是程序自动设定,在 Btc 和 Bcc 之间,根据挖矿收益而转换,当 bcc 价格跨 过 1000 美元,而难度又没有那么高的时候,大概挖矿收益是挖比特币的两倍。 这个时候,你看到比特币算力大规模流失,导致了比特币出块降低到平均 22 分 钟,交易确认拥挤,手续费高达 20-100 美元,引发一片骂声。而之后,因为 bcc 挖矿难度上升,算力才切回比特币。估计这种工农互斗,短期无解。而 btg 在码农支持下,也来争锋,一片狼藉。

最近比特币分叉的大剧,又因为笑来老师的参与,变 得热闹起来。那么对井畅的跨链来说,分叉越多链就越多,那么跨链需求就越多。 我曾经说过,将来区块链的大篷车,开到检查站,人家检查人员喊名字“比特币”, 结果车上一群同学都举手。如果你把比特币系统,看成一个社区(也可以是企业 和国家),那么内部不嗨皮的同学,基本上只有两个方式–要么吵闹,要么走人。对国家来说,不嗨皮,去抗议鼓噪,获得政府反应,或者直接移民拜拜。对企业 来说,去向管理层提建议表达不满,或者交辞职信,世界辣么大,老子不信没地 方施展。那么对比特币也一样,segwit2x 的妥协,core 团队笑纳了 segwit, 但是转脸坚决抵制扩容,于是无法通过抗议解决问题,大家就开始卷铺盖走人, 建立自己的新天地。

井畅物语之二十二 阿芙欧

自从阿西偶被国内禁止之后,阿芙欧(IFO,Initial Fork Offering)开始火起来了。当然现在的阿芙欧还是在比特币身上挖肉,不 排除这股风很快就吹到以太坊上面,给你来一个二姨太到十三姨太。可以用笑来 老师的 SBTC 的阿芙欧来算一笔账,总发行量是 2121 万,其中 2100 万和现有 比特币挂钩,采取空投和未来挖矿方式。而预挖的 21 万,如果可以成功达到 bcc 的水平,就是 1000 美元价格,那么就是 2.1 亿美元,与笑来老师的 bigone 大 概在同一水平。当然价格需要资金(法币和比特币)来稳定,因为 core 团队手上也会有相当多的 sbtc 来砸盘。所以看起来还是未来粉丝的争夺战。不过大家 都借比特币腹生子,最先受到打击的是各种比特币源码 fork 出来改名的山寨币。 比如如果笑来老师在比特币分叉上面落实了以太坊类似合约,那么量子链的危机 就来了,大家开撕吧。

井畅物语之二十三 虚拟币占据交易份额

自从阿西偶横空出世之后,虚拟币数量和 价值大幅度增长。因为以太坊为阿西偶的主要平台,因此增长最多的是 ERC20 代币。当然这些代币,也可以分为两种情况,一种算是过桥币,比如 BM 的 EOS、 我的 MOAC 等等,都会在自己平台跑起来之后,转换为自身的平台币。另一种 就是完全在以太坊上发行的代币,以应用为主,会希望在以太坊平台上运营。而 目前看,真正形成储蓄货币地位的,只有比特币和以太币。目前主要作为买卖的 法币,在交易中的份额,会慢慢让步给比特币和以太币。作为自己的代币之间的 交易,目前看不是很活跃,但不排除未来会大幅度增长。

井畅物语之二十四 莱特币的跨链

今天说一下跨链,第一张图是朋友 Charlie, 也是莱特币的创始人,通过闪电网络实现的比特币和莱特币的跨链交换。这里的 关键点是需要甲方公布随机数 X,才可以同时释放锁定,来达到原子交换。但是 只要两个缺点,第一个是需要参与区块链支持闪电网络,不支持必须硬分叉来支 持。第二个就是公布 X 的过程还是靠手动,需要类似 cosmos 这种基础设施来 实现,但是又引进了更多复杂性。墨客在井畅上面的实现,是避免了这两个缺点 的。

井畅物语之二十五 墨客的跨链解决方案

墨客为了解决这两个问题,采取的技术对应方 法,第一个是采取智能合约定点触发功能。比如你的以太坊交易,会在 N+3 个 区块触发,保证把对应的墨客币发送给你。这样当随机数的哈希锁发出之后,交 易对方可以信任而发以太币给你。这样的话,只要任何区块链具有信息功能,就 可以跨链,而无需硬分叉来支持闪电网络。而要做到交易的彻底自动化,则需要 用墨客的子链,就是建立在 pow 的底层上面,运用分片技术隔离出来的子链, 来实现数据的广播和共识的建立。当然这里的子链如果数量不大,比如 20 个节 点的话,没必要采取 pos 了,直接用 bft 就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值