Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
为什么这么关注社交?是因为在web2能得到大规模采用,就是因为社交网络,更离不开人与人之间的关系,无论是会员关系、粉丝关系、订阅关系、还是好友关系,正是因为这种关系的交织,让web2的网络走入到了每个人的生活。Web2社交应用的局限性,大家有目共睹,简单提炼下就是:
8 ?7 B3 _5 B9 w9 f- U6 l; D% L& ]1、账户所有权被中心化控制4 X% [2 G' o9 j  C+ h
2、社交关系被中心化垄断5 G# f3 C/ t& Y' _
3、数据所有权被中心化垄断,交易买卖
- N+ n$ C( k) E2 z; Q- t' m4、社交app算法滥用,广告肆意泛滥* }7 L7 l1 e( I7 [! E% b& U+ U
Web3为解决上述问题提供了条件,新的dapp应用协议,谁能解决web2社交的当前问题,并创造一个新的模式,谁就会是下一代互联网的王者。. e; V  b, g% n1 c
所以Web3的社交如此重要,但目前为止依然没有一个能让你熟悉web3社交走入人们的生活,但我们可以展望,Web3的社交应该是什么样的。关于去中心化社交, 我认为有四个重要元素:, s1 a+ G3 K. V0 L. H2 J
1、用户完全自我控制权的「身份账号」4 t- O5 \4 J5 v, r0 e/ s2 n
2、用户完全所有权的「社交关系」; A* B" p% L: b; i, ~
3、开放易获得的,具有所有权的「内容及内容关系」
! {: ^- ^9 o) j4、灵活的「应用终端」
! ?! [: M9 `: m9 e( Q* g一、身份账号( I. N+ n4 k+ P9 R/ b2 T- R7 i

0 u& R% r; n/ k身份是核心,它标识了我是谁,以及我在社交网络中产生的内容,应该属于谁。9 C7 M1 ?' [, r9 u
在web2时代,账号的发展经历了三个阶段:
: d* V% O! \+ E& P5 e- x9 B  |1、单体应用,独立账号;
! m( T( z6 m! O" I2 @! L/ ~2、单一生态体系,统一账号;5 q# |; F3 `/ M$ u# Q
3、跨生态,通用账号签名;
, M8 T) o5 @* b( k7 m( ^3 p
  • 阶段一:单体应用,独立账号
    " p. v: y) b9 ?
在web2,每个应用都有自己的账号体系,最简单的比如登录论坛注册一个账号和密码 ' d! b! G- L4 Y6 W- a' P5 Y. h" i
8 f( M- _2 e  w' }4 S8 ]1 q
  • 阶段二、单一生态体系,统一账号
    0 {$ R9 s8 Y* U+ J+ T6 r
当阶段一的独立网站如果做大做强了,发展出了一个生态体系,这个生态下有很多应用,你都可以用一个账号登录,最典型的就是微信账号、淘宝账号,使用微信账号可以登录腾讯生态下的任何应用,使用淘宝账号可以登录任意的阿里巴巴下的应用。
% q% w8 D9 d# U0 T0 n
  • 阶段三、跨生态,通用账号签名2 N9 y8 k1 F$ Z3 _  y* M& N
这个阶段并不能称之为阶段二的升级版,而是共存。这个登录模式就是手机号或邮箱登录, 确认验证码作为签名证明自己是这个账号的持有人。这样,用户完全不用再关心记录多个账号。我自己使用最多的是基于Google邮箱的签名登录。
3 M/ ^; j/ x) @2 y- Y- r7 y7 H- o( j) _: D, M% H$ U' g" L
在web2中, 看起统一账号也不是不行嘛,甚至大不了所有应用都用身份证号登录?) w' f7 o4 n# B. |0 q1 C: @. j
但是,问题有两方面:* J* Q0 X; a1 Y
1、账号发行者完全有能力封锁你的账号,拒绝给你提供签名验证。举个例子,使用手机号登录,网站都会需要给你发验证码确认,电信公司完全可以拒绝给你发。' j* y3 @# \3 P+ @6 a
2、应用都不允许你再登录或不允许你再发帖,比如微博一键封杀账号9 @5 f& Y8 g0 |& L3 ^* g& W# E
所以问题的关键还不是账号唯一性问题,而是账号控制权问题和应用使用权的问题。
1 Z# p" q) g6 c: h9 s" c在web3中,第一个问题很好解决,最通用的账号就是公链address , 用户完全控制权,没有人能阻止你签名验证。除此之外,它还有很多附加好处:唯一性、公开可验证、匿名性等等。4 |! O& t2 v6 `1 o5 S  i
第二个问题,是数据的访问权问题,与账号控制权无关,我们下面讲。
8 Y7 f8 }6 t. ]3 T# I可以确定一个点是,社交身份,肯定是公链地址或与之强相关,身份Id的所有权和控制权只能是自己,唯一是自己, 这样的身份,只有最去中心化的公链能保证。0 h% E; [/ }4 ^9 a4 _+ B
二、社交关系
6 \7 o% t7 J& |0 w  O% F7 ~6 j( R' U5 P3 g' P) I
社交关系是指人与人之间的follow关系,订阅关系,好友关系,毋庸置疑,这是除了身份id之外,社交账号的核心资产。它的价值,不亚于我存在银行账号里的资金,区块链账号里的代币余额。
2 I: H$ y; k) k  b- y; s' _在web2时代,很多应用都会做用户关系。比如bilibili,如果我喜欢谁的视频,就订阅他;在淘宝,喜欢那个店铺会关注这个店铺;在Newsletter里,我喜欢谁的文章,也会订阅他Newsletter号;在微信、在qq甚至在淘宝,都会搭建好友列表。
0 v0 E: _) c4 r% ^! ]社交关系跟身份id解绑定,并不是强制关系,我作为一个用户,最想要的就是:, m7 a8 _$ b& W' I
社交关系被id完全拥有,当别人follow你后,第三方无权干涉,社交关系还能跨应用。所以社交关系的保存,也是强去中心化诉求。
- y, X. W8 V/ R8 @1 l6 X+ A, g三、内容及内容关系2 j8 g- p; f) C( _
6 d7 F+ u" r9 d( x
所谓内容,就是人们在社交网络中发出去的内容,如推文、博客、评论、点赞等。而数据内容之间的关系,即A对B文章的评论、点赞、转载等操作,可以简单理解为内容和内容之间的关系。: Q6 c7 L7 B: X% t9 \6 r
对于数据内容,发散起来问题很多,比如成本、隐私、安全等等,但是在我看来社交内容数据最核心的有三点:
* G; L' p7 P4 Q- P0 i$ I1、数据的真实性,真实性体现在我发的内容就是我的,而不是别人冒充我发的,人们对我写文章的点赞是真实可靠的,而不是虚假杜撰,也可以理解为数据所有权
2 q6 \1 m0 O/ @# l6 i* b2、数据的可获取性,体现在,我的数据不依赖任何中心化平台,通过多个入口都能查询获取得到. N% n. L" G' e1 D6 r5 Y/ R
在保证这两个核心诉求之后,再考虑其它的问题,如加密隐私、存储成本、访问性能、数据关系等。. \8 F. h6 K' a! Q( z2 I4 I
显然,这两个问题是任何一个web2的平台都无法做到的,只有可能在去中心化的网络体系下才能做到(请注意,这里我并没有说区块链)。+ d2 W3 q: e+ f( J$ [& f4 q1 U  k) u
我作为一个内容产出者,最理想的情况是,希望我写的文字能永久保存,评论及点赞数是真实有效的,内容产生及输出不依赖于任何一个平台审核者。显然,数据完全放到区块链上,是最好的,因为直接存储到区块链上,最满足上面的所有诉求。但是,数据最明显的特征是,量非常大, 理论上,一个人一个账号就能产出无限多内容 。1 i( Y- N" ?. u
所以 成本、成本、成本 是关键。
4 A7 g+ u4 L' H4 W' X5 Y7 U在web2中,除了社交关系以外,这些数据是各大公司的重要资产,训练AI模型,做大数据分析,挖掘商业价值等等,都离不开这些数据,所以这些公司愿意支持费用,”免费“帮你存储这些数据,同时也对你的数据有了绝对的控制权。
: X2 }' s$ T$ F8 \( B  |. [5 n所以,当我们想摆脱大公司对我们数据的垄断和控制时,要可能要自己承担这类数据的存储成本,这个成本远低于存储到公链上,又能保证对数据的两点基本诉求。7 J; V* ]/ i5 z5 l
可想而知,在web3的社交架构图里,是要有一个数据层的,去存储数据,管理数据和数据的关系的,基本功能点需要保证我前面提到的数据真实性和可获取性,方式也很明确:
+ F2 S8 g% i4 u' x$ ]  {$ @6 i1、通过用户私钥对数据签名,只有签名的数据才认可为用户的真实有效数据) R* m1 Q( W- ]* T# `, ]
2、由去中心化的节点“全量”保存数据,保证全网总能获取到全量的用户数据。
9 u) ^0 K* M8 f$ C四、应用/ K2 B5 O) _# N  }) E: g+ I
) t3 U7 P$ a) O! W3 @& o9 f
应用是最不重要的,也是最重要的。) u: ]. C+ [0 z
说它最不重要,因为它是数据的最末端,在web3社交体系下,应用不应该控制任何用户数据,它能做的只有两件事:帮用户上传数据到网络中 和 从网络中下载数据供用户阅读。2 R) ~: t1 S4 g/ P
既然我的以上数据不被任何应用掌控,那么,我就可以随时切换应用终端,所以应用是最外围的,不核心的。7 M  `! C; s* U+ `# E
但是,应用的体验又是那么重要,如果没有一个好的应用体验,是不可能on-board 大规模用户的,所以, 应用层,显然会有更高的数据自定义程度,应用可以很自由的用各种方式去组织数据。
  W( @2 k# `  c8 F# _应用可能作恶如篡改用户数据、故意显示错误数据、滥用推荐算法或接入广告,给用户推送大量不想看到的数据,在用户能很容易迁移应用的前提,这类问题的解决已经不再那么困难了。但是,在我看来,给到应用开发者一定的数据处理自由度是被允许的,毕竟应用开发者也需要探索自己的商业价值。/ z0 l. e* {  g
探讨社交协议的层次架构7 m: V& l) z/ H2 n
综上, 我们来绘制一个基本的框架,我想,未来任何一个社交应用,都可以尝试往这四层逻辑里套了。
  {  _. L9 x. L+ w* @! i0 n) W四层分别关注点不一样:2 @1 }8 J( s) A! b4 b
1、一层是身份id完全控制权, 保存在最去中心化的区块链中如ETH;0 E3 k2 A/ q& Q( B' ~2 l+ G
2、二层是关系绝对拥有权, 保存在相对去中心化的区块链中;
: f* K7 f' I2 b6 e% A0 @# F! T3、三层数据内容的真实有效(所有权)和可获得性,保存在p2p的去中心化网络中
% Y5 r. {4 ]0 ~, x0 x1 b2 X+ t4、四层是应用的开发灵活性和用户可迅速迁移性。
; v* G% o5 l- r. N! U" s( d8 ^" s9 J3 I3 u
分析下Lens
- t6 i+ W& X0 }
' k3 h  T2 V7 P. E$ b9 e& w当抽象了这样一个框架后, 很轻易的就知道,当前各种社交应用或社交协议所处的定位,比如Lens 、Farcaster 、Debox、Inpeak、 Steemit、Link3 等等终端应用 ,包括Ai在这个里面定位。
1 j. v, {* Y9 a5 y. W* x* T: u" z有些web3社交应用,做了完整的四层结构,并且层次分明比如Farcaster, Cyberconnect等,而Lens也关注了这四层,但是都杂糅到了一起。讲Lens技术架构的文章很多,我之前有写过一篇,应该是比较深入的分析了下:[深度分析Web3社交项目Lens protocol 后, 我有些想法 ],但是那篇文章是纯技术分析,并没能站在今天这个角度去分析 。
4 z1 M! B' |7 ?4 I5 S4 r6 a' Y1、身份
1 D/ s* E: j3 I2 G# }: ^对Lens 来说,他有自己的 Identity, 那就是 Len protocol NFT, 这就做到链上身份的唯一性,和用户所有权。
- l* w% a, c: {( }( k- l: v6 D2、社交关系
+ B. u3 T  _0 t. Q" G2 s, K* FLens是以链上合约协议的方式管理用户的社交关系, 以NFT的方式上链, 一个用户铸造了的follower nft, 那他就是我的粉丝,除非它销毁nft,所以也做到了社交关系的所有权。
/ L, A+ `: e" t, v) o9 W& ^! I9 |# w3、内容及内容关系$ s# [9 y2 [8 F8 N. E7 p1 R
还是一样,Lens将所有的内容都存到的Matic链上,有些是直接的文本,有些是arweave 或ipfs的链接url ,这里lens也做了很多妥协,内容的所有权,不一定每条数据用户都签名了。
1 S: z- N7 {+ Q2 k  O, u4、应用
9 O# ^0 N" o- }3 @' j由于Lens将所有的用户数据都放到了一条EVM链上,虽然,这些链上数据都是可获得的,但没有哪个app能直接使用这些数据, 所以lens自己就搞了一些中心化服务器,规整、索引这些数据,然后以api的方式暴露出来,让开发者基于api去开发应用。
8 ]' M8 x( {0 R" s$ @  J# @之前说过,应用层是非常灵活的,如果你觉得这个api太中心化了,你开发的应用完全可以自己从链上拉数据去做一个应用server。7 d" h% c9 x7 `$ v- ?
可以看到,Lens protocol 设计体系中,目前把身份、社交关系、内容都揉到了一条链上。4 m6 f4 f' _, p
; Y. Y. w- e& j2 u
Lens的优点和缺点都非常明显。优点:架构设计简单,协议通用,很容易理解。. [' @/ m/ q/ p' o
缺点:
" Q, u8 I2 V1 h  ~1、所有数据都在一个EVM链上, 上链成本高,将我设想的这四层架构前三层都放到了一个存储空间) S& x* f7 G' k* X/ e
2、EVM链数据很难直接被访问,导致应用严重依赖server. ]0 `% d3 T6 h! a
3、EVM链并不擅长管理数据之间的关系,导致严重依赖应用去大量清洗处理数据
- x+ j- ~, I. q/ u4、server 和 server之间,并不能保证数据的一致,如果两个应用的server不一样,很容易出现应用显示的数据不一致的问题! r2 c& m1 U& \9 n9 L' m
5、server获取数据的成本太高,最终导致只有少量app server可用,带来严重中心化服务节点问题* ^1 B6 Z* B4 |( \: x9 @. }$ N
通过前面的分析过程,可以看出,社交协议的各个层级,对存储的去中心化程度是不一样,与之对应的最直接的影响就是需要付出的存储成本的显著差异。
# [$ i2 O7 R1 w& |0 ?* f9 |" F( P% ~目前Lens大量的数据存储到Matic网络,需要的成本非常高,这个也可以看我之前写的文章分析,Lens很长时间没开放大规模的用户注册,是否也有数据上链成本的考虑。
0 O2 D. K9 J5 m6 a/ l未来Lens为了解决中心化服务节点问题,大概率会建议一个去中心化的p2p的数据层去管理用户产生的数据。另外为了降低数据上链成本,也会逐渐将用户数据逐渐从Arweave+Matic的存储架构转为存储到单独的p2p存储网络。目前单独建立自己的数据层的社交应用我知道的只有Farcaster和Cyberconnect,简单画一下Farcaster的数据架构,就看能看出它跟Lens的明显区别了,对比下来,你觉得哪个更合理呢?9 `# m; Y: {2 J% q! X: c8 k
/ b  U/ ?4 t0 E7 r- |( u
探讨什么是好的数据层1 Q7 G& s  Y+ F& v; C: B

3 v+ k) e/ v! W5 {; S- C在这个架构中,如果我的理解正确,那么开发一个web3 app协议,身份系统已经很全了,那就是各个公链,以及基于这些公链的NFT,DID项目。
# K# s. Y7 l$ q& _  D- n! }7 G而数据层呢?
. R) H! b* x: @  ~' D5 {) t对解决数据归属权和可获得性这两单,单独ETH就能搞定,最多加个Arweave,目前的ETH/Layer2 + Arweave/Filecoin 两个系统,就能解决大部分Dapp的去中心化诉求,所以这是Lens 能run起来的底层依赖,有这两个就够了。3 h  E$ B- n; ]9 J
然而,如果只是符合了前面我提到的两点,那肯定称不上一个好的数据层, 只能是最基础的存储网络,除此之外还需要关注:, Y: s6 O; q+ ~  G
1、与应用层交互的性能! L6 t- q8 ]4 D, G& S
2、动态数据的及时更新& y. E$ H4 m5 d) L& w
3、数据的快速检索
) g5 ]* Z# f3 z6 ~Arweave和Filecoin都缺少这些,少有项目直接用Arweave做数据层,包括Lens也需要将数据存储到Arweave后,再将Arweave的链接存到了Matic,我理解Lens的数据层是Matic而不是Arweave。因此,出现了专门去中心化数据层的项目,如Ceramic,ComposeDB,OrbitDB,Farcaster data layer等,他们都有共同的特点:9 l9 C: w' H  ~/ F
1、去中心化 p2p4 j! q) z+ {& B3 u
2、结构化数据# o1 o2 y* e7 U) ~  g( C7 D7 u
3、动态数据,可实时更新2 ?& Y" U& J( n
4、基于密码学的数据权限控制. J% |! T% }; _: n
5、p2p节点能直接服务于应用app
) O* d, U* M8 R; A基于这些数据中间层去开发应用,看起来能得到一个更合理的架构:8 t9 x& c- m1 Y+ `
账户体系在公链,数据单独管理:最底层去中心化的静态文件网络+ 中层的去中心化动态数据+上层应用自定义数据+ r* O/ q1 K( \, R5 e) t

% Z: V+ f9 F  ~! u; M一个完整的dapp应用架构(不仅仅是社交)应该是这样的:
5 d6 `. X, \0 |7 l& j: h1、身份体系,包括资产token在公链
! t6 j) d9 c" D  S2、数据层有一个独立的网络
- |! O4 s- Z$ o/ b3、可以有独立的静态文件网络) L+ P" a( `) V& Y, `7 {
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

清風風 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1