区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > BNB > 正文

以太坊:深入了解Farcaster的协议层设计与生态应用思路_区块链存证证件

作者:

时间:

FarcasterProtocol是继LensProtocol之后的又一SocialFi赛道龙头产品,Farcaster是前Coinbase高管DanRomero和VarunSrinivasan的项目,目前已获得了A16Z领投的3000万美金。

Farcaster的目标是为WEB3生态提供一个可信的中立协议,使用户与受众有直接的联系,同时可以让开发者自由的建立新的客户端。

Via?farcaster?V神入驻

Farcaster的远期目标是成为WEB3社交赛道中重要的底层基础设施,这一点和LensProtocol的方向是一致的,但Farcaster的架构设计相比LensProtocol精细很多,采取了一个试图在WEB2和WEB3之间寻找一个最优平衡点的策略。

Via?BlockTurbo

今天我们来深入了解一下Farcaster的协议层设计与生态应用思路,如果想要深入研究可以去查看官方的github:

https://github.com/farcasterxyz/protocol

Farcaster介绍

社交网络是去年10年发展的最迅速的行业,很多的社交平台为开发者提供了API,使开发者可以“二次创造”,并发展出新的生态,例如Twitter上的各类好玩的插件。但是,最近几年,情况好像不太对了,开发者能做的事情似乎变得越来越少,API的限制与各种各样的审查使得开发者不再自由,甚至有时在没有任何通知的前提下,就被剥夺了访问的权利。

Farcaster是一个完全的去中心化协议,方便开发者构建去中心化的社交网络应用。Farcaster对于去中心化的定义很简单:当两个用户想互相交流的时候,没有任何一种方式可以阻止这件事情发生。也就是说,用户可以完全控制他们的身份,他们的数据以及他们的社交关系。开发人员可以打破任何第三方甚至是网络的限制构建一个完全去中心化的社交应用。

万向区块链肖风:数字经济中使用权比所有权更重要,Token或是互联网平台反垄断的最佳解决方案:2月12日消息,万向区块链实验室创始人肖风近期在新跃社科大学 DBAC 论坛主题演讲时发言表示,数字经济会造就一个虚拟资产或者叫数字资产这样的一个市场体系。而且未来 20 年或者 30 年后可能会和现在的股票市场一样具有同样的规模,也具有同样的价值。数字化的产品和服务,具有高固定成本、低边际成本的价值规律,这造成了目前全球互联网平台造成垄断的现象。同时,在追求价值最大化的路径当中,使用权显得比所有权更重要,区块链时代把这个使用权的新价值规律发挥到了极致,而 Token 在数字经济中即代表了使用权。

区块链的分布式账本帮助我们从数字化的产品和数字化的服务当中,把使用权单独的抽取出来。其个人认为 Token 可能是反对互联网平台垄断的最佳解决方案。[2023/2/12 12:01:41]

这样的愿景也是LensProtocol想要实现的,我们可以认为SocialFi的底层协议的最大价值,是提供一个完全去中心化的社交网络的技术底层的实现方法,使其完全不会被任何的第三方控制。类似于IPFS在去中心化存储市场中的价值。

Via?farcaster.network

Farcaster架构

Farcaster采用的一种链上+链下的混合架构,来完成去中心化协议的搭建。Farcaster的身份是被存储在以太坊链上的,并利用以太坊来保证其安全性,可组合性与一致性。身份通过以太坊地址来控制,并通过以太坊账户来签署链下信息。

用户的数据则通过身份进行加密签名,存储在用户控制的服务器上,之所以数据不存储在链上是因为在大多数L1和L2网络上的结算成本过高,速度过慢。

这一架构与LENSProtocol的设计不太一样,Farcaster更多考虑了开发者的实际需求,并更类似于WEB2社交媒体的表现形式,降低用户学习的成本,但Farcaster依旧是去中心化的,用户的身份,数据和社交关系是基于区块链的。

万向区块链肖风:区块链应用落地的三个阶段,目前已迈入应用落地的2.0阶段:7月31日,万向区块链董事长兼总经理肖风博士受邀出席由工信部所属中国电子技术标准化研究院主办,万向区块链协办的“区块链技术和应用峰会暨第四届中国区块链开发大赛成果发布会”,并发表了题为“区块链应用落地的三个阶段”的演讲。肖博士表示,认为区块链的应用落地可以分成三个阶段。在区块链应用落地的1.0阶段,区块链技术主要发挥存证、溯源等工具性能。而今,我们已经迈入区块链应用落地的2.0阶段。在这一阶段中,区块链技术扮演起重组生产关系的角色,催生出分布式商业等创新的商业模式。区块链应用落地的2.0阶段,并非区块链应用的最终阶段。接下来,随着央行数字货币的发行,随着多边平台越来越活跃,我们会进入区块链应用落地的3.0阶段——也就是资产数字化和数字资产化,所带来的基于区块链的价值分配和价值交换。在这一阶段中,我们会看到数字化、智能化之后,再进行金融化、资产化,重新带来基于利益相关者的经济体制,新的价值评估、价值分配、价值交换的区块链应用被建立起来。[2020/7/31]

账户

Farcaster账户类似于Twitter或Reddit等假名社交网络上的账户,个人可以同时操作几个账户。每个账户都有一个与之相关的唯一号码,称为FarcasterID或Fid。FarcasterID可以通过调用FarcasterID注册处从一个以太坊地址获得。这个地址被称为托管地址,可以代表账户签署链外和链上信息。用户可以选择从Farcaster名称注册处获得一个Farcaster名称或fname,该处为其颁发一个独特的名称,如$/。它们具有特定的属性,使它们在社会网络中相对于其他命名空间来说更加有用。它们的铸造和拥有成本较低,由于字符集的限制,不容易受到同音字的攻击,而且也可以恢复。Farcaster并不强制要求使用fname,用户可以自由地使用其他的名字空间和他们的fids。

放弃fname的使用并不会有太大的不影响,因为Farcaster是围绕fid设计的,每条信息和行为都指向fid而非frame。fnames可以在任何时候改变,而不会失去任何一个之前的依赖信息。

用户名的政策

在测试期间,用户名可以免费注册,并受一个简单的政策约束。该政策的目的是防止名字被不活跃的用户占用或被恶意用来冒充他人。这个问题的解决方案不容易自动化,需要人工判断来执行。用户名政策有两个核心原则:

声音 | 肖风:区块链数字资产将是新金融的核心\"资产\":今日由HashKey Group和万向区块链实验室联合主办的HashKey2019数字资产全球峰会在香港举行。万向区块链董事长肖风在题为“数字资产:从江湖到庙堂”的演讲中表示,交易成本是企业存在的核心原因,新经济和新商业模式是将交易成本作为新视角,其中包括信息成本、信任成本和转移成本,随着互联网带来的全景数据和长尾数据、区块链带来的“信任机器”、人工智能带来的智能匹配算法,分别降低了这三种成本。他还指出,数字经济下产权的新形态包括数字产权中所有权的不可分割性,数字资产技术上的可复制性、易传播性,数字资产商业上的价值共享会提升整体净收益率,和数字经济的零边际成本社会特性。肖风表示,区块链数字资产将是新金融的核心\"资产\"[2019/3/21]

冒名注册-如果你注册的用户名属于一个知名的公众人物或实体,你的名字可能会被取消注册。例如,@elonmusk、@vitalikbuterin、@google或@whitehouse。不活跃-如果你在60天以上没有积极使用一个用户名,你的名字可能会在其他用户的要求下被取消注册,或者由我们决定取消注册。我们预计经常需要人工干预,因为可能会有合理的冲突。例如,你注册了@vitalik,而VitalikButerin在你之后注册并想要这个名字。在这种情况下,我们会问三个问题来指导决策:

该用户在Farcaster上是否活跃并参与?(例如,如果他们在过去的几个月里发表了高质量的帖子。)该用户是否对这个名字有合理的要求?(例如,如果他们的名字也是Vitalik)该用户是否在其他网络上拥有类似的、活跃的账户?(例如,如果他们在twitter上拥有vitalik和vitalik.ens)。如果这些问题的答案大多是肯定的,他们将保留对自己名字的要求。在测试网中,核心团队将对这种冲突进行仲裁,我们希望在接近主网时,围绕这个问题正式建立一个管理制度。如果一个名字由于仲裁的结果而被收回,用户将不会被退款。

账户恢复

如果用户失去了持有ID和名字的地址的密钥,FarcasterID和名字是可以恢复的。这两个合约都实施了一个延时恢复系统,允许恢复地址请求转移到一个新的地址。如果保管地址在三天内没有取消转移,恢复地址可以完成转移。

声音 | 万向区块链肖风:在区块链底层技术上做商业应用应积极拥抱监管:3月8日,在由上海区块链技术协会、上海区块链技术创新与产业化基地、万向区块链、矩阵元联合主办的区块链信息服务备案技术交流会上,万向区块链董事长兼CEO肖风指出,区块链底层技术的发展,需要上层商业应用的支持。在区块链底层技术上做商业应用,不能固守绝对去中心化的传统观念,而应积极拥抱监管,在合法合规的前提下,去开发符合市场需求的优质应用,进而推动区块链技术及整个产业的蓬勃成长。[2019/3/8]

用户可以将恢复地址设置为自己钱包中的另一个地址,与朋友共享的多重签名,或第三方恢复服务。用户也可以在任何时候改变恢复地址。所有权仍然是去中心化的,因为恢复地址不能进行保管地址不同意的转移。

将资产转移到一个新的托管地址将解除恢复地址的设置。否则,用户可能会在OpenSea上购买一个名字,但以前的所有者却用他们的恢复地址隐秘地将其领回。

信息处理

信息处理是Hub接受新消息和确定用户状态的过程。用户为他们的每一个行动向一个Hub发送消息。如果一个用户喜欢一个URL,不喜欢它,又喜欢它,就会产生三条信息。一个收到所有信息的Hub将确定用户喜欢的URL的当前状态。

Hub可以丢弃前两条信息以节省空间。Hub可以使用合并操作来压缩这样的消息,这就避免了客户端的不一致性并节省了空间。消息可能对其合并操作有不同的规则。例如,一个用户对同一个用户的两个喜欢可以压缩成一个,而两个回复则不能。

Hub可能会遗失用户的一些信息,并最终处于一个错误状态。例如,它可能只收到第一个喜欢和不喜欢的信息,这就把当前状态设定为不喜欢。合并操作应该允许状态向前发展,并在缺失的消息被重新广播时达到一致性。换句话说,合并应该确保最终的强一致性。

Hub通过为每个消息类型实现CRDT集,编码特定的验证和合并规则来实现这一点。这一特性使得Hub具有很高的可用性,因为它们可以在任何时候下线,并且总是能够恢复同步。从形式上看,我们的CRDT集是匿名的Δ-状态的CRDT2,每条消息都是集上的一个连接且不可减少的更新。

信息排序

信息集合可以通过时间戳对签名信息进行排序,以最后写入的策略解决合并冲突。然而,他们不能保证完美的排序,因为时间戳容易受到时钟偏移、时钟漂移、恶意用户的影响,并且可能因为一些原因发生碰撞。应用程序可以使用混合时钟来产生完美排序的时间戳,不发生碰撞,但我们不能强制使用它们。

万向肖风:即使在联盟链上,有币也会更有效率:在今天的全球普惠区块链峰会上,肖风博士在演讲中提到,“区块链加密账户的记账单位是数字货币。没有币作为记账单位的区块链,已经不是区块链了,只能对现有体系的效率有所提升,不会有数量级以上的改善。即使在如MAS主导的联盟链项目中,如果使用结算币,一定比现有法币系统成本低,效率高。有基于区块链的可编程货币,才有可编程金融,才能形成可编程经济,这是区块链带来的根本变化。”[2018/4/17]

相反,我们为消息定义了一个排序系统,通过使用时间戳来确定初始排序,并使用哈希值来打破冲突,从而确保总排序。总排序是有保证的,因为两个消息不能有相同的哈希值,除非它们是同一消息。两个消息a和b可以用这个算法进行比较:

如果a.timestamp>b.timestamp,则a更大。如果a.timestamp<b.timestamp,则b更大。如果a.timestamp==b.timestamp如果a.hash>b.hash,则a大。如果a.hash<b.hash,则b更大。如果a.hash=b.hash,a==b时间戳是作为数字比较的,而哈希值是作为字符串比较的。由于字符串的比较在不同的实现中会有差异,我们必须在比较算法中精确。我们认为,两个哈希值x和y可以通过比较每一对字符来进行比较:

如果所有的字符对都相等,并且x和y都终止,那么x==y如果所有的字符对都相等,并且x先终止,那么y>x如果遇到一个不同的字符对xC,yC,那么如果ASCII(yC)>ASCII(xC),则y>x信息验证

除了消息类型的特定验证外,所有消息必须通过以下验证:

message.timestamp比系统时间提前不超过1小时。message.fid必须是FIR中的一个已知fid号码。signerPubKey应该是message.fid的有效托管签名者或委托签名hashFn(serializeFn(message))必须与envelope.hash匹配,其中hashFn是一个Blake2B函数,serializeFn执行JSON规范化。EdDSA_signature_verify(envelope.hash,envelope.signerPubKey,envelope.signature)应该通过。Casts

Cast是由用户创建的公共信息,其中包含文本,也可以嵌入媒体、链上活动或其他Cast。Cast被存储在一个两阶段的集合CRDT3中,解决消息之间的冲突。

一个Cast可以通过CastAdd消息来添加,该消息被放置在CRDT的add-set中。每个Cast都被其哈希值所索引,除非Cast是相同的,否则哈希值保证是唯一的。推而广之,两个添加消息永远不会冲突,除非它们是相同的,在这种情况下,一个可以被安全地丢弃。

Cast可以通过CastRemove消息来移除,该消息包含对目标CastAdd的哈希值的引用。当收到该消息时,如果目标存在,则从add-set中移除,而移除则被添加到rem-set中。添加和删除之间的冲突用Remove-Wins规则处理,而删除之间的冲突用Last-Write-Wins规则处理,在平局的情况下回到lexicographical排序。

添加信息

一个CastAdd可以包含最多320个字符的unicode文本和两个最多256个字符的URI。客户端负责将URI和文本一起解码和渲染。

没有父代的Cast是一个顶级的Cast,客户应该显示在用户的个人资料或时间线上。有父代的cast是对另一个cast、webURL或链上对象的回复,应该在一个线程中显示。

投票形成一系列的树,每个根是一个投票或URI,每个子节点是一个回复投票。每个树都可以被渲染成一个线程对话。树被保证为非周期性的,因为在子节点指向它之前,父节点必须被散列和签名。对父节点数据的任何改变都会破坏与其子节点的所有关系。

Cast信息必须通过以下验证步骤。

文本必须包含<=320个有效的unicode字符embed必须包含0到2个项目项目必须是一个最多256个字符的URI如果存在父代,必须是一个有效的URI,不等于这个消息的URI。删除信息

CastRemove只包含一个对CastAdd的哈希值的引用。它允许永久删除Cast,同时删除原始Cast的数据。

该消息必须通过以下验证步骤:

message.data.body.hash必须不等于message.envelope.hash。message.timestamp必须<=系统时钟+10分钟message.data.fid必须是FIR中的一个已知fid合并规则

当收到一个添加消息a时,如果在rem-set中存在r,并且r.data.body.hash等于a.hash,则丢弃a。否则,将a添加到添加集中。当收到一个移除信息r时,如果在添加集中有一个a.hash等于r.data.body.hash,则删除它。如果在rem-set中存在一个r',其中r.data.body.hash等于r'.data.body.hash,如果r'>r,丢弃r';如果r'<r,则删除r并将r'添加到rem-set中;否则,将r添加到rem-set中。

Actions

Action是用户对一个目标进行的公开操作,这个目标可以是另一个用户,也可以是链上活动。目前支持两种类型的操作:喜欢和关注。该协议可以很容易地被扩展以支持新的Action。用户可以通过切换消息上的活动属性来撤销和重做行动。从概念上讲,每个行动是社交图中的一条边。

Action是用LWW-Element-SetCRDT管理的,它保证了最终的一致性。从概念上讲,有一个单一的集合来存储所有的消息,冲突是通过时间戳和lexicographicalhash顺序来解决。增加是通过构建一个active为真的行动消息a来进行的,而删除则是通过将active设置为假来进行的。在这两种情况下,将消息合并到集合中的逻辑是:

如果集合中存在一个Actionx,其类型、目标Uri和fid的值与传入的动作y相同。如果x>y,丢弃y;如果x<y,删除x并将y加入到集合中;否则,将y添加到集合中。

验证

验证是Farcaster账户和外部实体之间所有权的双向证明。验证可以用来证明以太坊地址、特定的NFT、其他社交媒体账户、甚至是域名的所有权。

验证有三个核心概念:

声明,包括对Farcaster账户和外部实体的引用。声明可以被哈希化,以便为每个索赔创建一个独特的标识符。来自外部实体的方向性证明,该实体被授权提出要求,显示其与Farcaster账户的连接意图。来自Farcaster账户的方向性证明,接受将索赔与Farcaster账户关联的请求。签名者授权

签名者授权是一个消息,授权一个新的密钥对为Farcaster账户生成签名。

当一个fid被铸成后,只有保管地址可以代表它签署信息。用户可能不想把这个密钥对加载到每个设备中,因为它增加了账户被破坏的风险。保管地址,也被称为保管签名者,可以授权其他被称为委托签名者的密钥对。与监管签名者不同,委托签名者只允许发布链外信息,不能执行任何链上操作。

托管签名人在secp256k1曲线上生成ECDSA签名,只能发布签名人授权信息。所有其他类型的消息必须由委托签名者签署,委托签名者在curve255194上创建EdDSA签名。委托签名者可以用来授权新的设备甚至第三方服务来为一个账户签署消息。如果一个委托签名者被破坏,它可以被自己、其信任链中的祖先或任何托管签名者撤销。当一个签名者被撤销时,Hubs会丢弃它所有的签名信息,因为没有办法区分用户的信息和攻击者的信息。

用户也可能因为密钥恢复或更换钱包而将一个id转移到一个新的托管地址。通常希望保留历史,因此两个托管地址都成为有效的托管签名者。一个id的有效签名人集合形成了一系列不同的树。每棵树的根是一个历史保管地址,而叶子是委托签名人。

签名人集合是一个修改过的两阶段集合,具有删除-赢和最后写入-赢的语义。如果新信息被有效的委托人或监护人签名,则被添加到该集合中。如果是由自己或祖先签署的删除信息则被接受。签名者一旦被移除就不能再被添加,它的所有后代子代和消息都会被丢弃。

如果两个有效的签名者分别授权同一个委托签名者,就会发生集合冲突,这就破坏了树状数据结构。如果发生这种情况,集合将保留具有最高时间戳和lexicographicalhash的消息,按顺序排列。

分片

Hubs可以只复制特定账户的数据,这对扩展网络是一个有用的属性。如果Farcaster发展到足够大,以至于一台服务器无法支持复制整个网络的Hub,那么工作负载可以分散到多个Hub上。集线器运营商也可以避免为那些有恶意行为或与运营商无关的用户同步数据。

选择性复制只能提供网络的部分视图。如果一个Hub正在同步Alice的数据,它就会知道她回复并喜欢Bob的一个帖子。然而,它不会知道Bob的帖子的内容,或者Bob喜欢她的回复,然后继续回复的事实。一个旨在提供准确的喜欢计数并提供所有回复信息的应用程序应该尽可能多地复制用户。

标签:以太坊区块链FARSTE怎么购买以太坊币区块链存证证件具有更高的信任等级FAR价格IQONIQ FanEcoSystem

BNB热门资讯
元宇宙:第7届世界元宇宙大会在元宇宙与深圳高交会上顺利召开_SBF

第7届世界元宇宙大会暨第10届世界元宇宙大会新闻发布会于11月15日在元宇宙线上主会场及深圳高交会1号馆、2号馆两个分会场顺利召开.

加密货币:Chainalysis:FTX 暴雷,投资者是否为了稳定而转向法币?_数字资产

本周是加密历史上最疯狂的一周。作全球最大的交易所之一,FTX的代币FTT在过去两天暴跌84%,一项待收购的暂定协议于昨天下午也已终止.

数字资产:肖风:以太坊的“上海时刻”_哪个不是区块链特性

2022年9月15日,以太坊将迎来它继2013年底初版白皮书发表、2015年7月主网上线之后的又一个历史时刻:“合并”。以太坊的共识机制将从工作量证明转为权益证明.

AST:NFT为何昂贵?它的价值源于何处?_TER

"本质上,NFT就是代币化了的JPEG图片。如果你想知道,过去几年中它怎么会卖到数百万美元,大多数人会轻描淡写地告诉你:因为它们是艺术,艺术本身就具有价值。" 确实。很多人想得就这么简单.

GENE:加密经纪商 Genesis 将何去何从?_ESI

Genesis是加密领域唯一提供全方位服务的主要经纪商,是DCG产品组合中的瑰宝,在使大型机构能够访问和管理风险方面发挥着关键作用.

GENE:一文了解Web3基础设施服务版图:产业模式和生态设施_Genesis Finance

区块链的各种基础设施的发展令人印象深刻。现在的无数公司、组织、项目和社区正在将区块链开发提升到一个新的水平,而Web3现在比以往任何时候都更接近主流.