这次讨论强调了 Signal 如何利用零知识证明(ZKP)来保护用户隐私,特别是在捐赠徽章、群组成员身份和用户名验证方面。通过将身份与服务器端数据解耦,零知识证明确保了 Signal 无法将特定操作或用户与其元数据关联起来,从而加强了该应用程序的“去信任化”架构。
对话的很大一部分集中在将电话号码与 Signal 账户解除绑定的技术细节上。尽管用户希望找到取消注册电话号码的方法以增强隐私,但参与者对潜在的滥用表示担忧。人们普遍怀疑简单的“解除绑定”功能可能会导致垃圾邮件发送者和诈骗者大量涌入,从而创建无限多的账户。因此,共识认为,虽然从技术上讲解除绑定是可取的,但如何有效地实现它——或许通过冷却期或替代注册方法——对于开发者来说,在安全性与反垃圾信息措施之间取得平衡仍是一项复杂的挑战。
作者将软件功能比作葛藤——一种会大肆侵占生存环境的入侵植物。正如葛藤一样,一旦功能被添加到代码库中,它就会变得“粘滞”:团队会在其基础上构建各种依赖,导致后续想要移除它变得愈发困难且吃力不讨好。
在如今人工智能辅助开发的时代,生成代码变得比以往任何时候都更容易,“代码库葛藤”的风险已达到临界点。如果不进行有意的精简,项目中就会堆积大量未被使用且复杂的功能,从而阻碍维护工作。
作者认为,开发者必须转变思维模式:将添加功能视为一种临时实验,而非永久性的固定配置。通过监测实际使用情况(正如作者追踪“标签气泡”功能的失败案例一样),开发者应主动删除那些无法提供明确价值的功能。归根结底,删除代码的能力与编写代码的能力同样重要;如果你能轻易添加一项功能,也必须准备好同样迅速地将其剔除,以保持代码库的健康。
2003 年 5 月,威斯康星大学麦迪逊分校的网络时间协议(NTP)服务器遭遇了持续且巨大的互联网流量洪流(高达每秒数百兆比特)。起初,人们怀疑这是一场恶意分布式拒绝服务(DDoS)攻击,但调查发现,根本原因是数十万台网件(Netgear)家用路由器中存在设计缺陷。
这些设备被硬编码为向该大学特定的 IP 地址查询时间同步,且查询频率往往过高。由于这些产品缺乏适当的更新机制且部署广泛,学校无法在不影响合法用户的情况下简单地屏蔽这些流量。
该大学与网件公司合作确定了故障固件并开发了修复程序,同时还邀请独立专家探索诸如 BGP 任播(anycast)等长期的架构解决方案。此案例凸显了在消费类硬件中嵌入硬编码的全球可路由 IP 地址所带来的危险,这种做法违反了互联网最佳实践,并造成了运营层面的不稳定。该大学公开此事旨在防止类似事件再次发生,并强调制造商必须遵守既定的互联网标准,在未来的产品设计中优先考虑稳健且可配置的网络行为。
Julia 1.13 现已发布,带来了显著的性能提升和易用性改进。
**性能与效率:**
* **更快的启动与预编译:** 包预编译速度比 1.12 版本提升约 30%,整体启动时间缩短约 20%。
* **垃圾回收 (GC):** 完全垃圾回收速度大幅提升,因为系统镜像中的对象已被永久标记,这意味着回收时间现在取决于用户的堆内存大小,而非已加载代码的总量。
* **哈希算法:** 采用全新的高性能纯 Julia 哈希算法 (RapidhashNano) 替代了 MurmurHash3,显著提升了字符串和数值类型的处理速度。
* **多线程:** 调度程序的改进大幅降低了在频繁创建任务负载下的开销,特别是在 Windows 系统上。
**REPL 与工作流改进:**
* **原生 REPL:** REPL 现在内置了语法高亮,并增强了类似 `fzf` 的模糊搜索历史记录功能。
* **开发工具:** 改进后的内省宏允许将类型直接传递给 `@which` 等工具。新增的 `--trace-eval` 标志有助于调试加载耗时。
* **Pkg 更新:** Pkg 现在使用 zstd 压缩以加快下载速度,并包含更智能的依赖解析机制,以避免冗余的预编译。
* **Juliaup:** 新增了用于管理版本和配置的图形界面 (`juliaup gui`)。