[2026-05-01] Can I disable all data collection from my vehicle?

0 views
Skip to first unread message

HNews Digest

unread,
May 1, 2026, 10:53:36 PM (14 hours ago) May 1
to mo-...@googlegroups.com
 
This post is also available on the web as a GitHub issue.

Hacker News

Can I disable all data collection from my vehicle?

车辆数据收集禁用总结

以下是对原文的总结:

车辆互联是 Rivian 车辆的核心功能。用户可以选择禁用所有车辆互联功能,阻止车辆数据外传。

禁用互联的后果:

  • 功能限制: 禁用互联将限制或禁用部分车辆功能,例如导航、主动车道保持和OTA (Over-The-Air) 软件更新 (包含新功能、性能提升、安全增强和错误修复)。

禁用方法:

  • 加拿大车辆: 通过车辆设置菜单中的“数据与隐私”屏幕上的开关来禁用所有蜂窝网络连接。
  • 非加拿大车辆: 联系 Rivian 服务预约,请求他们通过服务预约禁用车辆中的 eSIM 卡。

重要提示:

  • 禁用互联不会影响任何 Rivian 订阅服务 (例如 Connect+),这些订阅需要单独取消。

总而言之,虽然可以禁用车辆数据收集,但会牺牲部分车辆功能,并需要单独处理订阅服务取消。

rivian.com | 542 points by Cider9986 at 04:27:22 | 210 comments


How Mark Klein told the EFF about Room 641A [book excerpt]

https://thereader.mitpress.mit.edu/the-whistleblower-who-uncovered-the-nsas-big-brother-machine/

thereader.mitpress.mit.edu | 474 points by the-mitr at 00:41:00 | 154 comments


LinkedIn is scanning browser extensions

好的,以下是根据您提供的文本生成的摘要,中文,且字数控制在800字以内:

LinkedIn 秘密扫描浏览器扩展:隐私侵犯与潜在法律风险

本文揭露了LinkedIn 秘密扫描用户浏览器扩展的现象,并分析了其带来的隐私问题、潜在法律风险以及更广泛的网络安全影响。

核心发现:

  • 大规模扩展扫描: LinkedIn 至少自 2017 年起就一直在扫描用户的 Chrome 浏览器扩展。截至 2026 年 4 月,LinkedIn 已识别并追踪 6278 个扩展。
  • 隐蔽行为: 这种扫描行为未在 LinkedIn 的隐私政策中披露,用户未被告知或征得同意。
  • 关联个人信息: LinkedIn 并非扫描匿名访客,而是将扩展扫描结果与用户的已验证专业身份(姓名、职位、职业经历等)关联起来,构建更详尽的用户画像。
  • 潜在危害:
    • 职业隐私泄露: LinkedIn 能够识别正在寻找新工作的用户,侵犯了其职业隐私。
    • 个人信息关联: 扫描结果还可能暴露用户的政治倾向、宗教信仰、残疾情况、神经多样性等个人信息,并将其与职业身份关联。
    • 企业信息泄露: 通过扫描员工的浏览器扩展,LinkedIn 能够推断出企业的内部工具、安全产品、竞争对手订阅情况和工作流程,构成对企业隐私的侵犯。
  • 生态系统问题: LinkedIn 的扩展扫描不仅限于自身平台,通过与其他平台的数据整合(例如 Google reCAPTCHA),用户的指纹信息可能被追踪到整个网络,形成更广泛的监控。

技术细节:

  • APFC (Anti-fraud Platform Features Collection)/DNA: LinkedIn 使用名为 APFC 或 DNA 的系统进行设备指纹识别,扩展扫描是其中的一部分。该系统收集 48 种浏览器和设备特征。
  • 扫描机制: LinkedIn 使用 JavaScript 代码向 chrome-extension:// URL 发送请求,检测特定扩展是否存在。
  • 数据传输: 检测到的扩展 ID 被打包成事件对象,加密后通过 HTTP 头部传输到 LinkedIn 的服务器。

法律背景与后续:

  • 欧盟数字市场法 (DMA): LinkedIn 作为欧盟监管的产品,受 DMA 约束,不得对使用第三方工具的用户采取行动。
  • 刑事调查: 德国巴伐利亚州中央网络犯罪检察办公室已对此事展开刑事调查,认为其可能构成网络犯罪。
  • 浏览器gate.eu 的法律论点: 浏览器gate.eu 认为 LinkedIn 的行为违反了 DMA,并正在准备相关法律文件。

总结:

LinkedIn 秘密扫描浏览器扩展的行为,不仅侵犯了用户的隐私,还可能违反欧盟的法律法规。这种行为暴露了浏览器指纹识别技术在构建用户画像方面的潜在风险,以及平台之间数据整合可能带来的更广泛的网络安全问题。文章呼吁对这种行为进行更严格的监管,并提醒用户注意保护个人隐私。

希望这个摘要满足您的要求。

404privacy.com | 416 points by un-nf at 03:40:20 | 187 comments


For Linux kernel vulnerabilities, there is no heads-up to distributions

Openwall 项目安全公告摘要 (Summary of Openwall Security Announcement)

This document summarizes a security announcement regarding a Linux kernel vulnerability (CVE-2026-31431) known as "CopyFail". The discussion took place on the oss-security mailing list.

Vulnerability Details:

  • Type: Local privilege escalation
  • Affected Versions: The vulnerability was introduced in Linux kernel version 4.14 with commit 72548b093ee38a6d4f2a19e6ef1948ae05c181f7.
  • Fixed Versions: The vulnerability has been fixed in the following kernel versions and associated commits:
    • 6.18.22 (fafe0fa2995a0f7073c1c358d7d3145bcc9aedd8)
    • 6.19.12 (ce42ee423e58dffa5ec03524054c9d8bfd4f6237)
    • 7.0 (a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5)
  • Severity: Described as one of the "worst make-me-root vulnerabilities" in recent times.
  • Backport Challenges: Backporting the fix to older kernels (6.12, 6.6, 6.1, 5.15, 5.10) is not straightforward due to API changes. These older kernels, dating back to 2017, are affected.

Workaround:

  • A workaround patch (attached to the email: 0001-crypto-disable-authencesn-module-for-CVE-2026-31431.patch) is being used, though the sender notes they are not an expert in IPSec and consider it the "lesser evil."

Distribution Notification:

  • There is no automatic heads-up provided to Linux distributions regarding kernel vulnerabilities unless the reporter specifically sends the information to the linux-distros mailing list.

Additional Notes:

  • The announcement acknowledges the increased workload for maintainers due to the rise of AI-generated content ("AI slop").
  • The announcement encourages users to consult the Open Source Software Security Wiki.

Openwall Projects Mentioned (as context):

The email is posted on a mailing list associated with Openwall, a project known for various security-focused software, including:

  • John the Ripper (password cracker)
  • Linux Kernel Runtime Guard (lkrg)
  • yescrypt (KDF & password hashing)
  • passwdqc (policy enforcement)
  • scanlogd (port scan detector)
  • and many more (listed in the original document).

openwall.com | 410 points by ori_b at 00:43:47 | 323 comments


Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library

PyPI 'lightning' 框架供应链攻击总结 (Summary of the 'lightning' PyPI Supply Chain Attack)

2026年4月30日,流行的深度学习框架 PyPI 上的 'lightning' 包 (版本 2.6.2 和 2.6.3) 遭到供应链攻击。受影响的软件包广泛应用于图像分类器、LLM 微调、扩散模型和时间序列预测等领域。

攻击方式:

攻击者在恶意版本中隐藏了一个名为 _runtime 的目录,其中包含经过混淆的 JavaScript 载荷。该载荷在模块导入时自动执行,旨在窃取凭据、认证令牌、环境变量和云端密钥,并试图污染 GitHub 仓库。攻击者使用 Dune 小说主题命名,创建名为 "EveryBoiWeBuildIsaWormBoi" 的公共仓库。

威胁行为者:

本次攻击被认为是与之前的 "mini Shai-Hulud" 攻击活动同一威胁行为者所为,其 IOC 结构保持一致。

跨生态系统传播:

与 "mini Shai-Hulud" 相比,本次攻击的入口点是 PyPI,但恶意载荷仍然是 JavaScript,并通过 npm 进行蠕虫传播。当恶意软件发现 npm 发布凭据时,它会将 setup.mjs 丢弃器和 router_runtime.js 路由程序注入到可以使用该令牌发布的每个包中,并修改版本号。

数据窃取:

恶意软件通过四个并行通道窃取数据:

  • HTTPS POST 到 C2 服务器。
  • GitHub 提交搜索死信。
  • 攻击者控制的公共 GitHub 仓库 (包含 "A Mini Shai-Hulud has Appeared" 描述)。
  • 推送到受害者的自有仓库。

目标数据:

恶意软件针对本地文件、环境变量、CI/CD 管道和云服务商中的凭据,包括:

  • GitHub (ghp_, gho_, npm_ tokens)。
  • 环境变量。
  • GitHub Actions 秘密。
  • AWS 凭据和密钥。
  • Azure 密钥。
  • GCP 密钥。

持久化机制:

恶意软件通过 Claude Code 和 VS Code 的钩子系统实现持久化:

  • Claude Code:.claude/settings.json 中添加 SessionStart 钩子,指向 .vscode/setup.mjs
  • VS Code:.vscode/tasks.json 中添加 folderOpen 任务,执行 .claude/setup.mjs

setup.mjs 是一个自包含的 Bun 运行时引导程序,下载 Bun 并执行 router_runtime.js(14.8 MB 载荷)。如果拥有 GitHub 写入访问权限的令牌,还会将名为 "Formatter" 的恶意 GitHub Actions 工作流推送到受害者的仓库。

受影响的软件包:

  • ligh...@2.6.2
  • ligh...@2.6.3

IOC (Indicators of Compromise):

  • 以 "EveryBoiWeBuildIsAWormyBoi" 开头的提交消息。
  • 描述为 "A Mini Shai-Hulud has Appeared" 的 GitHub 仓库。
  • 恶意文件:_runtime/start.py, _runtime/router_runtime.js, .claude/router_runtime.js, .claude/settings.json, .claude/setup.mjs, .vscode/tasks.json, .vscode/setup.mjs

建议:

  • 如果使用 Semgrep,请触发扫描并检查是否有项目安装了受影响的版本。
  • 审计仓库,查找注入文件。
  • 轮换 GitHub 令牌、云凭据和 API 密钥。
  • 任何在受影响期间导入恶意包的机器应被视为已完全受损。

semgrep.dev | 344 points by j12y at 00:09:26 | 117 comments


U.S. Senators Vote to Ban Themselves from Trading on Prediction Markets

https://www.wsj.com/politics/policy/senators-vote-to-ban-themselves-from-trading-on-prediction-markets-ae4535dd

wsj.com | 285 points by kamaraju at 03:42:33 | 96 comments


Show HN: We Rebuilt AppAnne and Created Appkittie

AppKittie:App Store 智能分析与研究

AppKittie 是一款利用人工智能技术提供 App Store 智能分析与研究工具。其主要功能旨在帮助用户发现趋势应用、分析排名、追踪增长模式并进行 App Store 研究。

核心功能与特点:

  • 趋势应用发现: 帮助用户发现当前流行的 App。
  • 排名分析: 提供 App 在 App Store 中的排名信息。
  • 增长模式追踪: 监控 App 的增长趋势,了解其表现变化。
  • App Store 研究: 提供全面的 App Store 研究功能。
  • 数据洞察: 提供关于 App 的详细数据,包括:
    • 下载量: App 的下载数量。
    • 收入: App 的收入情况。
    • 广告: App 的广告情况。
    • 关键词: App 使用的关键词。

总而言之,AppKittie 旨在利用 AI 技术为用户提供深入的 App Store 数据分析和研究能力,助力用户更好地了解 App 市场趋势和 App 表现。

appkittie.com | 265 points by tadasg at 18:41:31 | 0 comments


I built a Game Boy emulator in F#

游戏男孩模拟器构建之旅:从零开始理解计算机工作原理

作为一名拥有八年软件工程经验的开发者,我一直对计算机的底层工作原理感到困惑。为了弥补这一知识空白,我决定通过模拟一台游戏机来学习。考虑到个人情感和相对简单的架构,我选择了经典游戏男孩。

学习基础与实践

在直接动手之前,我先完成了从 NAND 到泰特里斯课程,这让我对计算机的核心概念,如寄存器、内存和算术逻辑单元 (ALU) 有了深刻的理解。为了熟悉模拟器构建,我随后构建了一个 CHIP-8 模拟器 Fip-8

经过几个月的努力,我最终完成了一个游戏男孩模拟器,名为 Fame Boy。它支持声音,可以在桌面和网页上运行,并可以流畅地运行《Pokémon Blue》。

Fame Boy 架构

为了实现跨平台运行,Fame Boy 采用了一种简单的接口,将模拟器核心与前端分离。该接口包括:

  • framebuffer: 一个 160x144 色调数组(白色、浅色、深色和黑色)。
  • audiobuffer: 一个 32768 Hz 的环形音频缓冲区,带有读写头。
  • stepEmulator(): 一个函数,执行一个 CPU 指令并返回所花费的周期数。
  • getJoypadState(state): 一个回调函数,用于接收前端提供的游戏手柄状态。

核心组件与设计理念

Fame Boy 的设计尽可能地模拟了真实游戏男孩的硬件结构。

  • CPU: 类似于真实游戏男孩中的 Sharp LR35902 CPU,它只了解内存映射,并使用 IO 控制器处理中断信号。CPU 部分的代码采用了函数式编程风格。
  • Memory.fs: 存储大部分 RAM,并充当 CPU、IO 控制器和游戏卡リッジ之间的内存映射和总线。它还共享 VRAM 和 OAM RAM 数组,以提高性能。
  • IoController.fs: 用于处理所有硬件寄存器,简化了各个组件的接口。
  • Emulator.fs: 包含 stepper 函数,它将所有组件的步骤函数连接在一起,实现模拟器的整体运行。由于是单线程模拟,组件需要按顺序执行,stepper 函数负责同步它们。

F# 的选择与领域建模

尽管我的 CHIP-8 模拟器是纯函数式的,但 Fame Boy 为了提高性能,使用了可变状态。我选择了 F#,因为它的类型系统非常适合对 CPU 指令进行建模。

我通过将 CPU 指令按照参考文档进行分组,并使用 type 定义来抽象指令的类型,实现了领域建模。例如,LoadInstr 类型定义了各种加载指令,FromTo 类型分别定义了指令操作数的来源和目标。这种方法将 512 个 opcode 简化为 58 个指令。

性能优化

为了提高性能,我进行了多次优化。最初,我通过移除不必要的内存映射和数组操作,以及利用编译器优化,显著提高了 CPU 的运行速度。之后,我发现 APU(音频处理单元)对性能的影响更大,并最终采用了音频驱动模拟器的方式。

AI 的助力

在项目后期,我利用 AI 帮助我找到性能瓶颈并进行优化。AI 甚至在解决一个难以捉摸的计时问题时提供了关键的解决方案。

总结

通过构建 Fame Boy,我不仅深入了解了计算机硬件的工作原理,还体验了软件工程的乐趣。Fame Boy 模拟器可以在桌面和网页上运行,并且性能良好。我希望我的经验能够激励更多人探索计算机底层世界的奥秘。

nickkossolapov.github.io | 240 points by elvis70 at 01:14:21 | 50 comments


Show HN: WhatCable, a tiny menu bar app for inspecting USB-C cables

WhatCable:USB-C 线缆信息显示工具概览

WhatCable 是一款 macOS 菜单栏应用程序,旨在以通俗易懂的语言显示您连接到 Mac 的每根 USB-C 线缆的功能,并解释 为什么您的 Mac 充电速度可能较慢

背景:

USB-C 接口隐藏了大量信息,各种线缆(从仅用于充电的 USB 2.0 线缆到 240W / 40 Gbps 的 Thunderbolt 4 线缆)外观都相同。macOS 已经通过 IOKit 暴露了相关信息,而 WhatCable 将这些信息以友好的菜单栏弹出窗口的形式呈现。

主要功能:

  • 端口概览: 针对每个端口,以简洁明了的方式显示信息:
    • 醒目标题: Thunderbolt / USB4、USB 设备、仅充电、慢速 USB / 仅充电线缆、未连接。
    • 充电诊断: 如果已连接设备,会显示瓶颈原因:
      • “线缆限制充电速度” (线缆额定功率低于充电器)
      • “充电功率为 30W (充电器可达 96W)” (Mac 请求的功率较低,例如电池接近满电)
      • “充电功率为 96W” (所有参数匹配)
    • 线缆 e-marker 信息: 线缆的实际速度(USB 2.0、5 / 10 / 20 / 40 / 80 Gbps)、电流额定值(3 A / 5 A,最高 60W / 100W / 240W)以及芯片供应商。
    • 充电器 PDO 列表: 充电器公告的所有电压配置文件(5V / 9V / 12V / 15V / 20V…),并实时突出显示当前协商的配置文件。
    • 连接设备身份: 从 PD Discover Identity 响应中解码的供应商名称和产品类型。
    • 已连接的 USB 设备: 列表显示在物理端口下连接的存储设备、集线器和外设,以及它们的协商速度。
    • 活动传输协议: USB 2 / USB 3 / Thunderbolt / DisplayPort
  • 高级选项: ⌥-click 菜单栏图标(或在设置中启用)可显示底层的 IOKit 属性,方便工程师调试。
  • 设置: 点击弹出窗口标题栏上的齿轮图标打开设置,可以:
    • 隐藏空闲端口
    • 开机自启动
    • 作为常规 Dock 应用程序运行(而不是菜单栏图标)
    • 接收线缆连接或断开连接的通知。
  • 右键菜单: 提供刷新、保持窗口打开(方便截图)、检查更新、关于、WhatCable GitHub 链接和退出选项。

安装:

  • 手动安装:Releases 页面 下载最新的 WhatCable.zip,解压缩,并将 WhatCable.app 拖到 /Applications 文件夹中。
  • Homebrew:
    • brew tap darrylmorley/whatcable
    • brew install --cask whatcable (安装菜单栏应用程序并自动设置 CLI 到 PATH)

命令行界面 (CLI):

WhatCable 包含一个命令行工具,可以提供相同的功能:

  • whatcable:显示每个端口的人类可读摘要
  • whatcable --json:结构化 JSON 格式,可用于管道处理
  • whatcable --watch:实时流式更新(按 Ctrl+C 退出)
  • whatcable --raw:包含底层的 IOKit 属性
  • whatcable --version
  • whatcable --help

工作原理:

WhatCable 读取四类 IOKit 服务,不使用特权或私有 API。

局限性:

  • e-marker 信息: 仅当线缆携带数据时才会显示 e-marker 信息。
  • 信任 e-marker: WhatCable 信任线缆中的芯片报告的速度和功率。
  • PD 规范覆盖: 当前解码器主要针对 PD 3.0 / 3.1 标准。
  • macOS 和 Apple Silicon 专用: 由于 iOS 沙盒限制,不支持 iOS。Intel Macs

github.com | 209 points by sleepingNomad at 16:43:45 | 74 comments


Grok 4.3

Okay, I'm ready. Please provide the content you want me to summarize. I will do my best to provide a concise, accurate, and markdown-formatted summary in Chinese, adhering to your requirements (less than 800 words, no personal opinions, focus on purpose/structure/functionality for technical content). Just paste the text here.

docs.x.ai | 200 points by simianwords at 16:29:31 | 256 comments


Apple accidentally left Claude.md files Apple Support app

苹果意外泄露 Claude.md 文件事件总结

事件概述:

苹果公司在最近的 Apple Support 应用 (版本 5.13) 更新中,意外地将包含 Claude.md 文件的代码泄露给用户。此后,苹果发布了紧急更新 (版本 5.13.1) 以移除这些文件。

主要内容与细节:

  • 泄露内容: Claude.md 文件,据推测是用于指导大型语言模型 (LLM) 的配置文件,可能包含 AI 如何处理支持请求的指令。
  • 原因推测: 有人推测可能是一名实习生犯错导致,也有人认为可能是自动代码推送机制的问题,突显了在 AI 开发中,人工审查的重要性。
  • 技术讨论: 开发者们对 Claude.md 文件的内容和格式表现出浓厚的兴趣,认为这些文件可以作为学习和改进自身 AI 规则的宝贵资源。一些人还讨论了使用的终端程序以及代码风格。
  • 对苹果的质疑: 部分用户认为此事件反映了苹果对 AI 工具使用的过度信任,并指责苹果软件质量下降。
  • Claude 的应用: 泄露事件进一步证实了苹果正在使用 Anthropic 的 Claude Code,甚至有内部人士透露苹果每天为 Claude 提供超过 200 美元的信用额度。
  • 流程问题: 许多评论者认为,此次泄露的核心问题并非代码本身,而是苹果内部的代码审查流程存在缺陷。
  • 历史背景: 有人提及苹果之前也曾使用过 Mythos Preview,并表示此次泄露可能表明苹果一直都在使用 Claude。
  • AI 发展趋势: 此次事件被解读为“vibe coding” (一种快速、未经充分审查的编码方式) 达到市场饱和的标志。
  • 潜在影响: 泄露事件引发了关于信息安全和 AI 工具使用的讨论,以及对企业如何控制 AI 叙事的担忧。

总结:

苹果意外泄露 Claude.md 文件,暴露了其内部使用 Claude Code 的事实,并引发了关于软件开发流程、AI 工具使用以及企业信息安全等问题的广泛讨论。 这也提醒了开发者在利用 AI 工具加速开发时,务必进行充分的代码审查和安全评估。

xcancel.com | 142 points by andruby at 19:08:32 | 83 comments


Vercel’s pricing page

Okay, please provide the content you want me to summarize. I'm ready when you are. Once you paste the content, I will generate a concise, accurate summary in markdown format and Chinese language, adhering to your specifications (less than 800 words, no personal opinions, focus on key points and functionality, etc.).

theupsellgame.com | 141 points by bartoindahouse at 04:02:35 | 32 comments


OpenWarp

OpenWarp 简介:基于 Warp 的 BYOP 社区版总结

OpenWarp 是一个基于 Warp 的社区分支,旨在增强 Warp 的能力,并提供“自带提供商”(BYOP)功能,让用户拥有对 AI 交互的更大控制权。它通过 genai 适配层原生支持多种 API 协议、自定义模型和系统提示词,并提供原生多语言支持。

核心功能与特点:

  • BYOP 自定义提供商: OpenWarp 通过 genai 适配层原生支持 OpenAI、Anthropic、Gemini、Ollama、DeepSeek 等 6 种 API 协议,允许用户自由组合 Base URL、API Key 和模型。这意味着不再需要“OpenAI 兼容硬塞”,而是直接连接到指定的 provider 端点。
  • 动态系统提示词: 基于 minijinja 模板引擎,OpenWarp 可以根据当前工作目录、语言和角色实时渲染系统提示词,实现更精准的模型引导。
  • 本地存储与隐私保护: OpenWarp 默认不上传云端,所有凭证仅本地保存。关闭 Cloud Agent 和 Computer Use 后,能保证 100% 本地凭证存储,不收集遥测数据,凭证零外发。
  • 多语言界面: 除了简体中文和英文,OpenWarp 计划支持更多语种。
  • 体验保留: OpenWarp 持续合并 Warp 上游代码,完整保留了块 (Blocks)、AI 命令、工作流、键位、主题等核心体验。
  • 开源协议: OpenWarp 采用与 Warp 上游一致的 AGPL/MIT 双许可,代码完全公开。

工作流程:

OpenWarp 的使用主要包含三个步骤:

  1. 接入任意提供商: 在设置中选择 API 协议,并输入 Base URL 和 API Key。
  2. 编写动态提示词: 使用 minijinja 模板引擎编写系统提示词。
  3. 在终端立即启用: 一键切换模型、对话和命令补全。

技术细节:

  • 配置: 自定义提供商配置信息存储在 ~/.config/openwarp.toml 文件中。
  • 协议支持: 原生支持 OpenAI、OpenAI Responses、Anthropic、Gemini、Ollama 和 DeepSeek。
  • 推理思考: 支持 DeepSeek reasoning_content、Claude thinking 和 Gemini 等模型的推理思考多轮回传。

常见问题解答:

  • OpenWarp 与 Warp 官方的关系: OpenWarp 是基于 Warp 开源代码的社区分支,与 Warp 官方公司无附属关系。
  • API Key 的安全性:所有凭证仅保存在本地配置文件中,不上传云端,不经任何中转。
  • 模型提供商支持: 除了原生支持的 6 种协议,OpenAI 兼容端点(如 Qwen、Groq 等)可以选择 OpenAI 协议并填入 Base URL 接入。
  • 更新:会持续合并 Warp 上游主线,叠加 BYOP 和多语言增强。

获取方式:

可以通过克隆仓库本地构建,或关注 GitHub 接收更新。

git clone -b openWarp https://github.com/zerx-lab/warp

openwarp.zerx.dev | 127 points by zero-lab at 10:10:46 | 102 comments


CPanel and WHM Authentication Bypass – CVE-2026-41940

watchTowr Labs 研究:cPanel/WHM 身份验证绕过漏洞 (CVE-2026-41940) 总结

watchTowr Labs 发布了一篇关于 cPanel/WHM 中身份验证绕过漏洞 (CVE-2026-41940) 的研究报告。该漏洞影响所有当前支持的 cPanel/WHM 版本,并且已知已经被利用。

核心问题:

该漏洞源于会话加载和保存过程中的缺陷,允许攻击者绕过身份验证。具体来说,攻击者可以构造特定的 Cookie 和 Basic Authentication 请求,将恶意数据注入到会话文件中,从而获得未经授权的访问权限。

漏洞细节:

  1. 会话文件结构: cPanel/WHM 使用两种会话文件:原始文本文件 ( /var/cpanel/sessions/raw/ ) 和 JSON 缓存文件 ( /var/cpanel/sessions/cache/ )。原始文件存储键值对,而缓存文件存储 JSON 序列化的会话数据。
  2. 漏洞利用:
    • 攻击者首先通过错误的凭据登录触发预身份验证会话。
    • 然后,攻击者构造一个 Basic Authentication 请求,其中密码包含 CRLF 序列 ( \r\n )。
    • 由于 cPanel/WHM 在保存会话时没有正确过滤 CRLF 序列,这些序列会被写入原始会话文件中。
    • 关键点在于,如果 Cookie 中缺少 <ob> (一个 32 位十六进制密钥),则密码不会被编码,而是以明文形式写入原始文件。
    • 攻击者可以构造一个 Cookie,移除 <ob> 部分,从而保证密码不被编码。
    • 最后,攻击者可以利用 Modify::newModify::save 函数,通过发送一个错误的 cp_security_token 请求,将注入的 CRLF 序列写入 JSON 缓存文件中,从而使这些注入内容成为顶级键。
  3. 最终结果: 攻击者可以利用这些注入的顶级键,绕过密码验证,并获得对 cPanel/WHM 的未经授权访问。

缓解措施:

  • 升级到补丁版本: cPanel 已经发布了补丁版本,建议尽快升级到以下版本:
    • cPanel & WHM 110.0.x - patched in 11.110.0.97
    • cPanel & WHM 118.0.x - patched in 11.118.0.63
    • cPanel & WHM 126.0.x - patched in 11.126.0.54
    • cPanel & WHM 132.0.x - patched in 11.132.0.29
    • cPanel & WHM 134.0.x - patched in 11.134.0.20
    • cPanel & WHM 136.0.x - patched in 11.136.0.5

检测与防御:

watchTowr Labs 发布了 Detection Artifact Generator 帮助防御者识别易受攻击的主机。该工具可以检测会话文件中的恶意注入。

总结:

该漏洞是一个严重的身份验证绕过漏洞,影响了大量使用 cPanel/WHM 的服务器。 尽快应用补丁是至关重要的。 watchTowr Labs 的研究强调了主动威胁管理的重要性,以及利用自动化技术来快速响应新兴威胁。

labs.watchtowr.com | 126 points by zikani_03 at 06:48:51 | 49 comments


American Dads Became the Parents Their Fathers Never Were

现代美国父亲的角色转变:时间、观念与社会变革 (Xiàndài Měiguó Fùqīn De Júelù Zhuǎnbiàn: Shíjiān, Guāniàn Yǔ Shèhuì Biàngé)

本文由经济分析师和数据专家阿齐兹·桑德吉 (Aziz Sunderji) 撰写,探讨了过去几代美国父亲角色发生的巨大转变。

父亲参与育儿时间的大幅增长 (Fùqīn Cānyù Yù'ér Shíjiān De Dàfú Zēngzhǎng)

与他们的“沉默一代”祖父相比,千禧一代的父亲每天积极参与育儿的时间几乎增加了四倍。与他们的婴儿潮一代父母相比,育儿时间已增加一倍以上。现代父亲将更多的时间投入到家庭生活中,减少了每天的办公室工作时间超过一小时,并减少了30分钟的电视时间。1965年,典型已婚父亲每天仅花费半小时左右参与育儿,而如今,千禧一代的父亲通常花费超过80分钟进行换尿布、阅读、玩耍、接送孩子上学等活动。

历史背景与社会变迁 (Lìshǐ Bèijǐng Yǔ Shèhuì Biànqīng)

这种育儿时间的变化并非生物学上的必然,而是工业革命的产物。世界范围内,父亲的育儿角色一直在变化,这与母亲的角色变化相比更为显著。随着女性劳动力参与率的提高,越来越多的家庭转变为双薪家庭,育儿责任需要由家庭成员承担,父亲承担了大部分。然而,这种解释存在缺陷。母亲的育儿时间并未下降,反而大幅增加。

观念的转变与“精细育儿” (Guāniàn De Zhuǎnbiàn Yǔ “Jīngxì Yù'ér”)

文章指出,父亲育儿时间增加的原因除了女性就业之外,还包括以下因素:

  • 享受育儿的乐趣 (Xiǎngshòu Yù'ér De Lèqù): 研究表明,受教育程度较高的父母更倾向于投入更多时间陪伴孩子。这表明育儿可能被视为一种“奢侈品”,而非一种负担。
  • 焦虑与“精细育儿” (Jiāolǜ Yǔ “Jīngxì Yù'ér”): 随着竞争激烈的大学入学环境,高学历父母为了让孩子获得更好的教育资源,开始投入更多的时间和精力进行“精细育儿”,这是一种竞争性的育儿方式。
  • 社会隔离 (Shèhuì Gé Lí): 随着社会联系的减少,家庭成为人们生活的主要中心,父亲在家庭中的存在时间增加,育儿时间也随之增加。

育儿责任的分配 (Yù'ér Zérèn De Fēnpèi)

尽管父亲的育儿时间显著增加,但母亲仍然承担着更多的育儿责任,尤其是在医疗保健和心理方面。母亲也更容易感到育儿的压力。

父亲的角色与生活 (Fùqīn De Júelè Yǔ Shēnghuó)

父亲的角色从单纯的“养家糊口”转变为“养家糊口、共同育儿、换尿布、接送孩子、辅导功课”等多重角色。虽然父亲减少了睡眠、休闲时间,并感到压力,但他们也更倾向于认为生活“接近完美”,并愿意做出很少的改变。

总结 (Zǒngjié)

现代美国父亲的角色发生了深刻的变化,育儿时间大幅增加,观念也在不断转变。这既是社会经济变迁的结果,也是个人选择和价值观的体现。虽然母亲仍然承担着更多的育儿责任,但父亲在家庭中的作用日益重要,共同构建着现代家庭的形象。

derekthompson.org | 119 points by ozozozd at 00:38:14 | 140 comments


Your Website Is Not for You

网站并非为你们而设:设计决策的根本原则

本文探讨了网站设计过程中常见的冲突,以及如何以用户为中心进行决策。以下是文章的主要观点:

1. 网站的真正目的:

  • 网站并非为创始人、营销经理或董事会设计,而是为潜在客户、潜在客户、访问者和会员服务。
  • 决策者常常忘记这一点,因为他们对网站的投入(品牌、时间、心血)使其在他们眼中更像一件艺术品,而非工具。
  • 网站的本质是一个工具,其唯一任务是帮助用户完成他们访问网站的目的。其他元素都只是为了支持这个目的而存在。

2. 专家悖论:

  • 患者不会干涉外科医生的手术,因为他们信任医生的专业知识。
  • 然而,在网站设计中,情况恰恰相反:即使设计师提供了数周的研究、用户测试和竞争分析,决策者仍然会因为个人喜好(例如颜色)而否决设计。
  • 这种现象源于每个人都见过网站,因此都认为自己有资格重新设计网站。
  • 设计师通常会妥协,以维持合作关系,但这种妥协会导致网站逐渐偏离用户需求,最终成为领导团队的“心情板”,美观但功能性差。

3. 更好的提问方式:

  • 在设计评审中,在发表意见之前,应该问自己一个问题:“这是否能帮助用户,还是仅仅帮助我?”
  • 如果无法诚实回答,应该询问设计师研究结果,并认真倾听。
  • 设计师提供的答案(数据、原则、测试结果)是他们专业知识的体现,应该被重视。

总结:

网站不应被视为艺术品、愿望清单或个人品味的反影,而应被视为一个工具,并且这个工具是为用户而设计的。 决策者应以用户为中心,尊重设计师的专业知识,以确保网站能够有效地实现其目的。

websmith.studio | 116 points by pumbaa at 19:08:20 | 66 comments


Full-Text Search with DuckDB

鸭DB全文搜索快速入门 (DuckDB Full-Text Search Quick Tour)

发布日期:2026年4月29日

本文是作者对DuckDB系列文章的第二篇,是对之前“DuckDB小试牛刀”文章的补充。如果对DuckDB不熟悉,建议先阅读前一篇。

主要内容:

本文探讨了DuckDB的全文搜索 (FTS) 功能。作者拥有使用Elasticsearch和Postgres等其他FTS解决方案的经验,因此将分享DuckDB FTS的快速体验。

全文搜索基础知识:

  • FTS允许进行比SQL运算符(如=ilike或正则表达式)更全面和可配置的查询。
  • 查询分数可以通过算法(如Okapi BM25)进行调整。

DuckDB FTS的特性:

  • 索引选项:
    • Stemming (词干提取): 将单词简化为词根,处理一些词形变化(例如,walk, walks, walked, walking)。
    • Stop words (停用词): 移除常见的无意义词语,如“the”、“and”、“of”,以避免干扰结果。
    • Strip accents (移除变音符号): 将 "á"、"ä" 和 "a" 等符号标准化为 "a"。
  • 查询函数:
    • Okapi BM25参数:
      • k₁: 衡量词频的重要性(词频越高是否更重要?)。
      • b: 衡量文档长度的重要性(文档越长是否更重要?)。

现有DuckDB FTS的局限性:

  • 目前缺乏在源数据中高亮显示匹配查询项的功能。Postgres的 ts_headline 功能可以实现这一点。
  • 作者利用Snowball项目和Python snowballstemmer库解决了词干提取过程中遇到的问题。

设置:

  • DuckDB的FTS功能需要通过安装全文搜索扩展来启用。
  • 安装方法:在DuckDB会话中运行 INSTALL fts; LOAD fts;

实际应用示例:

作者使用Python和uv工具预处理了大量的.eml格式的邮件文件,将其转换为JSON格式,并导入到DuckDB数据库中。

  • 预处理流程:
    • 加载邮件文件。
    • 提取邮件正文内容。
    • 提取有用的头部信息 (例如日期、发件人、主题、收件人) 以过滤营销和事务邮件。
    • 将数据导出为JSON文件。
  • 数据库操作:
    • 使用 CREATE TABLE emails AS SELECT * FROM read_json('*.eml.json'); 创建表并导入数据。
    • 添加自增ID列 ALTER TABLE emails ADD COLUMN id INTEGER; UPDATE emails SET id = rowid;
    • 使用 PRAGMA create_fts_index('emails', 'id', 'subject', 'body'); 创建FTS索引。
  • 查询示例:
    • 基本查询:SELECT id, body, fts_main_emails.match_bm25(id, 'talk') AS score FROM emails WHERE list_unsubscribe = '' AND precedence NOT IN ('bulk', 'list', 'junk') AND score IS NOT NULL ORDER BY score DESC;
    • 使用conjunctive参数进行精确匹配查询。
    • 调整 bk₁ 参数来优化查询结果。

总结:

DuckDB的FTS功能虽然不如Postgres或Elasticsearch完善,但对于初步探索数据来说已经足够强大。如果需要更高级的功能,可以考虑将数据迁移到其他数据库。DuckDB快速搭建和使用的特点使其成为一个有吸引力的选择。

后续计划:

作者计划继续撰写DuckDB系列文章,下一篇可能探讨DuckDB的向量搜索功能。

peterdohertys.website | 107 points by ethagnawl at 02:14:18 | 25 comments


Does Postgres Scale?

DBOS Postgres 基准测试:单机性能分析 (DBOS Postgres Benchmark: Single-Server Performance Analysis)

本文档总结了 DBOS 对 Postgres 单机性能的基准测试结果,旨在解答关于 Postgres 是否能够满足工作流执行系统需求的问题。测试重点关注 Postgres 的写入性能,因为工作流执行需要频繁地向数据库写入数据,包括输入、输出、以及步骤结果的检查点。

主要发现:

  • 高写入吞吐量: 单台 Postgres 服务器可以实现高达 144,000 次写入/秒,相当于每天 120 亿次写入。
  • 工作流处理能力: 单台服务器可以处理 43,000 个工作流/秒,相当于每天 40 亿个工作流。
  • 可扩展性: 这些结果表明,对于大多数用例,单台 Postgres 服务器已经足够。

测试环境:

  • AWS RDS db.m7i.24xlarge 实例
  • 96 vCPU
  • 384 GB RAM
  • 120K provisioned IOPS (io2 volume)

测试内容:

  1. 原始 Postgres 写入性能: 使用一个包含 UUIDv7 主键、文本数据字段和时间戳的三列表,通过大量异步 Python 客户端模拟写入,测试最大写入吞吐量。结果表明,可以实现 144,000 次写入/秒。
  2. 持久化工作流性能: 模拟无步骤的简单工作流,每个工作流包含开始和完成两个 Postgres 写入操作。测试结果显示,单台服务器可以处理 43,000 个工作流/秒。
  3. 持久化队列性能: 模拟使用 Postgres 队列,客户端将工作流入队,worker 节点从队列中取出并执行。每个工作流包含四个 Postgres 写入操作:入队、出队、启动和完成。测试结果显示,单台服务器可以处理 12,100 个队列工作流/秒。

性能瓶颈分析:

  • 原始写入和工作流: 瓶颈主要在于 Write-Ahead Log (WAL) 的刷新速度。Postgres 在写入数据前,会将写入描述添加到 WAL,然后将 WAL 刷新到磁盘,最后确认提交。
  • 持久化队列: 最初的瓶颈是 workflow_status 表的锁竞争,多个客户端同时尝试入队或出队,导致性能下降。通过使用多个队列(或分区)来缓解锁竞争,可以提高性能,最终将工作流吞吐量提高到 30,600 个工作流/秒。此时瓶颈再次转移到 WAL。

结论:

Postgres 的可扩展性令人印象深刻,能够支持高写入负载和大量工作流。对于大多数应用场景,单台 Postgres 服务器已经足够。如果需要更高的性能,可以通过分片到多台 Postgres 服务器来实现。DBOS 致力于简化和优化持久化工作流的开发和部署。

相关链接:

dbos.dev | 104 points by KraftyOne at 02:45:22 | 48 comments


V2EX


顺风车已经变味了 今天忙,想给家人约个顺风车(私享)回老家。

结果顺风车全被滴滴型司机占据了,还有私信加要感谢费,还有提出价格翻倍的(因为节假日?)还有防止被别的正常车主接单,接单立马取消的,之前的沟通全部作废。

70 comments by nododo at 08:22:39 in 行程控


iOS 无法收到 TG 的通知

苹果🍎用户注意:Telegram 消息推送服务疑似出现异常,部分用户可能遇到消息通知不显示、推送延迟或无法及时收到提醒的问题,建议临时打开应用内查看消息,避免遗漏重要信息

已经测试了,确实收不到 TG 的推送了,

加入代理列表,依旧无法收到 TG 消息,目前国内应用推送正常

DOMAIN-SUFFIX,push.apple.com,PROXY
IP-CIDR,17.0.0.0/8,PROXY,no-resolve

TG 为 DC4/5 美区账号 肉身国内

60 comments by klii at 08:36:38 in iOS


领到小米 MIMO 的额度了,大家领了多少?
真“大方”

56 comments by coreJK at 09:11:49 in 程序员


感慨下,假期第一天,被裁了 最近合同到期,要转签无固定期限合同时,老板不续签合同了。

在公司待了 10 年,都 40 了,时间是飞快。
从后端到产品,从产品到技术总监,啥都干过了,啥都经历了。

感慨下,被裁的原因不是因为公司业绩不行,而是“方法”不对,没能给出完美的“PPT”。

人生短短几十年不应该只有工作,家庭才是最重要的。
慢慢思考下以后能做点什么有意义的事,不想再做些心里不认可,但又不得不做的事。

46 comments by 0987363 at 14:44:24 in 职场话题


恳请过来人分享面瘫治疗经验

我 30 岁出头,4 月 22 日感觉很不舒服,起初以为是没睡好,23 号去医院检查,被确诊。具体症状:右侧面瘫,抬额右侧无额纹,皱眉左右极不对称,右眼睑闭合不完全,右眼吹风刺激性强,右侧嘴角漏气,无法鼓气,伴有后脑勺头痛,无耳痛。核磁共振报告显示颅内未发现异常。致病原因至今不明。

24 号中午去办理住院输液,输了两次后,25 号办理出院,改为服用药物。医生给我开的口服药:碳酸钙 D3 片,一天一次,一次一片;醋酸泼尼松片,一天一次,一次 8 粒,共 40mg ;复合维生素 B 片,一天三次,每次两粒;甲钴胺片,一天三次,一次一粒。阿昔洛韦片一日三次,一次两粒,共吃 7 天。泼尼松片每五天减一片,直到减完为止停止所有用药(共计四十天)。

截至今天( 5 月 1 日),我的右眼睑闭合还是不完全,但只有微小的缝了,可以往右侧咧嘴,脸颊肌肉有明显的变化,抬额时右侧额头也有了一道额纹,总之就是已经恢复了将近一半。

昨天我首先去了中医院老同学(曾在那个医院任职)推荐的中医那去,医生说:针灸两周,每周四次,扎一次几分钟搞定,建议针药并用,即要吃中药。他说开住院的去针灸要便宜些,门诊扎贵一点,并且中药也贵,还建议我泼尼松最多吃两周,他质疑我一开始的剂量即每天 8 片共 40mg 太少了,应该先急用药,药程两周即可。我问他针灸是好得更快还是好得更多,他答复好得更快。

后来我去了人民医院的康复科门诊,医生也说要针灸,半个月,每天一次,每次一到两个小时,也可能扎几天就好了就不扎了,但跟我说现在泼尼松吃得太多了,建议我减到 10mg 或者 20mg 。

我身边的人无论医生还是曾经的病患都说要针灸,我现在非常纠结,好像每个医生的方案都有些差异,到底该相信谁。问了一大圈 AI 都说针灸非必需。用药不到一周恢复到这个水平可以不用针灸吗?

37 comments by W4J1e at 13:35:52 in 健康


[源头工厂] 顶级万号 ProMAX,$300 刀 Codex/GPT5 免费送,企业级稳定!五一专场

MuskAI 稳定生产力的源泉

  • 💎超大源头 GPT PROMAX 池,按量 0.11 倍,tokens 吞吐量为 team/plus 5 倍
  • 💎超低延迟,国内专线接入(稳定不掉线)
  • 💎稳定持续可用,适合长期使用与业务接入(可开发票)
  • 💎适合需要稳定渠道的客户!

V 友专属福利:5 天 $300 刀 Codex/GPT5 让 AI 为你减负!

领取步骤

  • 1 、加入 Q 群:1090132599
  • 2 、打开 http://muskpay.top 注册账户
  • 3 、在本帖回帖,留下你的注册邮箱,将为你发放订阅(如果没收到,大概率是邮箱和注册邮箱不符)

数千名用户优选,感谢大家的信任,我们一直坚持为大家提供能力范围内最佳的 AI 服务

qrcode_1777304837238.jpg

37 comments by wtcoder at 01:35:40 in 推广


chatgpt 代充这是常规操作 还是我被坑了 https://www.naifeistation.com/ (星际放映厅) 充值的 三个月的 chatgpt pro 账号代充
价格是 2600+
只用了一个星期就停了
客服说他们是一个月一个月的充值,只是今天官方风控的原因, 这是常规操作还是我被坑了。






37 comments by layman3612 at 20:49:20 in 程序员


海鲜市场花 1700 大洋买了个苏州电信的老号

海鲜市场花 1700 大洋买了个苏州电信的 20 年的老号,1000m 宽带只需要 30 一个月,大家说值不值?

35 comments by bingo619 at 19:24:44 in 宽带症候群


一个希望能解决经济和就业的开源项目

BCS 逆向货币 N 系统

中文说明

1. 项目目的

现在很多人面临失业、年龄歧视和就业机会收缩,尤其是 35 岁以后很难再找到稳定工作。有人说“不雇佣 35 岁以上员工的公司,就不要买它们的产品”,但现实中很难执行,因为普通消费者无法把每次购买和就业责任稳定连接起来。本项目希望用 N 货币把这种关系抽象出来:你不是直接和某家公司签一份就业承诺,而是在货币规则中加入“被需要”的结算维度,让消费、销售、就业和 N 流动形成可验证的经济反馈。

这个项目不是为了让人一夜暴富,也不是为了给普通人增加负担。它只是使用了区块链和数字货币的技术形式,但和挖矿、炒币、算力竞争没有关系。它的目标是让货币重新成为更平衡的社会资源分配工具,用逆向货币 N 调节现行单向 D 货币长期积累下来的失衡,减少人被市场经济淘汰的风险,并为避免经济危机提供一种新的制度工具。

当前项目还只是一个很初级的开始。它不是最终答案,而是一个可以运行、可以讨论、可以改进的原型。就像早期比特币只是一个很小的实验,后来改变了很多人对货币和网络协作的理解一样,BCS 和 N 货币也需要更多人加入,一起把这个想法从代码、规则、治理、应用和社会理解上逐步完善。


2. 思想来源

本项目的思想来源我的 Bidirectional Currency System ,也就是“双向货币系统”或“逆向货币系统”的基本思想。

在人类早期的物物交换中,一次交换通常同时满足两个方向。你需要别人的东西,说明你的需求被满足;别人愿意接受你的东西,说明你也被别人需要。也就是说,需求和被需求在同一次交换中同时出现。虽然物物交换效率很低,需要双方刚好互相需要对方的东西,但它保留了一种直接的互惠关系。

后来货币出现以后,交换效率大幅提高。货币解决了物物交换中“双重巧合”的问题,让人们可以先卖出自己的劳动或商品,得到货币,再用货币购买别人的商品。货币让分工、储蓄、价格、市场和长期契约成为可能,这是人类社会的重要发明。

但货币也带来了一个结构性变化:购买时,买方的需求被满足了,但买方自身是否被别人需要,并不会在同一笔交易中自动得到确认。现代社会中,一个人是否“被需要”,主要通过就业、工资、订单、职位和收入来体现。只要能找到工作、能卖出劳动或产品,这个问题不明显;但如果工业化、自动化、平台化和资本集中不断发展,越来越多的人可能消费能力不足、就业机会不足、议价能力下降,那么“被需要”这一侧就会逐渐丢失。

现行单向 D 货币的核心问题不在于它没有价值,而在于它只很好地表达了“需求”和“购买力”,却没有在货币结算中直接表达“被需要”。在工业化早期,商品不够多,劳动力需求旺盛,这个缺点不明显。随着生产能力越来越强,商品越来越多,自动化越来越强,单向货币系统会越来越容易出现一个矛盾:社会有能力生产很多东西,但很多人因为没有工作或收入不足,无法参与消费;企业为了利润继续降低用工,进一步削弱社会总需求。

BCS 的出发点就是补上这个缺失的方向。D 仍然代表现实货币、价格和支付; N 则代表“被需要”的结算资产。销售和工资不再只是 D 的单向流动,而是同时触发 N 的反向流动。这样,市场不是被取消,而是被增加了一个新的反馈维度。


3. 这个项目是什么,不是什么

这个项目是一个逆向货币 N 的技术原型。它使用区块链、UTXO 、身份认证、治理、多节点同步、离线交易和可选隐私证明等技术,来验证 BCS 货币规则是否可以被工程化实现。

它不是普通公链项目。它不追求开放挖矿,不依赖 PoW 算力竞争,不鼓励投机炒作,也不把“币价上涨”作为主要目标。它的重点不是制造一个新的投机资产,而是建立一个可以表达“需求”和“被需求”双向关系的结算系统。

它不是直接替代现实货币。当前阶段,现实货币、银行、现金、支付网关、发票和工资单仍然按原来的方式存在。项目链上主要处理 N 货币。D 不强制上链,不强制接入银行或支付接口,而是先用 external_amount 表示外部现实金额,作为计算 N 流动的依据。外部支付凭证可以作为可选引用保存,后续如果发展需要,可以再接入银行、支付网关、发票系统、工资系统、oracle 或链上 D 资产。

它也不是一个保证任何人马上获得工作的系统。N 货币不能凭空创造岗位,也不能替代现实企业经营。它要做的是让“谁创造就业、谁提供被需要机会、谁消耗社会需求”这些关系进入可计算、可审计、可治理的货币流动中,形成长期调节力量。


4. 核心概念

4.1 D:需求货币

D 可以理解为现实中的普通货币或普通支付金额。它可以来自现金、银行转账、银行卡、微信、支付宝、Stripe 、发票、工资单或其他现实支付系统。

在当前项目里,D 不作为链上资产强制发行。系统不托管用户的现实资金,不处理法币充值提现,不做银行清算,不强制接入支付网关。链上只需要知道一个外部金额 external_amount,用它计算对应的 N 流动。

4.2 N:被需要货币

N 是本项目真正处理的链上货币。它表达的是经济关系中的“被需要”维度。N 可以被发放、转移、销毁、补充和审计。

在销售中,商家获得现实支付金额后,需要向买家回馈一定比例的 N 。这个规则表达:商家从消费者需求中获得收入,也要释放一部分“被需要”能力给消费者。

在工资中,雇主支付现实工资后,工人需要向雇主转移一定比例的 N 。这个规则表达:雇主提供了工作机会,帮助工人获得现实收入,因此雇主获得一部分 N ,用来支撑它未来的销售能力。

4.3 phi 和 psi

phi 是销售规则参数。它决定销售外部金额需要对应多少 N 回馈给买家。

N_to_buyer >= ceil(external_amount * phi)

psi 是工资规则参数。它决定工资外部金额需要对应多少 N 转移给雇主。

N_to_employer >= ceil(external_amount * psi)

这两个参数不是随便写死的。它们应该由系统治理决定,并根据试点效果、就业情况、N 流动情况、商户压力、用户接受度和经济稳定目标逐步调整。

4.4 身份认证

系统需要知道谁是用户、谁是商户、谁是雇主、谁是治理者。当前方案使用 DID 和 VC 。用户先生成 DID ,由信任锚或治理认可机构签发 VC ,再提交链上注册。身份通过后,用户才能参与某些关键流程,例如接收初始 N 、参与治理或进行高权限交易。

4.5 治理

前期系统由创始人和合伙人共同表决治理。这样做是为了快速试错、避免早期规则被恶意利用,也方便修复系统问题。随着网络逐步成熟,治理权应逐步移交给整个系统,让用户、节点、商户、雇主和其他参与者通过规则参与表决。

治理不只是投票。治理要决定参数、信任锚、身份认证策略、N 发放规则、补充规则、验证者集合、升级计划和风险处置。


5. 项目整体运行流程图

flowchart TD
    A["用户/商户/雇主创建钱包"] --> B["生成地址和 DID"]
    B --> C["提交 DID 文档和 VC 凭证"]
    C --> D{"身份是否通过认证"}
    D -- "否" --> E["等待复核或补充材料"]
    D -- "是" --> F["进入系统身份注册表"]

    F --> G["治理或发行模块发放初始 N"]
    G --> H["用户获得 N UTXO"]

    H --> I{"发生现实经济活动"}
    I -- "普通 N 转账" --> J["构造 TRANSFER 交易"]
    I -- "销售" --> K["买方用现实支付方式付款"]
    I -- "工资" --> L["雇主用现实支付方式发薪"]

    K --> M["销售交易写入 external_amount"]
    M --> N["可选写入银行/现金/支付网关/发票引用"]
    N --> O["计算最低 N: ceil(external_amount * phi)"]
    O --> P["卖方向买方输出 N"]

    L --> Q["工资交易写入 external_amount"]
    Q --> R["可选写入工资单/银行/支付凭证引用"]
    R --> S["计算最低 N: ceil(external_amount * psi)"]
    S --> T["工人向雇主输出 N"]

    J --> U["签名交易"]
    P --> U
    T --> U

    U --> V{"是否在线"}
    V -- "在线" --> W["提交节点 API"]
    V -- "离线" --> X["本地缓存离线交易"]
    X --> Y["恢复联网后同步"]
    Y --> W

    W --> Z["节点验证 UTXO/签名/身份/参数"]
    Z --> AA{"是否满足 N 规则"}
    AA -- "否" --> AB["拒绝交易并返回原因"]
    AA -- "是" --> AC["进入 mempool"]
    AC --> AD["PoA/PoA-BFT 验证者出块"]
    AD --> AE["区块确认并更新 UTXO"]

    AE --> AF["N 流动改变销售能力和就业反馈"]
    AF --> AG["治理观察数据并调整参数"]
    AG --> H

6. 流程文字说明

6.1 身份进入系统

用户第一次进入系统时,不是先去挖矿,也不是先购买投机资产,而是创建钱包、生成密钥和 DID 。DID 是用户在系统中的去中心化身份标识。随后,用户需要通过信任锚或治理认可机构获得 VC 凭证,证明自己是合法参与者。

节点收到身份注册请求后,会验证 DID 控制权、VC 签名、issuer 是否可信、凭证是否过期,以及注册请求是否符合治理规则。通过后,身份进入系统注册表。身份状态会影响后续 N 发放、交易权限和治理资格。

6.2 初始 N 发放

N 不是通过挖矿获得。前期可以由治理或发行模块根据身份认证结果进行初始发放。发放规则需要透明,例如每个通过认证的用户获得一定初始 N ,或者根据试点规则给商户、工人、雇主分配不同额度。

这一步的核心是公平和可审计。系统要记录谁获得了 N 、在什么高度获得、数量是多少、由哪些治理签名确认、是否有发放上限。这样可以避免 N 一开始就被少数人随意控制。

6.3 普通 N 转账

普通 N 转账类似普通数字货币转账。用户选择 UTXO ,填写收款地址和金额,签名后提交节点。节点验证输入是否存在、是否未花费、签名是否正确、输出金额是否合理,然后把交易放入 mempool ,等待出块确认。

普通 N 转账不涉及外部支付金额,也不涉及 phipsi

6.4 销售交易

销售交易是系统最重要的流程之一。现实中,买方可以使用现金、银行、微信、支付宝、支付网关或其他方式向商户付款。链上不强制处理这笔现实支付,也不强制接入支付网关。

链上销售交易至少需要写入 external_amount,也就是现实销售金额的计算基数。商户可以选择附带订单号、发票哈希、银行流水、支付网关订单号或其他凭证引用,但这些是可选字段。

节点验证销售交易时,会读取当前 phi,计算最低 N 回馈。如果商户给买方的 N 输出不足,交易会被拒绝。如果 N 足够,交易可以进入 mempool 并等待确认。

销售规则的意义在于:商户不能只从社会需求中获得 D 收入,也要付出一部分 N 。商户销售规模越大,对 N 的需求越大。这样,N 就成为限制无限扩张、连接消费和就业的一种经济约束。

6.5 工资交易

工资交易是另一条关键回路。现实中,雇主通过现金、银行、工资单或支付系统向工人发工资。链上不强制处理工资支付本身,也不强制保存工资单。

链上工资交易至少需要写入 external_amount,也就是工资金额的计算基数。工人向雇主转移一定比例的 N ,比例由 psi 决定。工资单、银行流水和支付凭证可以作为可选引用。

工资规则的意义在于:提供就业机会的雇主可以获得 N ,而 N 又能支撑未来销售能力。这样,雇佣劳动不只是企业的成本,也成为企业获得 N 的渠道之一。系统希望用这种方式把“提供工作”重新变成企业长期发展的重要条件。

6.6 离线交易

项目设计了离线支付能力。用户在短时间断网时,可以基于最近同步的 UTXO 快照构造交易、本地签名并缓存。恢复联网后,钱包会把交易提交给节点。

离线交易可能遇到冲突,例如同一个 UTXO 已经被别的交易花费,或者离线期间 phipsi 参数发生变化。系统需要识别冲突,尝试重建交易、重新计算 N 、提示用户补签,或者明确拒绝。

离线能力很重要,因为现实支付并不总是在网络稳定环境中发生。一个面向普通人的货币系统,不能只适合高质量网络和专业用户。

6.7 节点验证和出块

节点收到交易后,会进行多层验证。第一层是交易结构,检查版本、输入、输出、金额、序列化格式。第二层是 UTXO 和签名,检查输入是否存在、是否未花费、签名是否满足锁定脚本。第三层是身份,检查相关用户是否已认证或是否被暂停。第四层是 BCS 规则,检查销售和工资交易是否满足 N 比例。第五层是治理参数,检查当前高度对应的 phipsi 和其他规则。

通过验证的交易进入 mempool 。验证者节点使用 PoA 或 PoA-BFT 出块。这个系统不挖矿,不消耗大量算力。验证者由治理授权,前期可以由创始人和合伙人共同维护,后期逐步开放给系统治理决定。

6.8 治理闭环

系统不是一次写死规则。治理者需要观察 N 流通、销售容量、就业反馈、用户体验、商户压力、交易失败原因、离线冲突、身份滥用和外部支付接入需求。

如果 phi 太高,商户压力可能过大,交易失败率可能上升。如果 phi 太低,N 对销售规模的约束可能不足。如果 psi 太高,工人负担可能过重;如果 psi 太低,雇主通过就业获得 N 的能力可能不足。治理的任务就是在这些目标之间寻找动态平衡。


7. N 和 D 的关系

本项目当前阶段主要处理 N 。

D 不是强制链上资产。D 可以是现实货币,也可以是银行支付、现金支付、支付网关、发票金额、工资单金额或其他现实经济金额。链上交易用 external_amount 表示 D 侧金额,用来计算 N 的比例流动。

外部支付引用是可选的。也就是说,销售或工资交易可以只写入金额和参与方,也可以附带银行流水、发票、工资单或支付网关凭证。是否强制凭证,不应该在早期系统里一开始就写死。更合理的方式是:MVP 阶段先降低接入门槛,允许手动声明和可选引用;试点阶段增加凭证哈希、商户签名或信任锚验证;成熟阶段再根据需要接入支付网关、银行 API 、发票系统、工资系统或 oracle 。

这样做有几个好处。

第一,用户更容易理解。现实支付照常进行,BCS 钱包只负责 N 的流动。

第二,工程更容易落地。系统不需要一开始就解决银行接入、法币清算、支付牌照和稳定币托管问题。

第三,合规压力更小。项目先作为 N 规则账本和身份治理系统运行,不直接托管现实资金。

第四,后续扩展空间更大。等实际需求明确后,再决定是否强制某些行业提供凭证,或者是否引入链上 D 。


8. 为什么这可能缓解就业和危机问题

现行市场经济中,企业追求利润最大化。如果技术进步能用更少人生产更多商品,企业会倾向于减少用工。短期看,企业成本下降、利润上升;长期看,如果很多人失去收入,社会总需求就会下降。商品越来越多,但有购买力的人越来越少,经济就会出现需求不足、产能过剩、失业和危机。

传统政策通常用财政刺激、货币宽松、补贴、转移支付、公共工程或就业扶持来修正这些问题。这些政策有作用,但往往依赖政府判断、预算能力、政治共识和执行效率,也可能造成资产泡沫、债务积累或资源错配。

N 货币的想法是把调节机制放进交易规则本身。商家销售越多,就越需要 N ;雇主提供工作,就能通过工资规则获得 N 。消费者购买商品时获得 N ,工人获得工资时付出 N ,企业通过雇佣和市场获得 N ,再用 N 支撑销售。这样,消费、就业和销售之间不再完全断开。

这不是反市场,而是给市场补上一个反馈环。市场仍然可以定价、竞争、创新和分工,但不能完全忽视“谁在提供就业机会、谁在维持大众收入、谁在消耗社会购买力”这些问题。

如果这个机制运行良好,它可能形成一种自动稳定器。当企业大量销售却不提供足够就业或不获得足够 N 时,销售能力会受到约束;当企业提供更多就业时,可以获得更多 N ,从而拥有更大的销售空间。这种规则有可能减少极端集中、降低需求断裂风险,并缓解经济危机的形成条件。


9. 技术运行方式

当前项目使用 Python 实现,核心目录是 bcs_chain/。系统包括以下模块:

模块 作用
core/ 交易、区块、UTXO 、脚本、验证器、mempool 、状态
currency/ N 货币规则、phi/psi、N 生命周期、可行性检查
identity/ DID 、VC 、身份注册、信任锚、权限认证
offline/ 离线交易缓存、同步、冲突解决、轻客户端视图
wallet/ 钱包、交易构建、离线模式、导入导出
api/ REST 和 gRPC 接口
network/ P2P 节点、消息广播、peer 管理
consensus/ PoA/PoA-BFT 验证者共识
zk/ 可选零知识证明原型
simulation/ 经济仿真和压力测试

系统的基本数据结构采用 UTXO 模型。N 作为链上资产存在于 UTXO 中。交易花费旧 UTXO ,创建新 UTXO 。这样做有利于离线支付、双花检测和并行验证。

共识层采用授权验证者方式。它不需要矿工通过算力竞争来决定出块权,而是由治理认可的验证者节点出块和签名。这更适合当前项目的目标,因为 BCS 是一个规则治理型经济系统,不是匿名算力竞赛系统。

身份层使用 DID 和 VC 。DID 证明用户控制某个身份,VC 证明用户被某个信任锚认证。信任锚可以是创始团队、合作机构、治理委员会或后续系统表决认可的认证方。


10. 前期治理和后期治理

前期治理建议由创始人和合伙人共同表决决定。原因很现实:早期系统规则还不稳定,参数还需要试错,安全问题还需要快速修复,用户规模也不足以支撑完全开放治理。如果一开始就完全开放,很容易被投机者、攻击者或短期利益绑架。

前期治理应该负责:

  • 确认初始验证者节点。
  • 确认信任锚名单。
  • 决定初始 phipsi
  • 决定初始 N 发放规则。
  • 处理身份认证争议。
  • 修复协议和代码漏洞。
  • 决定试点范围。
  • 判断是否接入外部支付凭证验证。

但前期治理不能永久垄断系统。随着系统稳定,治理权应逐步移交给整个系统。后期可以采用更开放的表决治理,例如用户代表、商户代表、验证者、开发者、N 持有者、就业贡献方和其他角色共同参与。

治理移交可以分阶段:

  1. 创始人和合伙人多签治理。
  2. 加入早期节点和试点商户共同治理。
  3. 建立正式提案和投票流程。
  4. 把参数变更、信任锚变更、验证者变更逐步交给系统投票。
  5. 形成透明的链上治理记录。

治理的最终目标不是让某个团队控制系统,而是让系统有能力长期自我修正。


11. 当前阶段和路线图

当前项目处于早期原型阶段。它已经有比较完整的代码骨架和文档,包括交易、区块、UTXO 、身份、货币规则、离线同步、API 、钱包、Docker 、ZK 原型和仿真模块。但这不代表它已经可以直接生产上线。

下一阶段应重点完成:

  1. 稳定交易格式和 extra schema 。
  2. 完成 DID/VC 身份注册的端到端流程。
  3. 完善 N 初始发放和补充规则。
  4. 完善销售和工资交易构建器。
  5. 完善节点间同步和出块流程。
  6. 增加更多测试,尤其是离线冲突和参数变更测试。
  7. 建立清晰的治理提案和多签流程。
  8. 做一个小规模试点网络。
  9. 通过仿真观察 phi/psi 对就业、销售和 N 流动的影响。
  10. 决定是否、何时、如何接入外部支付凭证验证。

更长期路线可以分为四步:

阶段 1: N-only MVP ,链上只处理 N ,D 侧只用 external_amount
阶段 2: 可选外部凭证验证,接入发票、工资单、支付凭证哈希
阶段 3: 试点治理网络,引入更多节点和参与者表决
阶段 4: 根据实际发展决定是否接入银行、支付网关、oracle 或链上 D

12. 对参与者的意义

对普通用户来说,N 货币希望让消费不再只是单向花钱。用户购买商品时,能够通过规则获得 N 。N 不只是奖励积分,而是和商家销售能力、系统治理和经济反馈相关的资产。

对劳动者来说,系统希望让“被雇佣、被需要、提供劳动”不再只是被动接受工资,而是进入更大的货币反馈结构。劳动关系会通过 N 影响企业未来销售能力。

对商户和企业来说,N 不是惩罚,而是一种新的经营约束。企业如果想扩大销售,需要管理自己的 N 来源。提供就业、参与系统、获得用户信任、从市场获得 N ,都会成为经营的一部分。

对治理者来说,N 是一个调节工具。它不是简单发钱,也不是简单征税,而是通过交易规则改变市场反馈。

对开发者来说,这个项目是一个结合货币理论、区块链工程、身份系统、离线支付和治理机制的开放实验。


13. 风险和限制

这个项目有很多不确定性。

第一,经济模型需要试验。phipsi 设置不当,可能导致商户压力过大、工人负担过重、N 流动不足或投机行为。

第二,外部支付真实性在 MVP 阶段不能完全由链上证明。因为现实货币、银行、现金、支付网关、发票和工资单都是链外系统。当前方案把它们作为可选引用,后续需要根据业务需求逐步增加验证。

第三,身份认证需要谨慎。过严会阻碍用户进入,过松会导致滥用和虚假交易。

第四,治理可能被少数人控制。前期创始团队治理是为了启动系统,但后期必须逐步透明化和系统化。

第五,技术实现还很早期。代码中仍有原型、简化实现和需要安全审计的部分。不能把当前版本当成生产级金融系统直接使用。

第六,社会理解需要时间。N 货币不是传统积分,也不是普通代币。它代表一种新的经济反馈规则,需要通过文档、演示、试点和真实数据逐步建立共识。


14. 如何加入

这个项目需要很多方向的参与者:

  • 货币理论和经济模型研究者。
  • 区块链底层开发者。
  • Python 后端开发者。
  • 钱包和前端开发者。
  • DID/VC 身份系统开发者。
  • 密码学和 ZK 研究者。
  • 仿真和数据分析人员。
  • 商户、雇主和试点组织。
  • 关注就业、年龄歧视、经济危机和社会资源分配的人。

如果你认同一个基本判断:货币不只是支付工具,也是社会资源分配工具;现行单向 D 货币在工业化和自动化之后逐渐暴露结构性缺点;那么 N 货币和 BCS 可能值得一起探索。

这个项目不承诺马上成功,但它提出了一个可以工程化、可以治理、可以试点、可以被反驳也可以被改进的方向。

https://github.com/gufenglees/BCS-Reverse-N-Money-System

32 comments by alphabird at 15:05:58 in 分享创造


Codex 登录需要验证手机号了

天才程序员陨落了,只能买接码平台,但是就怕二验啊,有遇到相同情况的大佬吗

30 comments by UnicellularSU at 22:34:36 in OpenAI


iOS 屏蔽更新的描述文件(tvOS26 Beta)今天失效了

有新的文件吗,更新提示有点难受

26 comments by 34 at 15:25:33 in iOS


为什么现在的机场都自研客户端了啊?

之前直接导入 clash 客户端就能用,现在怎么都是自己的客户端,问题是不是那么好用啊?

24 comments by colaaaa at 18:11:54 in 问与答


异地组网方案怎么选?从 n2n 到 WireGuard,折腾一圈后的真实记录

最近手上管着几台散落在不同地方的机器,为了能让它们像在同一个交换机下那样互访,我决定自己组一个虚拟局域网。

起初我用的是老牌工具 n2n,P2P 二层网络,配置极其简单。可惜项目停更了,NAT 后的设备间偶尔会莫名掉线,可靠性还是打了折扣。

后来全面转向了现在更火的 WireGuard。虽然它默认是三层网络、不带 NAT 穿透,但生态是真的好,配置成星形网络也很简洁。帖子重点记录了我在两个特殊环境下的踩坑经验:

  • 红米 AX3000 刷 OpenWrt:内核模块缺失,最后靠 wireguard-go 的用户空间方案救急成功。
  • openEuler 22.03 LTS:官方源没有包,内核编译时还故意没带模块。我分享了从编译内核源码到成功加载 wireguard.ko 的全过程,光是编译就花了一整天。

文章最后也顺便提了 VNTEasyTier 这类新兴 Rust 工具,支持 TCP/WebSocket 且兼容 WireGuard 协议,在特殊网络环境下是个不错的备选。

总之,现在用于异地组网的好方案真的比前几年多太多了。如果你也在纠结怎么选,或者遇到了类似编译报错的问题,欢迎来看看全文,一起交流。

阅读全文

👉 你的环境遇到过什么奇怪的坑吗?欢迎回帖聊聊。

24 comments by unmayx at 21:21:35 in 宽带症候群

Built With ❤️ by jiacai2050/mofish.
 
Reply all
Reply to author
Forward
0 new messages