观点 | 亚太区以太坊社区培训及交流Meetup深圳站见闻

hongji   |     |   374 次阅读

12月3日,由灵钛科技发起的亚太区以太坊社区技术培训及交流Meetup在深圳举行。Meetup的议程涵盖了以太坊技术发展、应用开发以及优秀应用等各个方面,吸引了来自中国台湾、日本、韩国、美国等国家和地区的研究者、项目代表、爱好者等作为演讲嘉宾或是听众参与到Meetup中。本文为我对Meetup见闻的一些记录。疏漏之处,所在多有,愿有识者不吝赐教。


本次Meetup的活动议程涉及到的内容可分为以下几类:

  1. 以太坊应用。演讲数量为8,但应用类型基本上集中在金融科技领域,即使用集中化交易所或是在以太坊链上搭建Dapp以帮助用户参与金融市场。这部分内容集中在下午。
  2. Dapp的开发及成长趋势。演讲数量为2,分别由Kevin Serrano以及Michael Wuehler带来。前者的概述了MetaMask的情况以及Dapp的成长趋势。内容据议程表,后者的演讲内容是使用Infura开发Dapp,但我并没有听见这部分内容。也许是主办方考虑到演讲的受众规模而将演讲安排到了中午。
  3. 以太坊技术进展。演讲数量为2,分别是台湾的以太坊研究者王筱维(Hsiao-Wei Wang)对以太坊分片技术的介绍,以及以太坊创始人Vitalik对以太坊隐私保护技术发展方向的介绍,分列整个Mettup的一头一尾。
  4. Cryptoeconomics。演讲数量为1,即是Jon Choi带来的关于Casper的演讲。
  5. Securtiy相关。演讲数量为1,是由台湾以太坊研究者林修平带来的多签名钱包介绍以及Parity事件分析。
  6. Funding相关。演讲数量为1,是由Jehan Chu带来的融资模式比较和建议。
  7. 社区建设。演讲数量为1。遗憾的是我同样没有听到这部分演讲。

上述议题及演讲的数量或可为大家提供一个关于本次的Meetup的粗略的印象。那么接下来我们可以谈谈演讲的具体内容。

以太坊应用

在本次Meetup上,关于应用介绍的演讲是最多的。而在这些演讲中,金融交易类型的应用又是最多的,达到了5个,分别是OmiseGoEverMarketsKyberOlympus Labs以及火币Pro

其中,OmiseGo关注的是Cryptocurrency以及法定货币之间的相互兑换。他们的目标是使用竞争机制来确定不同货币的优劣,而要实现这个目标,一个公平的竞争平台是必要的前提。在技术上,OmiseGo使用Plasma来应对交易平台需要面对的大量交易请求。

EverMarkets关注的是衍生品市场;Kyber则跟OmiseGo一样试图做链上去中心化交易所;Olympus Labs致力于拓宽加密货币的资产属性,比如,让它变得可抵押、可借贷。

火币Pro并不是一个Dapp,但我仍然把它归入这一类,因为其切入点与上述应用高度一致。

这些应用毫无疑问地都在致力于使得区块链和加密货币变得更易用(让整个生态更容易进入)、更有用(能具备更多金融资产的属性)。但这另一方面也表明,至少到目前为止,多数人都仍然认定Blockchain的杀手应用是其资产属性。我不知道Blockchain是否还有其它杀手级应用,但这个问题是值得重复去追问的。我同样也相信,近日Cryptokitties的流行,一定会给人们带来更多的新想法。

另外三个应用分别是uPortDai,以及Bluezelle

uPort针对的场景是使用区块链上的应用时必然涉及到的身份识别和信息授权问题。对此我们并不陌生:在现有系统中,往往是你想使用一个软件,就得注册一个帐号,提交一些个人信息;尽管你可以为一个手机号码分别注册一个支付宝账号和一个微信账号,但你不可能用同一个账号使用支付宝和微信。uPort的思路是,由uPort来收集信息,日后在使用别的Dapp时,只需要用uPort授权给Dapp就好,不必再重复提交信息和注册帐号。

Dai则是一个StableCoin项目。其目标是创造一种盯住国际货币组织(IMF)创造的货币单位SDR(特别提款权)的Cryptocurrency。但其实现机制并不是储备SDR然后调节Dai的数量,而是让用户将ETH锁定在智能合约中作为抵押来创造Dai。举例而言,当Dai的市场价格低于目标价格时,调整抵押与Dai的比例,使得同样的抵押只能创造更少的Dai,同时反向激励人们把Dai换成ETH(因为Dai可以换到比原来更多的ETH了),使Dai的数量下降,价格上升,达到目标价格。

Bluezelle是一个数据保护项目。其实现方式是把一个数据达成碎片分别存储起来,而偷到其中一个碎片是毫无意义的。但更具体的细节我也没听懂。

Dapp开发与成长趋势

MetaMask的Kevin Serrano介绍了MetaMask在当前市场中的情况(在100个top加密资产交易项目中排名第13等),并提出Dapp是开发者的运动场、需要更注重用户体验等。

以太坊技术进展

王筱维的演讲《以太坊分片概说》的主线是从节点的角度去说明Sharding的意义。

在以太坊1.0,一个全节点要执行EVM bytecode、变更状态、验证merkle proof;矿工则要挑选交易、执行EVM bytecode、建立merkle proof和运行Ethash工作量证明算法。但这也就带来可扩展性问题,因为每一个节点都要运行每一笔交易,同时EVM尚未能平行化执行。

提高扩展性的方案之一,就是Sharding。王筱维沿用了Vitalik对分片的类比:可以把不同的片想象称一个个小的星系,这些星系虽然同在这宇宙之中,但星际航行是很少的。因此,各星系内部的交易可以各自执行,这就提高了交易的速度。

主链与分片链的区别,可以看下面这个表格:

Main Chain Sharding Chain
Block Collation
Block Proposer(or Miner in PoW chain) Collator
Ethash(PoW) Casper(PoS) Via validator manager contract on main chain

主链上设置一个时间区间(比如5个区块),在一个时间区间内,一个分片只能上传分片头到主链上一次;多个分片头可以上传到区间内的同一个区块,也可以是不同的区块。

而当分片上出现分叉的时候,对分叉的选择是服从主链的选择。比如,如果分片上出现了分叉,而A状态所在的主链是3个区块,而B状态所在的主链是2个区块,那么分片的状态就变成A。然后,B所在的链仅仅只是到达3个块与A所在的链区块数量持平并不能变更状态,只有当B所在的链又超过了A所在的链成为主链,分片的状态才会变为B。

分片之后,链上的节点还可以有一些新的设计,比如,无状态节点。因为以太坊状态树是一个默克尔树,因此,当账户状态改变的时候,只有该账户所在路径的上的(数据)节点哈希值会变动。因此,可以设计这样一种模式来完成状态的变更:交易者提供自己的账户所在数据整条路径的哈希值;而全状态节点提供为了计算出新的状态根需要的其它哈希值;而无状态全节点只需要存储状态根(state root)(想象一个高为3的标准默克尔树,交易者需要提供3个哈希值,全状态节点需要提供2个哈希值)。这样的无状态节点,是非常“轻”的。

同样,无状态节点也可以成为分片上的验证者。当一个片在具体时间区间的验证者被随机指定之后,该无状态节点向全节点发送信息并获得无状态快速同步(stateless fast sync),然后无状态节点就可以根据上述过程创建一个collation了。

同样值得注意的是,在可扩展性问题上,人们常常提到三种解决方案:sharding,Plasma,以及state channel;本次王筱维使用的PPT上还出现了另一种:交互式验证(Interactive verification for scalable computation)。

Vitalik的演讲在本次Meetup作为压轴演讲出场。不同于近期他在其他场合频频提到的可扩展性问题,本次他的演讲针对的是区块链的隐私保护措施。他一共提到了四种隐私保护措施。

一是状态通道。因为在状态通道内的交易对第三方是不可见的,所以可以用来保护隐私。但有些交易不是两个人的直接交易,而是通过中继来完成的,这样中继也能看到两个人之间的交易。

二是混币。多个账户通过一个中介对多个账户转账,这样从外部观察就不知道谁到底转了多少钱。困难在于:这样的中介如果是链外的中心化机构的话,这种解决方案显然也就不那么理想。幸而我们可以用智能合约来作替代。

三是环签名。即在一个签名群组中,任何一个人都可以用自己的私钥和其他人的公钥生成一个新密钥。因为这一过程无需其他人帮助,所以群组中的人也不知道你到底有没有交易、交易了什么。

四是零知识证明。零知识证明即是在不告诉验证者自己的交易内容的情况下使得对方有办法验证该交易是真实存在的。Vitalik对零知识证明还是很重视的,他有句话,大意是说,现在如果你要考虑创建一种加密货币的话,应该好好搞清楚这个技术。

Cryptoeconomics

Jon Choi为我们作了一个关于加密经济学和Casper的演讲。但就我听懂了的部分来说,他的演讲主题是加密经济学,Casper只是个配角。在演讲的开始,他花了很长时间去定义何谓加密经济学。然后,他列出了加密经济学研究的四个范畴:分布式系统、密码学、微观经济学和宏观经济学。而后,在演讲开展的过程中,他展示了相关范畴的理论工具是如何用于分析区块链的相关设计的,从微观经济学中的规模效应到资产价格定价等等。

Security

以太坊研究者林修平的演讲主题是多签名钱包。他先是比较了保管加密资产的各种途径,从自己抄下来到硬件钱包乃至多签名钱包。而后他着重介绍了多签名钱包的模式和使用方法:生产M个签名,只需要得到其中N个签名就可以发送交易;在比特币网络上,要遵循“产生多个签名-收集N把公钥-生成新公钥发送交易”的流程;而在以太坊网络上,可以通过建立智能合约并将使用者设定为合约拥有人来实现同样的功能,并且,这种设计还允许通过更新合约拥有人来变更多签名钱包使用者。

然后,林修平介绍了多签名钱包的升级版——金库。金库的核心特点是把钱存进去之后,取钱需要时间。在不存在第三方的金库模式中,如果忘记了私钥,金库里的钱就遗失了;如果私钥被偷,则因为拥有者与小偷都拥有私钥,双方都可以取消对方的提钱请求,从而导致谁都无法取出这笔钱而陷入僵局。可以想象的是,最后小偷会通过一个讨价还价的智能合约来打破僵局,比如合约规则为将汇入该地址的金额的5%发到一个地址,95%发到另一个地址。在存在第三方的金库模式中,由于第三方的地址被写在合约中,而拥有者与第三方在链外具有私人关系,则可以使用如下方法来处理遭遇的问题:如果拥有者忘记私钥,则拥有者联系第三方,让第三方发起提钱请求,尽管这会等待更长时间,但不至于全部遗失;如果第三方私钥被盗,由于第三方的提钱请求需要更长等待时间,因此拥有者可以轻松拒绝掉第三方的提钱请求;如果拥有者私钥被盗,一种特殊的交易方式,比如拥有者与第三方创建一种不可被拒绝的提钱请求就可以将钱全部取出。但是,如果上述两种情况中的两种同时发生,还是会导致金库中的钱失盗。

Funding

Keneti Capital的Jehan Chu的演讲的重点在融资过程。他提出在融资过程中有不止一个因素需要考量,包括渠道、成本、时间间隔、资金质量、资金质量和资金时限。然后他比较了传统的风险投资的过程的优点与缺点、token融资的优点与缺点。

传统的风险的优点是规范、可预期以及低风险;缺点是比较忙,而且回报也不高。而现下的token融资的一般流程是法律合规、撰写白皮书、社区建设、预售、分配代币、公布交易;优点是门槛低、使经济激励趋于一致;缺点是法律规范并不清晰,token销售模型也比较复杂。

而他的建议是采用混合模型,比如在种子轮使用token融资,做出具体的产品之后再用其他方式融资。


作者: 阿剑

编者按: 本次Meetup上的许多议题,在EthFans网站上都有资料,比如uPort和Casper。我们会继续跟进相关议题,为大家搬运重要的外文文献,而重要议题的PPT会在近日获得作者授权后进行分享。

 
0 人喜欢