博客

  • 探索 ActivityPub:去中心化社交网络协议

    引言

    随着互联网的不断发展,去中心化的社交网络逐渐成为热点话题。ActivityPub 正是在这种背景下应运而生的,它是一种去中心化的社交网络协议,基于 ActivityStreams 2.0 数据格式。本文将详细介绍 ActivityPub 的工作原理及其实现方式。

    什么是 ActivityPub?

    ActivityPub 是一种去中心化的社交网络协议,旨在通过客户端到服务器和服务器到服务器的 API 实现内容的创建、更新和删除,以及通知和内容的分发。它的主要目标是让去中心化的网站能够共享信息,并让用户通过各种客户端与自己的账户进行互动。

    ActivityPub 的两层协议

    服务器到服务器的联邦协议

    这种联邦协议使得不同的去中心化网站能够共享信息。例如,当一个用户在一个服务器上发布内容时,其他服务器上的用户也能够看到并互动。

    客户端到服务器的协议

    这种协议允许用户(包括真实用户、机器人和其他自动化进程)通过各种客户端(如手机、桌面应用或 Web 应用)与他们在服务器上的账户进行通信。

    用户和演员

    在 ActivityPub 中,用户通过服务器上的账户表示为“演员”。每个演员都有一个收件箱和一个发件箱,用于接收和发送消息。这些都是通过 URL 进行标识的。

    示例

    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Person",
      "id": "https://social.example/alyssa/",
      "name": "Alyssa P. Hacker",
      "preferredUsername": "alyssa",
      "summary": "Lisp enthusiast hailing from MIT",
      "inbox": "https://social.example/alyssa/inbox/",
      "outbox": "https://social.example/alyssa/outbox/",
      "followers": "https://social.example/alyssa/followers/",
      "following": "https://social.example/alyssa/following/",
      "liked": "https://social.example/alyssa/liked/"
    }

    如何发送和接收消息?

    发送消息

    • POST 到收件箱:将消息发送到某人的收件箱(仅适用于服务器到服务器的通信)。
    • POST 到发件箱:将消息发送到全世界(客户端到服务器)。
    • GET 从发件箱:查看某人发送的消息(客户端到服务器和/或服务器到服务器)。

    接收消息

    • GET 从收件箱:查看最新收到的消息(客户端到服务器)。

    一个完整的示例

    假设 Alyssa 想给她的朋友 Ben 发送一条消息,询问他是否还记得归还一本借来的书。她可以创建一个 ActivityStreams 对象并将其发送到她的发件箱。

    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Note",
      "to": ["https://chatty.example/ben/"],
      "attributedTo": "https://social.example/alyssa/",
      "content": "Say, did you finish reading that book I lent you?"
    }

    服务器会将这条消息包装在一个 Create 活动中,并发送到 Ben 的收件箱。

    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "id": "https://social.example/alyssa/posts/a29a6843-9feb-4c74-a7f7-081b9c9201d3",
      "to": ["https://chatty.example/ben/"],
      "actor": "https://social.example/alyssa/",
      "object": {
        "type": "Note",
        "id": "https://social.example/alyssa/posts/49e2d03d-b53a-4c4c-a95c-94a6abf45a19",
        "attributedTo": "https://social.example/alyssa/",
        "to": ["https://chatty.example/ben/"],
        "content": "Say, did you finish reading that book I lent you?"
      }
    }

    安全性和验证

    在 ActivityPub 中,服务器应该验证收到的内容,以防止内容欺骗攻击。例如,当服务器接收到一个 Like 活动时,应该验证该活动的 id 是否存在并且是一个有效对象。

    结论

    ActivityPub 通过提供灵活的客户端到服务器和服务器到服务器的协议,使得创建、更新和分发内容变得更加简单和高效。它的去中心化特性也为社交网络带来了更多的自由和可能性。如果您对构建去中心化社交网络感兴趣,ActivityPub 将是一个非常有价值的工具。

    希望这篇文章能帮助您更好地理解 ActivityPub 及其在去中心化社交网络中的重要作用。

  • AI教父Hinton与神童创业家Hellermark的对话:人工智能的未来与挑战

    近日,27岁的天才创始人Joel Hellermark与“AI教父”Geoffery Hinton进行了一次深度对话。Hinton在采访中回忆了自己的人工智能生涯,讨论了神经网络、Scaling Law、多模态学习、模拟计算和人工智能伦理安全等多个话题,并且聊到了他的得意门生Ilya Sutskever(前段时间离职的OpenAI首席科学家)。

    神秘人物:Geoffery Hinton

    受访者Hinton是人工智能领域的传奇人物,而采访者Joel Hellermark也颇有背景。他自幼在东京长大,13岁开始编码,14岁创立了一家视频推荐公司。19岁时,他创办了人工智能研究实验室Sana,并在2023年成功筹集了8000万美元的融资。Hellermark坚信学习的力量,因此他没有选择上大学,而是通过斯坦福公开课程自学编程,创办Sana的目标就是“改变教育”。

    从研究大脑到编程

    开始编程的故事

    Hellermark:你是怎么开始编程的?

    Hinton:我从英国刚到卡内基梅隆大学的时候。1982年,我前往卡内基梅隆大学担任计算机科学系教授,直至1987年。在英国的研究单位时,每晚六点钟大家都会去酒吧喝一杯。但到了卡内基梅隆几周后,我还没交到多少朋友。所以在某个周六晚上,我决定去实验室编写一些程序,因为实验室里有一台Lisp机器,家里没有。

    剑桥时期的回忆

    Hellermark:能不能把我们带回剑桥时期,试图理解人脑的经历?

    Hinton:非常令人失望。我为了研究大脑,先是去学习生理学,但实际上他们只教了我们神经元如何传导动作电位……这非常有趣,但不是大脑工作的原理。于是我又转向了哲学,因为我以为他们会告诉我心灵是如何运作的,结果也是非常令人失望。最终,我选择到爱丁堡学习人工智能。

    影响深远的书籍和导师

    关键的启发

    Hellermark:你还记得是什么激起了你对人工智能的兴趣吗?

    Hinton:是唐纳德·赫布(Donald Hebb)的一本书,里面介绍了如何学习神经网络中的连接强度。早期我还读过约翰·冯·诺伊曼(John von Neumann)的一本书,书里介绍了大脑的计算方式以及大脑计算与普通计算机的区别。

    导师和合作伙伴

    Hellermark:你还记得以前经历过的合作吗?

    Hinton:我在卡内基梅隆大学时曾与泰伦斯·塞诺夫斯基(Terry Sinofsky)有过许多交流,我们共同研究玻尔兹曼机。还有彼得·布朗(Peter Brown),他是一位非常优秀的统计学家,在IBM从事语音识别工作。他启发我采用“隐藏层”这一概念来描述神经网络中的中间层。

    凭直觉思考的天才:Ilya Sutskever

    初次见面

    Hellermark:请带我们回忆你的另一位学生Ilya Sutskever。

    Hinton:我当时在办公室编程,突然有人急促地敲门,是Ilya。他告诉我,比起暑期炸薯条的工作,他更渴望能在我的实验室工作。所以我给了他一篇关于反向传播的论文阅读,约定一周后再见面。他回来后说:“我没看懂。”但他的直觉非常敏锐,对事物有独特的看法。

    合作与交流

    Hellermark:你们俩是如何交流的?你们各自扮演着什么样的角色?

    Hinton:非常有趣。我们曾试图用数据制作复杂的地图,Ilya对反复修改代码感到厌烦。一天早上,他告诉我已经搞定了编写接口的工作,这种高效的工作方式让我印象深刻。

    规模与创造力:GPT-4的未来

    模型的训练与预测

    Hellermark:可以为我们科普一下这些模型是如何训练来预测下一个单词的吗?

    Hinton:我制作了第一个使用嵌入和反向传播的神经网络语言模型。为了准确预测下一个词,模型必须理解上下文。随着模型规模的扩大,即使没有特别设计用于推理的组件,它们也展现出了推理的能力,并且随着规模继续增长,它们的推理能力也将随之增强。

    GPT-4的创造力

    Hellermark:你认为AI模型的创造力会如何发展?

    Hinton:GPT-4在规模扩大后,将会变得非常有创造力。它的创造力甚至会超过人类,因为它能够在表面上截然不同的事物之间看到类比。

    未来的应用与挑战

    医疗保健与新材料领域

    Hellermark:你认为未来最有前景的应用是什么?

    Hinton:我认为医疗保健是一个重要的领域,我们希望AI在这些领域变得更好。还有一个应用是在新工程领域开发新材料,例如太阳能电池板或超导材料。

    道德与安全

    Hellermark:你是否担心AI的发展会带来负面影响?

    Hinton:我确实担心不良分子利用AI做坏事,比如制造杀人机器人、操纵公众舆论、进行大规模监视等。

    总结

    Hinton和Hellermark的对话中,探讨了许多关于人工智能发展的核心问题。从神经网络的基础研究到大规模模型的应用,再到AI的伦理与安全,每一个话题都引发了深刻的思考。Hinton的智慧和远见,不仅推动了人工智能技术的发展,也为我们理解未来的AI世界提供了宝贵的见解。


人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 1 | UV: 1
Last updated: 2025-06-22 12:42:20
沪ICP备2024052574号-1