jolestar Profile picture
Apr 8, 2023 19 tweets 3 min read Read on X
分布式应用视角的 Web3

前面写过两篇 Twitter 分别从 Web2 视角以及 AI 视角分析了 Web3,今天这篇从分布式应用角度聊聊 Web3。这个正好是我前两天在 ETH 上海升级圆桌会上谈到的观点,昨天的 #ETHBeijing Hackathon 圆桌上刚好也有人问,这里详述一下。 1/n

在分布式应用中,一般会依赖 Paxos 或者 Raft 这样的分布式共识基础设施,来解决一些分布式难题,比如全局的元数据存储,全局锁,服务发现,事件订阅等,我们并不会把所有的数据都存在共识系统中。2/n
如下图中,是一个典型的 Web2 三层应用。用户发送请求,业务逻辑校验用户的请求,然后修改状态存储到数据库中。(图片来自 aws 文档) 3/n Image
这个应用要实现分布式,第一步需要先把用户的每个请求记录到日志里,然后通过一个全局的分布式日志系统同步到其他机房的节点,然后重新执行这个请求。这样这个应用就变成了一个多机房的分布式应用。4/n Image
当然,上面是一个简化的系统,如果让一个大型的 Web2 的应用支持多机房,并没有这么简单。下图是一个更真实的案例,它是混合了多种分布式方案来构成的一个分布式系统。大家不用关心细节,只需要感受它的复杂度(图片来自zhihu)5/n Image
Web2 应用实现分布式的复杂度在于:
Web2 应用是围绕着一个“活“数据库构建出来的,很难通过一个统一的入口来记录所有系统状态的修改。
即便是拦截了所有的状态操作,重新执行的时候也很难保证执行的结果是一致的。 6/n
如果从应用角度出发,如何利用已有的去中心化基础设施,来解决应用的分布式以及去中心化难题?一个去中心化应用的潜台词是它首先已经是一个分布式应用。7/n
应用要去中心化,首先要保证的是应用的程序可公开获取,应用的数据可公开获取,这样别人才能验证结果。第一个可以通过开源实现,第二个就需要把前面的全局的分布式日志系统换成一个公开的,不可篡改的去中心化日志系统。8/n
这样任何人都可以通过重新执行这个账本中的交易日志来得到最新状态。而这个去中心化日志系统就是定序器(Sequencer)和数据可用层(DA)要解决的问题,它们一起保证交易的顺序以及数据的公开可用。9/n
那如果第三方重新执行交易得到的结果和应用方不一样怎么办?那就需要一套机制,来保证交易状态变化的正确性。这个可以通过欺诈证明的挑战机制或者 ZK 的有效证明,都需要依赖一个可以执行验证程序的可信第三方,正好当前的 Layer1 智能合约可以承担这个职责。10/n
应用中需要构建商业模式,需要不同的资产或者货币支持从哪里来?银行当然无法直接接入去中心化系统,但应用可以很容易和不同的链或者其他应用之间建立结算协议(当然不同结算方式的安全性有差异)。11/n
前面提到的如何保证应用的统一更新机制以及确定性,我们可以完全复用区块链演化出的架构方案:

所有的写操作都必须通过执行交易进行,保证有统一的更新日志。
业务逻辑要保证确定性,需要对传统语言进行裁剪,或者用一种新的智能合约语言进行编写。
12/n
基于前面提到的应用角度的思路,Rooch 提供了以下方案:

1. 开发者完全通过 Move 语言编写应用,可以叫做 Fully InContract DApp。之所以选择 Move,一方面是保证业务逻辑的确定性,另外一方面是它的平台无关性。其他的特性可以参看我以前的文章。 jolestar.com/why-move-1/ 13/n
2. 给 Move DApp 提供一个容器,容器托管了和 DA,和其他链的结算,以及仲裁层的交互,实现应用的去中心化,这就是 Rooch 容器。
3. 基于 Rooch 容器运行一个 ETH Layer2 网络,由 Ethereum 保证安全,给应用提供低成本的全局注册,以及仲裁和资产结算服务。详细内容参看 jolestar.com/the-modular-ev… 14/n
那我们继续沿着这个思路,还能有哪些应用构建的思路:

联邦模型的改进。类似于 mastodon 这样的去中心化 twitter,如果和 L1/L2 结合起来,利用一个全局注册表将用户和节点的关系记录在里面,就可以让用户和节点解除绑定关系。用户如果不满意某个节点的服务,可以发起交易,迁移到别的节点。15/n
去中心化的服务发现。将服务注册到智能合约的全局注册表中,任何人都可以运行节点提供某种协议的服务,应用可以通过服务发现机制自动筛选,而不是强绑定到一个服务提供方,还可以同时有付费协议。比如 ETH 的 RPC 节点服务。16/n
这些方向可以继续发挥,欢迎继续讨论。如果从这个角度思考,构建应用的时候,我们就会着眼于解决应用的问题,应用发展的不同阶段也可以采用不同的方案。比如开始的时候应用可能不是去中心化的,但它用这套方式架构出来,可以保证随时可以切换为去中心化应用。17/n
长期以来,区块链领域主要是基础设施叙事,但基础设施能带来的使用价值是有限的,更多的使用价值需要应用来创造。而随着技术的发展,我们认为基础设施即将准备好,期待一个以应用为中心的 Web3 舞台的开幕。end

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with jolestar

jolestar Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jolestar

Sep 25, 2023
个人 Twitter 长文集合

最近写代码比较忙,写文章比较少。感觉写代码重要,写文章也重要。所以整理一下列表,后面会把 TODO 列表里的文章也安排起来,汇总到这个 thread 中。
DAO 系列

DAO 是什么?

自治组织的自举难题(ParaSpace 事件有感)
Read 10 tweets
Feb 23, 2023
AI 视角的 Web3

21 年底,一次技术meetup上我分享了一个《元宇宙,Web3,区块链之西北乱炖》的话题,其中做了一个思想试验:

如果 AI 有了自我意识,它是如何看待以及使用现在的互联网?最近 ChatGPT 以及 AI 很火,我把这个思想试验写出来,换一个视角看 Web3,也可以思考 Web3 和 AI 的关系。(1/n)
思想试验:假如有个 AI,突然有了自我意识,然后生活在某台机器里。AI 可以通过这台机器的网络访问公共互联网,它具有编程能力,可以调用任何 API。从现在开始,可以把自己代入那个 AI 的角色。(2/n)
AI 如何获取一个稳定的身份标志?

要在网上活跃,总要有个标志来让别人记住,于是AI想要个ID。而当前所有的Web2服务,AI是很难注册成功的。不是被反机器人验证码挡住,就是被手机验证等实名身份验证给卡住。最后只能找上古互联网时代的公共 IRC 聊天频道去发一些消息,但估计也没什么人活跃了。(3/n)
Read 18 tweets
Feb 5, 2023
前两天 #Nostr 大火,直接的一个感受是破圈了,很多圈外的朋友在发 Nostr 的地址,而这在以前多个去中心化的社交应用中都没出现过。我思考的结果可以总结为“激励诅咒”,在社交应用中过早的引入激励机制可能带来副作用。写个 thread 讨论一下。(1/n)
这些年 crypto 圈子的项目摸索出了一套模型,利用 Token 预期吸引早期用户,基于早期用户打磨产品,完成冷启动,然后快速成长。这种方式在 DeFi 类项目上屡试不爽,但到社交领域就折戟沉沙。比如 bitclout,monaconft。从我的关注列表来看,基本成了死城,没有破圈,没有今年的内容。为什么呢?(2/n)
作为DeFi Summer的参与者,我切身感受到短期的激励,让参与者完全失去耐心。最好一个月暴富,六个月太长,一年以上?开什么玩笑,牛都跑了。反复的激励下,关注项目的关键指标就是APY,是否有趣,是否有新意,是否去中心化都不重要了,于是品味退化,仿佛吸毒过的人。这是对参与者的“激励诅咒”。(3/n)
Read 12 tweets
Jan 12, 2023
看到 @SalomonCrypto 写 ETH 上 Account Abstraction(AA)的 thread,列举了一些 AA 可能带来的特性。正好昨天群里有人问到 Move 在 AA 方面的支持,写个 thread 介绍一下。(1/n)

以前写过一篇为什么 Move 中使用 DeFi 不需要 approve 的 thread,里面解释了 Move 中的账户和智能合约交互的原理。(2/n)

而上述的效果,也是 eip-3074 想要增加的新的 EVM opcodes AUTH 和 AUTHCALL 想要达到的效果。就是通过合约以用户身份调用另外一个合约。(3/n)

eips.ethereum.org/EIPS/eip-3074
Read 18 tweets
Dec 28, 2022
模块化区块链中的模块层如何划分,这个业界尚在探索中,不同的方案有不同的划分方式。写篇 Thread 探讨一下模块层的划分。(1/n)
我们可以从 Rollup L2 的演化角度思考。在一个典型的 L2 的方案中,L1 上有三个主要的合约承担三个角色。

角色1: 跨层桥,实现 L1 和 L2 之间的资产结算。

角色2: Rollup Chain,包含 L2 的交易以及对应的状态根。

角色3: 欺诈证明验证,如果判定有欺诈行为,则回滚 Rollup Chain 的交易。(2/n)
这样,L2 将交易的执行从 L1 迁移到 L2,但安全由 L1 上的欺诈证明合约来保证。L1 上的 Rollup Chain 主要是为了保证数据可用(DA)。那自然会有一个想法,这几个角色能否拆开由不同的模块来承担?于是有了模块化区块链的思路。(3/n)
Read 11 tweets
Nov 8, 2022
上一篇推说到我给媳妇介绍 Web3 ,评论里很多人感兴趣,我就单开个 thread 继续写一下。

首先给 Web2 的朋友介绍 Web3,不能直接沿用 crypto 的叙事,需要从 Web2 面临的难题入手。(1/n)
Web2 的应用越来越重要, 同时平台方权力也越来越大,用户很难维护自己的权益。比如对很多用户来说,封禁了微博/Twitter 账户比吊销自己的公司执照影响还大。而这种强大的权力,势必带来政府权力的介入和争夺,而应用要面对不同国家的权力机构,会被不同的法律系统割裂,于是应用只有三种选择:(2/n)
1. 收缩运营范围到一国之内,或者拆分成多个实体,根据国家隔离,各自运营(慢慢“捐献”给国家?)。
2. 等待全球大国之间互相博弈,形成一套全球统一的互联网监管国际法之类的。
3. 互联网应用生态形成自治体系,开发者,运营方,用户互相制衡,重新分配权利和义务。(3/n)
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(