本文为万向区块链蜂巢学院线上公开课第19期内容。在本期公开课中,HashKey Me Director黄赛杰、Ankr COO Ryan Fang、Crust产品总监Dean共同讨论了“Web3.0的去中心化存储和计算”。错过直播的小伙伴,别错过下面这篇干货。蜂巢学院线上公开课每周都会邀请技术专家来进行分享,添加小助手微信号:fengchaoxueyuan,获取每周直播入口和时间。
黄赛杰(主持人)
大家晚上好,欢迎各位来到蜂巢学院线上公开课【直播间】第十九期,本次公开课也是Web3.0 Bootcamp的去中心化存储专场。很荣幸受邀担任本场的主持人,我是HashKey Me Director黄赛杰。本期专场探讨的主题是《Web3.0的去中心化存储和计算》,我们邀请到了Ankr COO Ryan Fang以及Crust产品总监Dean,下面我们就正式开始。
首先,请大家介绍一下自己,以及自己的项目,各自项目解决了什么样的问题,在技术和项目上有什么创新点。我们先从Ryan开始吧。
Ryan
大家好!我是Ankr项目的COO Ryan Fang。我们认为在区块链发展过程中,很大的挑战是一个人参与到区块链里,很多的普通区块链参与者搭不了节点,做不了投票、Staking,其实是很难真正参与到区块链里。
Ankr通过非常简单的形式、应用,让大家可以非常容易地部署节点。现在我们支持了接近50条区块链主网,波卡也是非常重要的生态,不单单是波卡本身,还有波卡上各种各样的平行链,我们也做了非常深度的合作。希望能够最大程度降低参与区块链的门槛。
Dean
Crust Network 是一个去中心化存储的激励层。接下来我会详细介绍一下Crust的方案。
Crust解决的问题:
在我的认知中,任何去中心化存储,必然要解决三个不同层面的问题:证明、激励和服务。 第一层,证明问题。就是每个节点需要向全网证明自己的存储量、自己是否正确提供存储服务等。Crust基于TEE可信执行环境技术,提出了(Meaningful Proof of Work,MPoW)机制。
节点的TEE会不断对节点存储发起随机挑战,并周期的向全网报告该节点提供了多少存储空间、节点存了哪些用户文件等信息,在MPOW机制帮助下,报告中的工作量是可验证并且可信的。这是Crust对存储证明问题的解答。 第二层,激励问题。Crust团队设计了一种以存储资源定义额度的PoS共识算法,叫(Guaranteed Proof of Stake,GPoS)。
通过前面MPoW机制提供的工作量报告,Crust链上可以获得所有节点的存储工作量,而第二层的GPoS算法,就是根据节点工作量为每个节点计算一个Staking额度。再根据这个额度,进行PoS共识。这个机制也是Crust对激励问题的回答。 第三层,服务问题。即面向用户的存储服务,一句话总结为,怎样能为终端用户带来高质量的去中心化存储服务。面向C端和B端客户我们都会有相应的支持。
To C的落地场景,大家可以想象成一个去中心化的“iCloud”,只不过拥有更快、更便宜、更强隐私性。To B场景,我们会提供适配AWS S3的接口。
Crust的创新点:
说到Crust的创新点,主要体现在证明问题的解决、共识层面的设计、以及隐私保护。
1、因为 TEE设备在终端设备上市比较常见的。Crust节点进入门槛低,但可以保证网络的高效用。在Crust里,TEE像一个诚实的监督员。周期性的检查节点是不是正常工作,有没有错存漏存用户数据,这就是Crust的 MPoW 机制。
2、基于GPoS机制,保留PoS共识高 TPS 特性和稳定性的同时,加入Staking额度机制,降低了PoS共识带来的可能的代币集中化问题。
3、隐私保护。TEE还承担了 “保险柜“ 的功能。对于用户的敏感数据,TEE的加密可以让存储节点自己也无法对用户的隐私进行读取。就像金库出租者自己也打不开客户的金库一样。 基于这3个创新,Crust可以为其上的应用、B端客户、C端客户提供更加稳定、安全、高效、低成本、的存储服务资源。
黄赛杰(主持人)
谢谢Dean。不管是去中心化存储,还是去中心化云,都是提供了Web3.0的基础设施。对于基础设施来说,可用性(SLA)设计是重要的评估指标,各自在这块上的考量和设计是什么样的?
Dean
在Crust网络内,每个节点根据环境、服务质量,文件系统稳定性等因素会有一个可用性指标。节点的可用性,必然会影响基于Crust网络上服务的可用性。
因此,要提供一个可商用的存储服务,对用户文件提供一定的冗余和备份,比如纠删冗余,多路副本等措施是必要的。 但由于Crust是完全去中心化的网络,节点并不是由Crust团队来中心化维护。因此,Crust在设计协议的时候,需要对节点的SLA进行检测。在这里,我们通过TEE技术,可以让节点可用性如实被反映在链上。 同时,如果让一个传统互联网用户,直接面对的是Crust网络,那么他在使用存储服务的时候,需要进行节点选择、文件的冗余备份、元数据的保存等动作,这个体验一定是糟糕且不可用的。
那么,Crust需要结合社区和生态的力量,基于Crust链上可信披露的节点参数,开发一系列服务,比如文件自动备份服务、节点选择和路由服务,共同填补前面的提到的“不可用陷阱”。
Ryan
SLA是非常重要的一部分,尤其是区块链节点本身,如果你把它部署在中心化的云(亚马逊、微软),你是在和中心化的云签SLA。
我们和中心化云不一样的地方在于我们真正意义上帮助区块链用户在不同国家和地区,根据用户所处的地理位置,寻找比最合适的节点位置。现在全球已经有5000多用户通过我们的平台,运行超过2000个区块链节点。
如果我是ABS,我帮你租借一个服务器,服务器挂了怎么办?赔你钱,这就是理论上的SLA。我们两块业务,第一块儿是现在已经在投产的不同区块链的一键式租赁服务,这是中心化的SLA。未来去中心化的SLA是通过Token抵押和质押来完成的。
黄赛杰(主持人)
接着上面的问题,大家另一个考量的点会是数据或服务的安全性。从各自提供的服务来说,提供的安全保障机制是什么样的,保障安全的视角上有什么差异?从Dean先来分享。
Dean
Crust首先是一个激励层协议。在协议设计的视角,我们主要考虑的安全问题在于协议层面的攻击,和硬件层面的攻击。 所谓协议层面的攻击,一般是利用协议的逻辑漏洞进行,比如:女巫攻击、生成攻击,都是我们需要防范的。
硬件和操作系统层面攻击,主要是针对TEE的攻击。我们需要保持对TEE漏洞的审查和抵御。一旦发现任何TEE代码的漏洞,要第一时间进行TEE代码更新,每次更新都需要一次链的无分叉升级,这也是我们项目基于Substrate开发的一大优势。 针对TEE攻击抵御,或者有人提到TEE中心化的问题,我们还有一个创新点。就是多TEE架构。通过引入多个TEE厂商,并强制每个节点安装两个或两个以上TEE。
Crust网络可以解耦对单个TEE厂商的安全依赖。举个不恰当的例子,万一 Intel的TEE芯片厂商亲自作恶,Crust网络也可以第一时间发现,并且避免对网络的危害。
Ryan
我想分享的主要是两部分。
第一部分,偏中心化旗舰平台,平台最核心的价值和功能是让人们非常容易地参与到事情里,这样的话所采取的Serial module其实是一些比较传统的Serial module,根据用户的不同等级、不同级别安全性的需求,提供定制化的服务。
对普通用户的话,一般是首要考虑的是平台稳定性,当然,我们平台运行到现在,整体用户的满意度、稳定性还是很受大家肯定的。
第二部分,去中心化Staking,这个功能核心在于Smart Contract的安全,可以看到此类公司会与做智能合约安全的公司非常紧密地合作。因为Contract就是already seen的过程,把already seen过程做完以后,让他能够有更好的安全性。我们也会在去中心化的Staking上链之前,也就是在以太坊2.0上线之前进行大量测试,包括现在已经在使用以太坊2.0也在进行不断的测试和更新迭代。
这是两部分security大概的考量和措施。前面Dean讲到的关于TEE的部分也很有意思,这其实也是我们着重看的一部分。因为我们支持很多不同的区块链,不同区块链的Serial module也是不一样的,我们着重的是infrastructure level的security。当用我们平台运行了区块链以后,区块链本身的security是区块链本身的particle完成的。Crust是用SGX或者TEE来做一部分的东西,包括还有别的,波卡生态也是用SGX。这是非常有意思的方向,理论上TEE也是非常有意思的概念。
总体来说,基于以太坊的去中心化Staking部分,其实就是Smart Contract的all letting。第二部分是去中心化是根据不同的用户,提升更多的security level,甚至在hard work层面上,根据不同的particle做不同的安全设计。
黄赛杰(主持人)
谢谢Ryan。关于Web3.0的挑战,Web3.0 的基础设施建设是一个被广泛需要,但又充满挑战的赛道。大家在各自的项目开展过程中,有什么样的挑战和难点,如何去克服?要不请Ryan先来分享。
Ryan
我们所面临的挑战和难点主要有以下几个部分:
第一,前面主持人谈到两个问题非常好,为什么大家会选择我们set up一个节点?除了比较好的exclusion,很重要的是也会跟用户有非常清晰的SLA。但是,其中又有很多需要做布道内容。这是中心化部分,核心还是把精力放在小白用户、机构用户,假如你是机构,但是机构并不一定想要招一些人去维护节点,因为可能需要很多维护成本。
看未来,如果不单单投资机构用区块链资产,传统企业也使用区块链资产的话,大家整天在维护节点,这不是很合理。从商业发展和进程逻辑角度来说,应该是有服务商提供这一部分的服务,这也就是我们做的事情。
难点和挑战点是什么?毕竟这是新的service,我们叫做Node-as-service,节点即服务,我们需要教育市场确实你可以找一个工程师把你的节点做起来,以太坊也好、波卡也好。高效的管理,这是中心化业务方面面临的挑战,和我们做的一些努力。
第二,去中心化挑战,当然首先第一个挑战是希望以太坊2.0尽快上线,这样去中心化Staking也可以做。除了以太坊去中心化Staking,我们也在研究别的链上去中心化Staking,包括基于波卡的。波卡不同于其他链,节点数量还是会不断增多,也是有去中心化Staking的机会。
不管是中心化部分业务还是去中心化部分的业务,都是为了让更多人以更低的成本、更低的门槛能够加入到区块链Staking中,Staking是参与区块链的第一步。现在我们面临的挑战是希望用户了解到区块链的特别之处,和真正有价值有意思的地方。
Dean
Crust目前难点有两个,TEE的升级问题以及服务进化的问题。在一个去中心化的网络中,如果我们默认节点都是贪婪地。那么不同的激励模型会带来不同的节点形态,从而影响最终的服务形态。Crust协议层的设计的一大挑战,在于通过特殊的订单系统结合TEE技术手段,可信的披露尽可能多的参数,并最终影响节点收益。从而使得网络可以向一个良性状态演化,从而避免劣币驱逐良币而退化成为一个“挖矿游戏”。
黄赛杰(主持人)
谢谢Dean,正好有两个针对Crust的问题想问一下Dean。去中心化存储在哪些应用场景下可以挑战传统的中心化存储?有什么经验可以分享吗?
Dean
相比传统的中心化存储,去中心化存储的优势主要在于对隐私的保护、对边缘存储的支持、以及共建共享带来低成本。
Crust在这几个方向都有一定的探索,可以预期的几个落地产品主要有:Crust Cloud,一个人云存储应用;Crust CDN,一种 P2P 的容内分发网络;以及企业数据存储和冷数据备份等服务。 首先介绍一下, 8 月份即将上线的Crust Cloud。这个应用可以类比苹果的iCloud、华为云空间这样的存储应用,Crust的去中心化存储,优势主要体现在用户数据的隐私存储。
而Crust的去中心化特性,天然的降低了信任成本。Crust的每个存储节点都是基于TEE的,能够提供数据从用户到节点再回到用户的全链路全生命周期的加密保护。 还有一个非常广泛的应用场景,就是内容分发网络——CDN。很多人可能对CDN不太了解,我简单介绍一下。当我们下载王者荣耀更新包或者观看B站在线视频的时候,数据往往并不是直接从单一源站点下载的,而是从距离我们最近的CDN加速节点下载。所以整个网络需要足够分布。
而Crust的去中心化存储网络,天然的具备分布式、边缘化并且贴近用户侧的特点,因此这一点上是可以挑战传统CDN网络的。 最后,对于一些低端节点,比如用的低端机械硬盘+小带宽节点,是否可以提供服务呢? 答案是肯定的。任何资源只要放在正确的地方,就可以发挥它的价值。Crust中TEE对于存储和检索过程中一些参数的证明,可以在二层提供分析。
这样可以、可信的筛选出优质的节点,一些价值相对高的商业数据会倾向与存在优质节点。而对于低端节点,为了利用多余的带宽和存储,则会以极低的价格提供冷数据的存储。 通过降低信任成本,为不同质量的存储资源带来流转。这也是Crust去中心化存储的一个价值体现。
综上所述,个人云盘、内容分发网络、冷数据存储,将会是Crust向云存储市场首先发起的探索。
黄赛杰(主持人)
刚才Dean提到了如何构建应用,公链或者去中心化应用如何去集成/使用Crust,准备如何构建基于Crust的生态?
Dean
首先,Crust Network集成的不止是去中心化项目。
Crust是可以集成所有需要数据存储的项目。Crust将于8月初上线一个去中心化云存储应用、Crust Cloud测试版,到时候大家可以上去体验一下。不过由于数据是存在测试网矿工处,大家千万不要保存太多重要数据。
回到去中心化世界或者Web3.0的世界里。基于Polkadot,不同公链和去中心化应用可以实现跨链信息交换,Crust高效的支持现有去中心化应用的存储场景和不同的支付通证。
比如Phala的Web3 Analytics项目,类似于Google Analytics,为网站提供访问量统计服务。W3A更加强调的是去中心化,以及隐私和数据主权保护问题。这与Crust的去中心化隐私存储是一致的,Crust可以提供SDK或者API的形式,接入到各个生态项目中。
黄赛杰(主持人)
对于不同的公链来说给到用户、开发者,不同的生态选择,分布式云节点服务,很大程度上给了社区成员的接入成本,Ankr提供什么样的工具帮助降低社区成员、开发者的接入成本,提高易用性。
Ryan
Ankr提供的分为两部分,一部分是单个区块链的接入简易性;另一部分是多个区块链的接入简易性。
第一阶段的接入简易性很明确,通过Ankr平台,是全球范围内最容易接入的平台,我们平台的节点人数也是最多的。这是我们所谓的对单个区块链做的接入,会跟每一条区块链的foundation做customers的intergration。
举个例子,比如说今天有两条不一样的区块链,我们就以以太坊和波卡为例,现在以太坊支持1.0以太坊,1.0以太坊可能会支持一些performance查看,现在以太坊就是一个虚拟点。
如果是波卡的话就不同了,未来会有很多平行链节点。不同区块链的形式是不同的,我们会对每一个区块链做不一样的customization,会跟不一样的项目方有非常深刻的交流和沟通,找到最适合用户和最好的用户体验,包括很多product relates的时候都会请到项目核心开发人员,去测试,去看我们的产品是否适合他们的社区。
我们非常荣幸地加入了波卡生态,我们和很多不同的平行链做他们节点的customization。
Acala的节点可以和Crust连,Crust也可以和Phala连,Phala节点可以和Bifrost连。Everybody can be different,这是我们对于每一个区块链点,让大家能够更好地参与到区块链中。
我们平台一定程度上也是在做集合者的角色,来到我们平台以后可以选择参与Crust Network,也可以选择参与Phala Network,也可以选择参与Polkadot等。这是我们在跨区块链所做的一些努力,第一部分是单区块链,第二部分是跨区块链。
第三点,我们认为一个用户对于区块链这件事情的参与是分Layer和分阶段的。
总结来说三部分:第一部分,单链的customization,定制化。第二部分,多个不同区块链的集合化和几何参与。第三部分,多层次参与,从单纯的节点运行到Staking到管理治理,最后再到开发层,开发自己区块链的应用、场景。
黄赛杰(主持人)
谢谢Ryan,刚刚Ryan的陈述很好地回答到了Ankr在架构设计上做到了很好的去中心化、应用性平衡。
谢谢Ryan和Dean的分享,时间过的很快,今天的活动就到这里结束了,谢谢大家!
End
※———长按识别下方二维码 关注我们———※
长按识别下方二维码,加入万向区块链
多个核心岗位在招,薪资福利优厚
▼