迈向大规模应用之路:使用Substrate实现基于存储共识的链下计算范式

Substrate - 1 开始 - 1.2 架构(Architecture) 2.2 架构(Architecture) Substrate客户端是一个运行在以Substrate为基础的区块链节点,它的组成部分包括但不限于如下内容: **存储:**用于持续更新Substrate区块链状态。区块链网络允许参与者就存储达成去信任的共识consenushttps://docs.substrate.io/v3/advanced/consensus/。Substrate附带了一种简单而高效的键值存储机制https://docs.substrate.io/v3/advanced/storage/ 阅读详情

前言

一款大众意义上成功的 Web2.0 To C 应用,至少应该在百万月活量级。我们熟知的顶级的 Web2.0 应用 Twitter, Google, Facebook, WeChat, Tiktok 等,月活都在 10 亿量级以上。也就是说,面向 C 端的应用,必需搞定高并发及大数据量存储和检索,以及其它一些东西。

而我们来看看目前基于区块链的明星应用,截止目前(成文时:2021.10.15):

●   Audius,目前月活 400 万用户,号称建立在以太坊和 Solana 之上,具体其使用链的方式,对区块链的依赖有多大,信息并不透明

●   Axie Infinity,有 170 万游戏用户,运行在其以太坊独立链 Ronin 上,不过这个 Ronin 的信息同样公开得较少

●   以太坊上的头部 24 个DeFi 应用,用户地址数加起来有 300 万[1]

总体来说,区块链上的用户量量级处于一个较低状态。

造成这种现状,除了用户本身关注度较少之外,还有两个重要的基础层面的原因:

1.现有的大部分 Dapp 的 UX 体验,普通互联网用户难以理解和操作

2.现有区块链的计算性能太低、数据存储成本太高,使得使用成本太高

也就是说,现在这些区块链(公链)的基础设计,其实承载不了互联网级别的用户量,这里面有结构性机制性的问题。

我们本篇尝试讨论如何才能让区块链适用于大规模应用场景。

月活百万用户应用的基本要求

我们这里仅对 Web2.0 月活百万用户入门级应用稍作分析。

1.用户 UX 要好用

Web App 和手机 App 的 UX 体验要平滑,流程要顺畅,前置要求不能过多(比如需要某个钱包账号,安装某个浏览器插件),用户上来就能用。并且账号不一定需要自己的重新注册,能方便地使用现有的第三方登录是最好的。

2.能支撑高并发,请求延迟要低

能支撑大量用户的同时访问,不能出现卡壳的情况,延迟也不能过高(超过数秒)。这些都会体现在产品的 UX 用户体验上面。面对大量的请求,不能出现服务崩溃,中断的情况。

3.计算低成本

计算成本与计算性能这个指标是相关的,服务端系统的计算性能不能太低,不然无法承载高并发的请求。计算成本不能太高,不然云服务器的成本会急剧攀升。

4.存储低成本

用户在使用 App 的过程中会产生大量的数据。这些数据不仅包含用户直接创造的 UGC 数据,还有很多服务中间状态数据,各个层级的日志数据。这些数据最后都会存储下来,存放在 SQL 数据库或、NoSQL 数据库、对象存储服务、或者文件存储服务等等。一些索引服务如 ElasticSearch 也需要单独存储被索引的数据。这些存储要占用大量的存储空间。考虑到数据的可靠性,还需要做冗余处理。做冗余处理,相当于数据占用的空间要大几倍。这些都要求存储成本要保持比较低的水平,不然会导致服务整体的成本过高,App 难以运维下去。

Web3.0的要求

其实,Web3.0 的目标只有一个:开放性(Openness)。开放性是 Web3.0 的唯一核心目标。那么,开放性这个词有哪些内涵呢?

1.数据的开放性

2.对数据的操作的开放性

3.组织形式的开放性

本文在这里不打算展开论述,详细讨论可参见拙作:《对Web3.0概念的梳理》[2]和《为什么Web3.0需要区块链》[3]。

目前区块链计算方式的瓶颈

我们这里讨论一下主流区块链以太坊 Ethereum 的技术方案存在主要问题。

1.合约虚拟机,分时复用,计算能力有限

全世界所有以太坊的节点都在 evm 中以单线程的形式运行一个合约序列。从合约程序的角度来看,每个对合约函数的调用按排队执行,一个执行完再执行另一个,相当于分时复用同一个 CPU。这种计算模型,决定了节点的计算能力受限于节点单个 CPU 的计算能力,其性能限制非常大。目前以太坊的处理能力 TPS 为 13 左右。

2.存储成本高昂

据计算,目前(发文时)在以太坊上每存储 1k 字节数据的费用超过:$100(一次性付费)。而传统云存储服务存储 1 G 数据的成本大概是:$0.02 每月。如果按10年来算,以太坊上的存储费用比云存储高 41,666,666 倍。

为了防止过度占用计算资源和存储资源,以太坊设计了 Gas 费机制。

扩容之路

由于以太坊的计算能力和存储能力都非常有限,其它的公链项目便有了出头的机会。不同的公链在不同的方向上做出了一定程度的创新。

●  Solana

Solana 思路是把 Layer1 性能做到最好,号称目前 TPS 最高的公链。其 PoH 共识辅助机制,使得一些共识子流程可以使用 GPU 来做并行验证。目前 Solana 的 TPS 大概在 2000 左右。

Solana 一定程度上放弃了部分去中心化特性,并且其节点配置要求特别高。这些都是追求高 TPS 的代价。

●  Ethereum 2.0,NEAR, Polkadot

这仨都是走的分片(Sharding)之路。分片非常难,可能是最难的扩容方案了。以太坊 2.0 节奏缓慢,遥遥无期。NEAR 据说 2021 年底发布 6 个分片的网络,目前还不清楚分片后的网络实际效果如何,带来多大优势,交易成本会不会增加。Polkadot 的平行链现在在稳步推进,其先行网已经上了几个平行链了,但还没经过真正应用的验证。

分片的难,难在原理上,详见 NEAR 的《夜影协议白皮书》[4]。现在尚无一个真正的稳定运行的分片网络,分片网络后面会不会遇到什么新的问题,是否具有实用性,这些都需要时间来验证。

●  L2 群雄:Polygon, Arbitrum, Optimistic Rollup, ZK Rollup

L2 对以太坊的扩容是目前的主流扩容方向。详见:《以太坊的Layer2扩容之路》[5]。

●  Cosmos, Octopus

这俩兄弟项目走的是多链跨链之路。基本出发点是认为支撑应用的最小单位是应用链(Appchain),而不是合约。每个应用一条链,然后所有应用链都可以通过 IBC 协议直接互联互通。

上述提到的这些项目,到目前为止,都已产生可观的影响。扩容之路不是那么容易,最后只能靠时间来检验,谁才能够走到最后。

面向 Web3.0 应用的计算范式

前面提到,Web3.0 的核心在于开放性,而不是以下名词中的任何一个(虽然每个都很重要):

●  安全性

●  区块链

●  去中心化

●  密码学

安全性是延伸属性,密码学和区块链是工具,去中心化是手段,开放性才是目的(目标)。

而对区块链来讲,我们前面提到的所有主流的区块链,其实都是面向资产而设计,而非应用。回顾历史,如果从2008年比特币诞生开始算起,这十多年,所有主流区块链项目其实只做了一件事情:处理资产。12年的一个成果,刚刚好就是 2020 年之夏的 DeFi 热潮。

即便只是资产这么一个东西,要处理好也是一件了不起的事情(试想想,全球的金融业本身就是一个特别大的产业)。也就是说,即使只处理资产、金融相关的业务,以太坊已经不够用了,还要出现那么多的L2、侧链、新型公链等项目来分担处理。这么多选手一起上也还差得远,离解决好金融业务这个目标还有太远

Agent Substrate:用 30× 超配比把 AI Agent 运行成本打下来的云原生沙箱调度系统 Agent Substrate 是 Google 开源(非官方支持)的一个专为大规模 AI Agent 部署而设计的。它的核心命题很清晰:AI Agent 绝大多数时间处于空闲等待状态,传统 1:1 "一个 Agent 绑一个 Pod" 的做法极度浪费资源,而 Agent Substrate 通过,让 8 个物理 Pod 跑起 250 个有状态 Agent(演示中达到 30× 超配比),从而将基础设施成本压缩一个数量级。 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 11 算法篇

在百万级虚拟机、百万级租户的超大规模云环境中,核心算法挑战包括:挑战维度具体问题算法需求技术复杂度规模性​百万级对象并发管理分布式算法、分区算法极高(NP-hard问题)多租户​租户间隔离与资源共享公平性算法、隔离算法高(多目标优化)动态性​资源需求实时变化自适应算法、在线算法高(实时决策)异构性​硬件/负载/需求差异分类算法、匹配算法中高(多维度优化)经济性​资源利用率与成本平衡优化算法、博弈论算法高(多目标博弈)以下是按领域分类的详细算法列表:算法名称数学建模表达核心思想时间复杂度适用场景推理步骤首次适

weixin_49199313的博客 1394

【信息科学与工程学】计算机科学与自动化 第二百三十三篇 凤凰架构02

① Firecracker 为每个 microVM 提供极简设备模型:virtio-net, virtio-blk, serial console。:① BB84:Alice 随机选择基矢(+ 或 ×)发送单光子,Bob 随机测量基矢,比对后保留一致位的子集作为原始密钥。:密度 1 EB/mm³;:① Parquet 文件:行组(Row Group)→ 列块(Column Chunk)→ 页(Page)。

weixin_49199313的博客 136

【信息科学与工程学】计算机科学与自动化-第十一篇 机械工程04 机械结构

上述表格总结了常见机械几何结构的参数特性及其应用场景,涵盖宏观几何参数、微观物理特性等多个层面。这些参数在设计、制造、分析和优化机械结构时都需要综合考虑,以确保结构满足功能、性能、可靠性和寿命要求。注意:微观层面特性通常涉及材料科学、纳米技术和表面工程等领域,对结构的疲劳、磨损、腐蚀、摩擦和润滑等性能有重要影响。宏观层面特性则决定结构的运动学、动力学、强度、刚度和稳定性等整体性能。实际应用中,需根据具体工况(载荷、速度、温度、环境等)选择合适的参数组合,并进行多学科优化设计。上表整理了常见机械几何结构的参数

weixin_49199313的博客 1154

【信息科学与工程学】【物理/化学和工程技术】第一百五十四篇 结构力学基础知识01

​结构FEM(Abaqus)输出的应力场要传给寿命预测工具(nCode),但节点编号、单元类型、坐标系定义不一致;热仿真(Fluent)输出的温度场要传给结构FEM,但网格密度不同需要插值,插值误差可达5–10%。每次数据传递都是一次出错的机会使用统一平台(如Ansys Workbench)、开发内部数据转换脚本、手动检查和修正数据传递误差累积:每个ε约为2–5%,累积后可达5–10%。

weixin_49199313的博客 135

【信息科学与工程学】信息科学领域——第一百三十三篇 半导体器件物理与电子封装12

输入目标速率(如 HBM3 6.4Gbps 、HBM4 6.4Gbps/pin、SerDes 16-32Gbps)堆叠层数(2-5 层,或 HBM 12-16 层 High )节距与键合方式(D2W 2µm / W2W 500nm-200nm)G-S 或 GSSG 等 pad 配置介质材料(SiO₂/SiON/SiCN,需权衡 k 值与铜扩散阻隔 )工艺参数(表面粗糙度 <0.5nm RMS、Cu pad CD、套刻精度 <40nm )输出。

weixin_49199313的博客 297

subsocial-offchain:Subsocial区块链的链下存储。 该应用通过订阅Substrate事件来构建用户供稿和通知

Subsocial水龙头由 Subsocial是带有Web UI的一组Substrate托盘,允许任何人启动他们自己的分散的,具有抗审查性的社交网络(也称为社区)。 每个社区都可以是单独的底物链,并通过基于Polkadot的中继链与其他社区连接。 您可以将其视为Reddit,Stack Exchange或Medium的去中心化版本,其中Subreddit或Stack Exchange社区或Medium上的博客在各自的链上运行。 同时,这些分散社区的用户应该能够通过Polkadot中继链将其声誉分享或将硬币和其他价值从一个社区转移到另一个社区。 要了解有关Subsocial的更多信息,请访

【Ensp】FTP服务器设置和FTP解析

大部分的多媒体多媒体应用协议,如SIP,FTP,NetMeeting协议等,使用约定的固定端口来初始化一个控制连接,再动态地选择端口用于数据传输,并且这些端口选择是不可预测的。在防火墙设置时,可以通过ASPF(应用层报文过滤)中的Server Map表来满足多通道协议的正常工作,它正常检测应用层报文信息,并动态地根据报文内容创建和删除临时的Server Map表项,以允许其它非约定端口通过防火墙。(5)我们可以在路由器或能访问ftp服务器的设备上,通过cli命令行的方式来访问ftp服务器。

进击的小小白 1862

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4729

E-Prime脑电实验打mark全攻略:从端口查询到串并口实战(附常见问题解决)

本文提供了E-Prime脑电实验打mark的完整实战指南,涵盖端口查询、并口与串口配置的核心步骤及常见问题解决。文章深入解析了mark原理,并详细介绍了通过E-Basic脚本和Serial设备对象发送信号的两种方法,帮助研究者实现E-Prime与脑电设备的高精度时间同步,确保实验数据可靠性。

4k5l6j7h8的博客 354

ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)

本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。

weixin_29079643的博客 247

S32DS IDE调试技巧:如何用条件断点精准捕获汽车电子MCU的硬件状态变化

本文详细介绍了S32DS IDE中条件断点功能在汽车电子MCU开发中的应用技巧。通过精准捕获硬件状态变化,工程师可以高效调试外设寄存器异常、时序敏感型交互等复杂场景,大幅提升汽车电子系统的开发效率。文章还提供了多种实战案例和性能优化建议,帮助开发者充分利用S32DS的调试功能。

CAT789的专栏 207

【机器人开发】四足机械狗(并联结构)URDF建模与Simscape仿真全流程解析

本文详细解析了四足机械狗(并联结构)从URDF建模到Simscape仿真的全流程开发。内容涵盖SolidWorks建模要点、URDF文件导出与优化、Matlab/Simscape环境搭建,以及并联机构特有的运动控制和步态规划实现,为机器人开发者提供了一套完整的解决方案。

weixin_30642561的博客 527

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1873

Cadence SPB16. 6 安装流程

1.首先下载CadenceAllegroSPBorCAD16.6安装包 下载之后运行其中的setup.exe,然后先安装第一项LicenseManager 一直按next或install, 直到被询问license时,单击cancel,然后选是和finish。 2,安装Product Installtion 直接点next跳过这一步 安装完成后,点Exit退出 3.按ctrl+alt+delete打开任务管...

wangjie36的博客 5145

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: Substrate 应用开发解析系列:Subsocial 架构分析(上)
下一篇: LPoS 租用权益证明|解析章鱼网络共享安全设计
MixWeb3
博客等级 码龄5年 144粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值