贡献者: Hahaho
审核者:shaun
简介
今天我们将探讨一个备受关注的话题:Nostr的Spam(垃圾邮件)问题,作为一种去中心化协议,Nostr协议在全球范围内实现了社交媒体的去中心化,自主性和抗审查特性。同时,这种协议也存在着一些挑战,其中Spam问题是最为突出的一种,我们今天的讨论不会局限于Spam问题,还将着重探讨它对社交媒体的未来,去中心化技术的进展以及隐私保护方面的影响,为此DAOrayaki社区有幸邀请到了来自Nostr CN社区的数据科学家Sherry老师,从专业研究人员的角度,跟我们一起开启今天的话题:Nostr的“去Spam”之路还有多远?
主持人:Shaun
(DAOrayaki 负责人)
嘉宾:Sherry
(数据科学家)
Q:在开启正式话题之前,大家应该很好奇您的背景,您为什么会对Nostr感兴趣呢?是跟您所研究或正在探索的领域相关联吗?
其实相关性并不大,起初大概是在三四个月前,一个朋友向我介绍Nostr,他是一个有很多年经验的比特币核心(Bitcoin Core)开发者,后来逐步转到了Nostr的开发上。最开始尝试了解Nostr的时候,我并没有意识到Nostr的迷人之处,我对它的认识仅仅是“又一个关于Social Media的协议。”
其实自从Twitter流行开始,就不断有人提出,APP(应用程序)不应该是社交媒体的载体,应该把它变成一个协议,也有人在不断地尝试,但都没有得到广泛的应用。所以在两三个月后,我决定Get hands dirty(亲自实践),真正参与一些Nostr方向的开发。
Q:经过几个月的接触,您觉得Nostr的发展现状是怎样的?我们知道最初经历了“爆火”的阶段。
其实从开发者的体感上来讲并没有那么火,我认为诸如Twitter,Instagram的社交媒体都遵循一个规律:用户是依照波浪形一波一波进入的。有一些用户觉得这个东西可用,解决了他们的问题,就会留下来,而绝大部分人是不会留下来的,直到下一波到来。
我们要做的就是在两波间做好准备,建立好基础设施,优化用户体验,等待下一波用户的到来。另外我每周都会追踪Nostr上的统计数据,我个人感觉,其实还是不断的有人在加入,只是人数上有上下起伏。到目前为止,Nostr上的账号数量已经接近100万了,虽然在现阶段其中有很多Spam账号。
我觉得这个数量的用户群体意味着,不管你想做什么实验,我们都有足够大的用户群保证方案验证的有效性。
Q:刚才谈到每个“浪”之间,都会有一些急需解决的问题。那现阶段在Nostr生态上,除了我们过后要谈的Spam问题,还有哪些问题急需去解决呢?
在Nostr里只有两个角色,一个叫Client(客户端),一个叫Relay(中继)。Relay和服务器是一个很类似的概念,Client负责从众多Relay上抓取信息。作一个简单的比喻,我们可以把Twitter看成只有一个Relay的架构,客户端只从这一个Relay里抓取信息,相当于你把自己全部的用户行为“托付”给了这个单一且唯一的Relay,如果它禁止你发布消息或宕机,你的用户行为也被强行中断,你在这个生态里也没有第二个选择。
但在Nostr上有非常多的Relay,甚至任何人都可以运行一个自己的Relay,Client也可以选择只抓取一部分Relay的信息,或者全不抓取,但是你可以把自己的信息发送到全部Relay上。
同时在Nostr的身份验证体系里,它抛弃了传统的用户名和密码的概念,而是使用密钥对的概念,你手里掌握着你的私钥,每次发布消息的时候,附带上公钥的同时用你的私钥来对整个信息进行签名,证明这条消息是你“亲自”发出去的。
而但凡涉及到密钥对,就有一个绕不开的问题:密钥管理。
是的,我在使用Damus的时候,它自动生成了密钥对,但下次再需要登录它的时候,我必须要使用类似“账本”的功能,否则我是记不住公钥和私钥的,必须有一个复制粘贴的动作。
没错,这样的一个复制粘贴的过程,其实就存在了很大的泄密风险。所以我感觉任何一个有丢失加密货币经历的人,都会对如何管理一对或多对密钥以及丢失了如何弥补的问题比较敏感。所以对于新用户来讲,如何通过完善的UI(用户界面)或UX(用户体验),把密钥的公钥私钥概念介绍给他们,并引导他们创建自己的账户,管理自己的账户,是必要的。
但其实我并不是特别担心这件事,因为我感觉正是这个特性,让Nostr变成了通往Bitcoin的桥梁。因为在Nostr上,最坏的事情就是用户丢失了Post的帖子或丢失了Follower,但其实你是可以通过一些途径把Follower再找回来,并不会有任何经济上的损失。
Q:所以密钥的保管与保存确实是一个问题,但并不是想象中那么严重和急迫解决的问题。而且从另一方面讲,其实它也帮助Nostr在快速的破圈,因为Web 3钱包其实还是有着“壁垒”存在,也阻挡了很多Web 2的用户。
那除了这个问题,还有哪些比较迫切的,摆在“台面”上的问题?
再就是随着用户的陆续涌入,整个网络的流量会变得非常大。这时候想象一个极端情况,如果大家为了保存自己所有的历史消息,把全部信息向每一个Relay发送一遍,当这个情况成为普遍,绝大部分的Relay上就会存储大量重复的信息,Client在抓取信息的时候,也会将包含重复信息的Relay从头到尾扫描一遍,这个方案相对而言就非常低效。
在早先第一波用户快速增长的时候,有很多的开发者会有一种非常“崩溃”的情绪,他们会觉得很多方案并不奏效,这么多人进来了网络要瘫痪了怎么办?所以我觉得这些确实是在下一波用户增长之前,尽可能需要解决的问题。如果不解决,会给用户带来很多不好的用户体验,比如信息无法加载,客户端的渲染与加载缓慢之类的问题,很难留下更多的用户。
Q:是的,试想如果我是一个内容生产者,在Nostr的Relay上发布内容,在时间成本允许的情况下,如果操作还不复杂,我可能也会选择多Relay发送,这样确实就会存在重复信息导致整体运行与加载速度变慢的情况。
这个问题目前有两个主流解决方案,一个是在Nostr上加一层Layer,相当于在整个Nostr协议外架一层Layer 2,上面只运行有限个节点,数量较整个Relay数量更少,每一个节点对它选择的Relay数据做缓存,客户端只和缓存节点沟通,这样会完善用户体验。目前有一个客户端实现了这个功能,上面的信息加载也非常流畅,但这个方式遭到了很多人反对,原因是我们好不容易做出了去中心化协议,最后却回到客户端只和少数或单一节点沟通,又回到了中心化的路线。
还有一个叫Gossip model,因为最初实现这个模型的客户端叫Gossip。它的运行方式是用户发布一条信息,信息上会写清楚,用户从哪个Relay上读取信息,向哪个Relay写信息。这样客户端在抓取全部信息的时候,它只会去关联节点抓取请求用户的读写信息,这样就会减少重复Post的情况。
Q:前面我们聊了关于公钥的隐私安全,也谈了Relay设置的利弊以及衍生问题的担忧。
接下来我们聊聊Spam的问题,这可能目前的热点话题了,您觉得为什么Spam问题在Nostr会这么突出?
首先是因为Nostr很新,目前有一些Anti Spam的办法,但大部分的措施核心都是关键词过滤,我觉得对于英文圈的用户来说,这可能是他们遇到过的最复杂情况,但对我们来说可能不一样,如果我发送一个火星文,关键词过滤就完全不起作用。
再一个就是目前绝大部分Relay是免费的,在初期大家可能觉得无所谓,可以免费把我的Relay拿来用,也不设置任何规则,全部的人都可以来读写,但这也导致Spam没有任何成本。账户的生成也非常容易,传统的账户可能需要和邮箱,手机号绑定,但在Nostr,只要点击Generate Key(生成密钥),就可以立刻获得一个新身份,因此批量生成Spam账号是完全可行的,而且非常的简单,也约等于0成本。
Q:其实我有一点没明白的是,为什么他们要生成大量的Spam账号呢?因为这个系统中也不存在某种代币激励或经济激励,这么做的目的是什么?就是为了发垃圾广告,钓鱼广告?
主要的目的是引流,此外也不只是Spam的问题,也还会有一些敏感信息的存在。
Q:虽然Spam问题在现阶段的Nostr中出现,但其实在其它领域也是个老问题了,那在已经成熟的生态或领域里,都有哪些方法解决Spam问题?
一种是使用深度学习技术,通过文字或是图像识别。另外一种是做用户行为的分析,在中心化系统里,Spam账号的行为一定和普通用户的行为是有所不同的,比如它的发送频率可能会突然改变,某个账号已经半年没有任何行为了,但它突然变得特别活跃,通过诸如此类用户行为的分析,可以达到一种比较精准的防范Spam的功能。
Q:刚才我们聊到,现在所有的Relay节点都是免费的,那如果收费会不会是一种行之有效的方法?
并不是所有的Relay都免费,只是大多数的,现在已经存在收费的Relay,收费Relay确实没有Spam问题。因为在Spam大量出现之前,收费Relay相对而言使用的人更少,直到突然有非常多中国大陆和中国香港的IP进入(因为很多Spam的服务器架设在香港)以后,大家才想到去寻找收费Relay,所以在那一段时间收费Relay的用户订阅量有显著的增长。
Q:也就是说目前关于Spam的解法,收费作为一种小规模的尝试,起到了一定的效果。说起解法,接下来就要聊到NIP(Nostr Implementation Possibilities,Nostr功能实施可行性),目前Nostr上的NIP还是比较多的,也不断在更新,而您也是相关的中文编译者,我有两个问题:一是现在整体的NIP提案是什么状况,进展如何?二是这其中有没有您觉得比较有趣的,能针对Spam问题的一些措施?
最开始的时候,NIP的标准是比较低的,只要有1到2个Client实现了协议,就会被Merge(合并),现在要求会高一点,因为用户不断在增加,可能需要3到5个Client,或5个以上实现某个NIP,它才会被Merge到主分支。
之前有过两个协议和Spam有一些关系,一个算是主动,一个算是被动。主动的就是存在一个sensitive content warning(敏感信息警告),如果用户发布了未成年人不适宜的内容,就会标注Warning,这也算是一种比较良性的Spam。另一个是叫Report的协议,也就是可以举报某个用户。我记得在上个月Nostr发生了一件事,有一个女孩子发了一张自拍,评论区就有人对她进行了侮辱,很多人就对评论点击了举报。
而之后一个绕不开的话题就是,用举报等方式剥夺他人发言权和Nostr所谓的自由是不是相悖的?审核一定会存在,但到底由谁来审核,我们有没有可能通过Relay把它区分开等等都是问题。当然也有很多人觉得,或许可以专门有一个Spam Relay,比如全是暗网黑市信息的Relay,一个都是黄色信息的Relay等等,因为Nostr的核心就是不会阻止你去做任何事。
Report的NIP产生其实也很有意思,它最开始出现是因为Damus的创作者,基于Apple商店的要求,也就是上架之前必须要加一个Report的功能,直到最后演变成了一个NIP。
Q:对的,当时Damus在Apple应用商店上架时还是挺波折的,说不定正是有这层关系在,所以需要对它增加一些底层机制。
是的,遇到了不少阻力也是因为很多在Web 2里执行起来非常简单的事,转移到Nostr的架构上,它反倒会变得更复杂。
Q:其实有关审查和举报的话题我觉得还是挺有意思的,就是去中心化这件事到底应不应该有边界,是不是有一个所谓的“底线”呢?您怎么看待这件事?
我觉得这可能是谁来做“筛选”的问题,也就是审核的权力到底谁该赋予,赋予谁,怎么赋予,为什么赋予。
Q:但前提是一定要有“筛选”?
是的,我认为“筛选”是必要的。尤其是考虑到可以接触到互联网的人群包括未成年人,这是我支持一定要筛选的主要原因。
Q:那么同理,这件事在Relay中也是一样,如果一些Relay通过某些机制或是方式,运转的非常良好,又提供了很多优质内容,那不就会产生这个(些)Relay变得更加庞大,更加中心化,然后其它Relay没人用的情况吗?会这样吗?
从用户使用体验的角度来讲,Relay几乎是一个隐身的存在,也就是用户很难直观体会到某个Relay明显好过另一个Relay。另外目前使用Nostr的主要目标群,都是对自己产出的内容比较在意的人,他们想夺回属于自己的内容的控制权,其实Nostr整个协议运行的一个基本原理就是,客户端一定会把消息发送到多个Relay,不可能只发送到一个Relay,发送到一个Relay就变“回”Twitter的模式了。像目前有很多个Relay,它们之间几乎没有明显的优劣势区别,能致使用户非要保留其中的某几个Relay。
Q:坦诚来讲,现阶段我觉得没有什么太明显区别的原因在于,大家都差不多,都没什么内容。最开始的时候我们可能对于Relay没有一个区分标准,可能随机进到某个Relay,被一大堆乱七八糟的消息淹没,但假如现在我们知道某些Relay可能有很多的Spam,那么这类的Relay我就不用,或许这也是环境在“教育”用户的过程。虽然现阶段的Relay并没有参差不齐,并没有给用户强烈的感知驱使人们选择某些Relay,但原因可能是因为大家都差不多,都不怎么好,我是这么认为的。
但这样的话你们想做的是客户端吗?这个客户端是只和一个Relay沟通吗?
Q:只是一个比喻或是类比,我们只是希望通过某些方式,不管在协议层或是客户端,在Nostr的整体生态中呈现出更多优质性的内容。但至少从Jack的喊单开始,到大面积流行,目前确实还没有看到,能在某个赛道或在某个领域有特别突出的优势。当然我觉得这和时间也有关,肯定要给予时间去发展。
从Nostr设计上来讲,我觉得可以简化为“Start Client dumb Relay”。也就是Relay其实没有什么功能,它唯一的功能就是存储,此外Client请求信息的时候,它本身就会做一个筛选。比如有一个客户端,它的Global(全局)信息显示的就不是未经过滤的Relay信息,显示的是三层社交网络里的联系人所发出的信息,这样其实Spam就已经很少了。
Q:从这个角度讲,我觉得这也是Nostr在设计极简方面的聪明之处,有时候越极简,就会有越多的设计空间在里面。聊到这个话题,我们知道Nostr支持闪电网络(Lightning Network),而Nostr上的激励与支付也是未来发展不可避免的话题,它目前是只支持Bitcoin支付吗?
是的,它目前只支持Lightning Network。
Q:在我看来这反而会限制用户?因为现在使用比特币作为支付手段的人群始终是有限?
这可能和Nostr的发展历史有关,Nostr的早期开发者绝大部分都曾是闪电网络的开发者,其中非常多的人都曾经做过闪电网络协议,包括钱包相关的开发。此外我不认为Nostr会被闪电网络限制住,Nostr是一个比闪电网络更广的东西,用户可以选择只用它的社交功能,不使用支付功能。归根结底它吸引的核心人群还是想要掌握自己产出内容的人群。
Q:您怎么看待Nostr未来的发展?
其实有很多人问过我一个问题:“我该怎么投资Nostr?”,说实话我真的不知道怎么去具体回答这个问题,我觉得只要去建设某些东西就好了,我觉得Nostr其实并不属于Web 3的范畴,它只是一个去中心化协议。
比如Nostr上有一个协议叫Badge(徽章),就是用户可以签名一个图像,然后发送给其它用户,这样客户端上就会将徽章展示在头像下面,然而很多人把它当NFT来用。当然,如果有一天获得Badge需要收费,我也不会很吃惊,它们之间可能有一些相似之处,但其实差别还是很大的。此外,我觉得未来任何一个想做信息交换生意的公司,如果不融入到Nostr,那等待这个公司的结果可能就是逐渐的消失。
Q:信息交换?我觉得这是一个很好的思考方向。
我觉得任何一个体验过Nostr功能的人,都会认同这个看法。用户的一个账号,一个密钥对就可以通行全部APP,也就不用再受任何平台的限制。你在某一平台上的粉丝,可以随时带去另一个平台,大家的竞争维度也会变得更加公平,所有用户在同一个维度上竞争,所有客户端在同一个层面上竞争,所有Relay在同一个层面上竞争。而不会存在一种情况,一个水平较低的内容生产者,仅仅因为依托的平台非常强,就收获非常多的流量。
在这种情况下,如果你是个内容生产者,你分散在所有平台上的所有用户受众,都可以看到你生产的内容,这是我认为最重要的一点,而且也是保证Nostr生生不息的一点。
另外Nostr除了Social Media,也可以做其它事。比如有一个项目叫Nostrocket,这个项目做的是一个基于Nostr的共识层,换言之我们可以在Nostr上使用它来组建一个DAO,实现一些与智能合约不完全类似的功能,也会比智能合约更加的灵活。
Q:好的,感谢Sherry老师的分享,有关今天的话题您还有什么想补充的内容吗?
欢迎大家参加香港的Meetup哈哈哈,欢迎大家。
Q:对的哈哈哈,这里也稍微打个广告,我们4月14号准备在香港联合举办一场线下的Meetup,这可能也是中文社区第一次相对有些规模的Nostr线下会议。当然整个大背景是我们会在近期启动全球的Nostr Hackathon,我们也欢迎与Sherry一样的Builder参与到项目的竞赛中来,竞赛的奖金还是非常丰厚的。欢迎爱好者,开发者,项目方,协议研究者,各种提案的人员都来参与。
此外现阶段的Nostr很多东西都不是很完美,所以有很多的Idea暂时没有机会实现,如果有Nostr开发者在听这期播客的话可以尝试。
一是对于内容生产者,我个人感觉一个项目终究要产生利润,才有可能运转下去,如果它对于参与其中的人没有任何利润可言的话,最终结果未必会好。我曾经有一个设想就是关于音乐创作者,假设我在三天后要发布一首音乐,那么有用户想提前听,那就可以使用Pay to listen(付费提前收听)的模式,因为我们已经有支付工具(闪电网络)的支持,又有了Nostr,在这样的用户场景下,它最大的问题就是用户付费了以后,他可能会把内容泄露出去,这样潜在的付费人群就会减少。那么就可以将购买音乐的付费人的相关信息Encode(编码),也就是在音乐上加一层人耳几乎听不到的频率,再通过Client层面Decode(解码)用户的公钥和私钥,这样一旦有人购买然后泄露,通过Decode追溯到他,可以对其造成类似于“社死”的心理压力。
再一个就是在Nostr层面上没有类似于知乎或Quora(与知乎类似的问答类网站)的功能出现。因为Nostr缺乏一个比较好的内容推荐机制,用户很难找到有意思的内容,而传统的机制又有一定局限性,因为在Nostr的场景下,账户的生成没有任何成本,相当于可以无限制的Like。
还有一个就是所谓的加密群聊,这个方向的需求也很大。而现在的聊天软件,比如Telegram,虽然叫群聊,但在创建Channel(类似于聊天群)后,所有人都可以看到里面的人谈了什么,所有人都可以随意进入退出,就相当于“在广场上裸奔”,我觉得真正的群聊是类似于“在澡堂里裸奔”。
Q:是的,它有一个大环境和小环境的区分。
所以这些内容在Nostr上还是有缺失的,也欢迎有想法的贡献者一同来构建Nostr。
来源:金色财经