TokenInsight 对话首席——底层公链展望之超脑链篇

邀行业首席,谈市场现状,见趋势未来!本期《对话首席》线上活动于4月30日上午10点顺利举办。


本次《对话首席》特邀Harmony 联合创始人 兰荣坚、Conflux CTO 伍鸣、Nervos COO 吕国宁、Monoxide 创始人 王嘉平、超脑链 首席架构师 沈宇峰作为主嘉宾。


三家媒体观察团:链闻杨威、链得得常兴宇和火星财经陆洋。


同时,《对话首席》也欢迎交易所、钱包、挖矿等区块链各领域首席,参与到我们的活动中来,共同为行业的发展建言献策。详情可联系TokenInsight首席沟通官维维:tokeninsight_data。


本次【对话首席】活动,五位嘉宾分享的知识点密集而精深,因此特分为五辑,以飨读者。以下为超脑链篇文字整理版:


第一环节:火星财经提问 /


火星财经陆洋:2018年被称为公链元年,但过去一年的发展我们也看到了,许多项目遇到了瓶颈,在商业化上面临很大的问题。TokenInsight刚刚发布的报告里,我看到不少公链甚至开发停滞。虽然早上谷燕西(Ben Gu) 老师在这个群里跟大家分享说,“衡量公链的标准不是其技术性能多好,二是其同市场中的一个需求的匹配程度。”但我想,技术性能肯定是一个前提。我的问题便跟这个相关:


1. 分片、分层、DAG、新的共识机制,底层公链的性能拓展方式该如何选择?

2. 您的项目当时是如何考虑和权衡的?

3. 您觉得您项目技术架构的特点有哪些?


超脑链 首席架构师 沈宇峰:我觉得每种扩容方案都会有它独特的优势和一定的需要克服的缺陷。比方说共识方面,我们觉得PoW 足够安全,但是性能不行;那 PoS 是一个潜在的方向来提升性能,但是安全上需要经历时间的考验;那同样的PoS 类下面的 DPoS,性能可以做到非常高,但是在去中心化上有很大的牺牲,这样会不会就限制了他能吸引到的客户/开发者群体?


DAG 是个很不错的想法,但是双花的问题有没有特别靠谱的解决方案呢?这个也需要时间来证明;分片相对来说是一个比较热门的解决方案了,他比较明显的挑战来自于分片算力稀释后的 1% takeover attack 问题,以及状态分片后跨分片下数据/智能合约如何交互的问题。


我觉得每个项目在选择共识/扩容方案的时候,需要的是综合项目本身的理念,期望将来吸引和服务的客户群体,理论的复杂度和落地的可行性等方面的整体来考虑,并不是说某种方案就是全方面优于其他方案这样子。


而且还有重要的一点是长期的愿景和短期的工程实践的取舍,如果一味追求很宏大的远期愿景,但是迟迟不能有阶段性的产出和落地,可能也只是一个 empty promise。


Ultrain 在选择这些共识/扩容方案的时候其实做的是排除法,首先 Ultrain 超脑链的目标是“提供信任计算的商业公链“:我们希望是赋能实体经济,赋能现实世界的商业应用,所以我们排除了 PoW 共识而选择了 PoS 作为底层共识,因现有的PoW类共识的性能满足不了大规模的复杂商业应用;然后我们要作为提供信任计算的公链,那就必须是去中心化程度要非常高,所以我们也没有采用半中心化类的PoS (e.g. DPoS) 而是自研了 Random-PoS 共识。


整个Ultrain 网络是一个基于stake的permissionless network,网络节点可以自由加入,这样(单链)节点数就可能会上百上千,然后我们运用 VRF + 独创的随机数算法来挑选每轮的出块节点,这样把每轮的共识复杂度限定在了 O(const)而不是线性的 O(N),使得系统在大规模网络下还能保持较高的性能 (说人话就是随着更多矿机的加入,网络并没有变慢。


这个可能不是专业从业者会觉得难道不是矿机越多越快么?事实情况是越多矿机加入其实是网络是越慢的,可以想象人越多对同一个问题达成一致结论就越麻烦)。我们现在的主网在真实的网络环境下,只由普通配置家用电脑参与组成,做到大概是单链 up to ~1000 TPS 和 ~10s 的确认时间(with deterministic finality)。


当然,不管什么共识算法,单链的性能是有极限的(受限于节点机器的物理性能和现实网络传输速度),在水平扩容上我们选择的是分片的思路,具体的应用都是跑在特定的分片上的,分片间是做到完全的计算和存储隔离(全分片)。


然后为了应对因为算力稀释而可能产生的 1% takeover attack 问题,我们对验证节点在各个分片之间做了随机的调度,这样就会让矿工联合在某个特定分片上作恶的成本非常非常的高。


我们的第一版的R-POS 共识和动态分片的架构都已经在主网上实现了,大家都可以通过我们的浏览器explorer.ultrain.io 来查看网络运行状况, 现在已经有一主三侧链(分片) 将近200个节点在运行了(全网峰值tps 可以达到 ~1000 * 4 = ~4000),这些节点都是自由stake 参与到我们的网络中来的,我们预期半年左右时间会达到将近1000个节点的规模,届时将充分验证和体现我们的R-POS 共识 + 动态分片架构的在去中心化,安全和性能等个方面的表现。


 / 第二环节:链得得提问 /


链得得常兴宇:首先还是感谢TokenInsight的邀请,2019年至今Staking Economy和跨链是底层公链的两大关注点。我的问题也与这两个方向有关:


1. 您如何看待PoS类项目采用Staking取代PoW算力的方式,未来会成为趋势吗?Staking 经济又会对区块链应用落地带来哪些影响?

2. 当前区块链不同链之间无法进行交互,跨链是必由之路。您认为未来跨链的生态图景是怎样的?

3. 2019年底层公链还会有哪些突围机会?


超脑链 首席架构师 沈宇峰:因为我们Ultrain网络的共识是基于 PoS 的,所以我们从项目成立之初其实就一直在做这个 Staking Economy 方面的探索和实践了;随着我们现在主网的上线和我们第一版经济模型的实际落地运行,我主要想谈下我们在经济这方面相关的比较重要的两个思考和设计:一个是矿工的Staking 投资回报设计; 一个是整体网络的Token的供需模型设计。


1) 首先我们来谈矿工的staking 机制设计。在这之前,我们先看下一个看似不怎么相关的话题,就是physical decentralization (物理机器实体的去中心化) 和 political decentralization (机器背后控制实体的去中心化)的关系。


我们知道PoW类的链大多数有专用矿机和矿池的存在,原因首先是专用矿机不管在售价还是渠道上都造成了个人入门门槛非常高。然后全网的算力膨胀的非常厉害,导致个人单矿机爆块概率极低,而矿池因为具有硬件的规模效应会在算力竞争中成本占优,而且矿池能够做到给算力贡献者稳定持续的现金流回报从而吸引大量的算力贡献者。所以PoW的链的很容易就变成 physical & political centralization(被大矿池控制)。


那PoS类网络能不能解决这个问题呢?我们可以看下EOS,他的整体设计就是偏向于寡头/联盟化的(超级节点运营门槛高,超级节点可以相互来投票)。然后Cosmos 如果我们去看他的现在的100个节点的voting power,可以看都是非常集中在前几名的大节点上的。


那为什么要讨论这些呢,因为Ultrain网络的整体设计(包含矿工的staking 设计)主要目的就是通过 promote physical decentralization(小编翻译:促进实体分权) 来实现 political decentralization(小编翻译:政治分权),直白的说就是让大家都能参与和愿意参与进来,让大资金拥有者在竞争中不占优。


为了达到这点,我们的设计上就包括:我们对单个节点的staking要求比较低,然后能参与到Ultrain网络里面的机器要求也比较低,一般的家用电脑/服务器就可以了,尽量弱化了规模化效应,旨在鼓励普通个人都能够通过他们的个人电脑加入到我们的网络里面来。


我们限制单个链的参与节点数目,这样保证每个矿工都能有机会被选中出块,能获得持续稳定的奖励(这点很重要,否则有意愿的矿工只能被迫加入矿池,从而导致staking 的集中化),所有的这些设计加起来都是为了尽量的的使得网络朝着physical & political decentralization 方向演化。


2)第二点我们谈下Ultrain网络的token的供需模型设计。 大部分的PoS类网络的 staking 奖励都是来自增发,所以整体的货币是朝着通胀的方向走的。这里主要的问题是增发系数很难调节,太高会导致通胀速度太快,没有做staking的持币者会蒙受损失;增发系数太小,会导致矿工没有意愿加入,网络安全性和稳定性难以保证。


当然,究其根源是为 staking成本定价的问题,也就是我作为矿工,我stake 了这么些 token,我创造了什么样的价值,这些价值又以怎样的比例返还给我?所以我们认为如果一个网络没有创造实体的社会经济价值,你单靠增发token来回报矿工的付出这个是无法长时间维持的。


既然是讲 staking economy(小编翻译:权益经济学),我们就从economics 最基本的基本的供需关系 demand & supply 入手来讲Ultrain 的设计。我们认为 demand就是实体经济对新型的基于区块链的信任计算的需求,应为这个信任计算能改造他们既有的商业模式(或者创造原来不存在的商业模式),减少因为信任摩擦而带来的成本(e.g. 合同/契约的签订,履行,仲裁等等),这部分成本就是他们愿意为信任计算服务提供者(直白些就是组成链的矿工)支付的酬劳。


矿工的投资回报模型就是通过基本硬件的投入加stake 的抵押投入来赚取这部分酬劳。具体的体现就是Ultrain网络的每个分片/侧链的创建都是由需求端---也就是商业实体发起的,他们愿意支付一定的成本购买一条侧链来为他们的业务提供服务,Ultrain 网络会将抵押了stake 的矿工组织起来来为这个商业实体服务,并获得商业实体提供的奖励作为矿工收益。


总而言之,我们的 staking economy 的设计是在先有 demand(需求) 的前提下,来组织和调度矿工机器来提供 supply(供给),他们通过现存的流通的token 来做结算(用于企业购买分片资源的付费,矿工的stake & 奖励);如果demand 和 supply 都很旺盛的话,系统会释放部分锁定的token来提供流动性 (粗糙的类比现实世界就是GDP 温和提升,M2总量保持不变;GDP 大幅提升,M2总量做相应提升)。系统不会采用在没有 demand的情况下,靠增发来补贴矿工来满足无实际效用的 supply(同样的类比就是GDP 没有提高,但是M2总量却在提升) 这也是对应Ultrain 的做“商业公链”的目标的,是为了给有需求的实体商业服务而招募了矿工组成了公链,而不是为了空挖矿而做公链。


以上这两点是我们在Ultrain 网络设计和实践过程中的一些经验,肯定也会存在设计上的盲点,也欢迎大家多多提提建议,共同进步。


跨链方面我个人觉得可能还需观望一段时间,首先是有整个跨链的需求有多大?因为这个很大程度上依赖于公链的竞争态势,如果最后的公链竞争只会留下位数不多的几条公链,那整个跨链协议的价值的天花板也会受限。


当然,跨链协议和具体的公链是不冲突的,如果证明了跨链有特定的价值,Ultrain 接入跨链网络应该也是比较简单的,特别是 Ultrain 网络是有 deterministic finality 和~10s 的比较短的 confirmation time,这些特性对于跨链协议来说都是非常友好的 (对比 probabilistic finality 而言)。


 / 第三环节:链闻提问


链闻杨威:作为TokenInsight 的好伙伴也是老朋友,感谢再次受邀。本人很荣幸代表「链闻」出席本次直播。我的问题是:


1. DApp 和稳定币,未来底层公链的生态发展方向有哪些?

2. To B 还是 To C,底层公链如何进行商业落地?

3. 您认为新成立的底层公链是否还有机会?

4. 您的项目未来在生态发展方向上有哪些规划?

5. 您认为哪些行业区块链会率先落地?


超脑链 首席架构师 沈宇峰:先挑最容易回答的吧,“您认为新成立的底层公链是否还有机会”这个,我觉得答案是肯定的 ,想想淘宝和京东之外都还能长出个拼多多呢,公链的竞争还远没到头部领先者遥不可追的阶段。


先发者有先发者的优势,但是由于区块链技术的特点也决定了一但主网上线后,后续的大规模迭代更新效率做不到很高,这样就给后发者在充分学习了前人的经验教训后在追赶上留出了时间和空间,我觉得大家都还是有机会的。


To B 还是 To C,从底层公链本身的角度来说其实是区别不大,有区别的是团队的资源储备和打法的选择。Ultrain 的目标是朝着“商业公链“的方向走的,这是因为团队的成员里面有相当丰富的商业咨询和服务背景(我们的CEO 郭睿 & 生态负责人 Samuel 都是有着10+年的在IBM做大型商业服务的经验)以及商业资源 (我们的CSO Emma 有着10+年的跨国投资&投行经验),所以服务商业实体是高度符合我们团队的人力资源的背景的。


当然另外一点我个人的判断是2B2C 会相对好做一些。怎么说呢,如果只是解决B2B纯商业实体之间的信任摩擦,可能联盟链会是商业巨头们的第一选择,作为初创公司来和巨头提供的联盟链竞争会有一定的劣势。而2B2C的业务,一个真正去中心化存在的有公信力的公链是会对C端用户产生一定的吸引力的,从而引导B端商家选择用公链而不是联盟链的。


像最先和我们Ultrain 合作的国内第一潮牌 YOHO!的一个已经落地的项目就是限量球鞋的链上验真和溯源,买到限量球鞋的消费者都可以在Ultrain的链上来追溯他的球鞋的验真信息,然后互相之间的买卖流转信息也会上链,这样的商业场景对于C端球鞋买卖用户来说一来提供了真正的价值,二来而且本身上区块链对球鞋验真也是个很酷, 很有lifestyle 的一种感觉,契合了潮牌球鞋用户的特质,这就是一个很好的 2B2C 的业务例子了。


整个行业的生态发展和落地方向来说,总的来说数字化程度越高的行业和区块链的结合就相对容易,像金融业,比方说最近很火的DeFi。 但是从我个人角度来看,现在DeFi 的这些项目就像是拿着区块链的锤子来找钉子,我们有了交易所这个钉子了,那我锤个去中心化交易所 dex 出来。我有预测市场prediction market/衍生品 derivatives这个钉子了,我锤个去中心化预测市场/衍生品出来。借贷抵押这个我们司空见惯的钉子,我锤个 Dai 出来。当然了,这些项目都很有意思,有些设计也很精巧,我也非常希望看到他们能gain traction & create value。


从我个人来看,我觉得好的技术应该是能够“拓展商业边界”的。怎么说呢,原来有的东西,你用新技术改造了它,让它变得更好用,挺好的,我们鼓鼓掌。但是如果原来没有的,或者不可能的东西,你用新技术创造了它,让它成为了可能,创造了一种新的价值来源,那这叫做技术拓展了商业边界。所以我们也不高谈什么区块链改变生产关系,我们深入到我们的实体商业合作伙伴当中,和它们一起看看区块链技术能帮他们做些什么。


比方说我们最近有个接触的行业,二手车交易行业,这个听起来还是比较土的,和DeFi这些相比听起来可能没那么的 sexy。但是二手车交易确实存在有很多的问题大家应该也都知道,维修记录缺失/造假,定价机制不透明等等。


那我们想能不能让维修记录上链呢,4S店还好说,车主和小修理厂没有意愿做这些啊,那是不是可以用token 的方式来激励修理厂来将维修数据上链呢?然后后续的潜在买家可以通过支付一定的费用来查看/调用这个二手车的历史保养和维修记录,他支付的费用或许可以用于激励当初上链的数据提供者(4s店和修理厂)。


或许卖家不愿意完全公开这个车的相关数据给所有人,但是又想要说服买家他的定价是合理的呢?这个时候零知识证明就可以发挥作用,卖家可以在不暴露数据的情况下让第三方报价机构给出一个报价,然后买家又可以相信这个报价是公允的。然后随着交易的完成,这份数据档案的所有权也可以在链上随之转移到买家手里。


我们看到,这个例子里面有很多元素是在传统商业和IT技术下很难或者无法实现的,这里面有对数据原始提供者的持续激励机制,数据资产拥有权的转移,隐私保护下的零知识证明,这些都充满了区块链和密码学的元素。


当然了,这个例子暂时只是我们和合作伙伴的畅想,但是我想引出的是这其中的三个要素:数据资产的确权,激励机制,可信任的计算,这是拓展现有商业边界的三个突破点,如果现有的商业模式在这三点上有所欠缺的话,都是可以尝试和区块链技术结合的。


我们Ultrain 团队有强大的国际化的商业背景和资源,有已经上线运行的可提供服务的高性能公链,在密码学/隐私保护/零知识证明方面也有强大的技术/人力资源储备,所以我们的的商业推广落地的打法上也是朝着这些方向走的。


微信小程序

Tokenin指数? Token白皮书? TIindex指数?


往日精选

底层公链行业2019 Q1报告 | TokenInsight

交易所行业2019 Q1报告 | TokenInsight

挖矿行业2019 Q1报告 | TokenInsight

【中心化交易所】行业月报 | TokenInsight

区块链赋能供应链金融研究报告 | TokenInsight


公众平台及联系方式

官网:https://www.tokeninsight.com

微博:@TokenInsight

电报中文:https://t.me/TokenInsightChinese

电报英文:https://t.me/TokenInsightOfficial

推特:https://twitter.com/TokenInsight

商务合作:bd@tokeninsight.com


查看项目报告请到官

https://tokeninsight.com/report


长按下图加维维好友

留邮箱地址收取干货周报邮件


640?wx_fmt=png

640?wx_fmt=png

MICROSOFT FOUNDATION CLASS LIBRARY : ZSCPascal AppWizard has created this ZSCPascal application for you. This application not only demonstrates the basics of using the Microsoft Foundation classes but is also a starting point for writing your application. This file contains a summary of what you will find in each of the files that make up your ZSCPascal application. ZSCPascal.h This is the main header file for the application. It includes other project specific headers (including Resource.h) and declares the CZSCPascalApp application class. ZSCPascal.cpp This is the main application source file that contains the application class CZSCPascalApp. ZSCPascal.rc This is a listing of all of the Microsoft Windows resources that the program uses. It includes the icons, bitmaps, and cursors that are stored in the RES subdirectory. This file can be directly edited in Microsoft Developer Studio. resSCPascal.ico This is an icon file, which is used as the application s icon. This icon is included by the main resource file ZSCPascal.rc. resSCPascal.rc2 This file contains resources that are not edited by Microsoft Developer Studio. You should place all resources not editable by the resource editor in this file. ZSCPascal.reg This is an example .REG file that shows you the kind of registration settings the framework will set for you. You can use this as a .REG file to go along with your application or just delete it and rely on the default RegisterShellFileTypes registration. ZSCPascal.clw This file contains information used by ClassWizard to edit existing classes or add new classes. ClassWizard also uses this file to store information needed to create and edit message maps and dialog data maps and to create prototype member functions. For the main frame window: MainFrm.h, MainFrm.cpp These files contain the frame class CMainFrame, which is derived from CMDIFrameWnd and controls all MDI frame features. resToolbar.bmp This bitmap file is used to create tiled images for the toolbar. The initial toolbar and status bar are constructed in the CMainFrame class. Edit this toolbar bitmap along with the array in MainFrm.cpp to add more toolbar buttons. AppWizard creates one document type and one view: ZSCPascalDoc.h, ZSCPascalDoc.cpp - the document These files contain your CZSCPascalDoc class. Edit these files to add your special document data and to implement file saving and loading (via CZSCPascalDoc::Serialize). ZSCPascalView.h, ZSCPascalView.cpp - the view of the document These files contain your CZSCPascalView class. CZSCPascalView objects are used to view CZSCPascalDoc objects. resSCPascalDoc.ico This is an icon file, which is used as the icon for MDI child windows for the CZSCPascalDoc class. This icon is included by the main resource file ZSCPascal.rc. Other standard files: StdAfx.h, StdAfx.cpp These files are used to build a precompiled header (PCH) file named ZSCPascal.pch and a precompiled types file named StdAfx.obj. Resource.h This is the standard header file, which defines new resource IDs. Microsoft Developer Studio reads and updates this file. Other notes: AppWizard uses "TODO:" to indicate parts of the source code you should add to or customize. If your application uses MFC in a shared DLL, and your application is in a language other than the operating system s current language, you will need to copy the corresponding localized resources MFC40XXX.DLL from the Microsoft Visual C++ CD-ROM onto the system or system32 directory, and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation. For example, MFC40DEU.DLL contains resources translated to German.) If you don t do this, some of the UI elements of your application will remain in the language of the operating system.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值