يا جماعة، البارحة سويت شيء شوي عيب. تخيلت في بالي خطة هجوم كاملة، وادعيت إني مساهم بيانات أبغى أعمل تخريب. الهدف هو إني أضخ بيانات زبالة.@OpenLedger بعدين أشوف إذا كانت آلية الـSlash المكتوبة في الورقة البيضاء قادرة توقفني.

أقولكم الخلاصة، توقف الناس الطيبين، لكن ما تقدر توقف واحد عنده شوية ذكاء. الكلام يمكن ما يكون لطيف، لكني راجعت مسار الهجوم ثلاث مرات، وفعلاً هيك النتيجة.

الجزء 2.3.1 من الورقة البيضاء كتب فيه معادلة حساب نقاط سمعة البيانات C(D) اللي تساوي w_i مضروبة في مجموع الأوزان f(x_i,y_i)؛ حيث w_i هي وزن الرهان و f هي دالة الجودة. بعدين في الجزء 2.3.3 كتبوا عن RLHF، يقولوا إن الناس اللي يقدمون تعليقات ذات جودة عالية يحصلون على مكافآت، واللي يحاولون التلاعب بالنظام يواجهون خصم من رموز الرهان. شكله نظام متكامل صح؟

但我试着绕过这套机制 方法很简单 我不一次性灌大量垃圾数据 那样太明显 信誉分一跌就被发现了 我改用温水煮青蛙的方式 先上传一百条高质量数据 把信誉分刷上去 质押一些$OPEN 拿到不错的权重 然后混入五条看起来正常但其实有标注错误的数据 比例控制在百分之五以内 人眼抽查很难发现

等这些错误数据被模型用了 归因公式I(di y)会给它们分配一个很小的权重 因为它们对推理输出的影响是负面的或者为零 但问题是 只要这个权重不是负数 我的质押代币就不会被扣 白皮书里只说了惩罚低质量贡献 但没有说惩罚的标准是I(di y)等于零还是小于某个阈值 如果是等于零才罚 那我只要让错误数据产生一点点正向影响 哪怕只有0.0001 就能逃过惩罚

我翻遍了白皮书和GitBook 没有找到这个阈值的具体定义 只看到“低质量或对抗性提交会被防止”这种概括性表述

我问了一个做安全审计的朋友 他原话是 这种基于影响分数的惩罚机制 最怕的就是慢速低浓度投毒 你每个错误数据单独看影响都很小 加在一起就能把模型往偏里带 而且归因公式是按单点算的 看不出累积效应那OpenLedger怎么防这种攻击 我目前看到的只有人工审核和RLHF的人工反馈两条防线 白皮书里写了 提交高质量反馈的拿奖励 试图操纵系统的面临惩罚 但人工审核的覆盖率是个问题 如果你每天上传一千条数据 混入五十条带毒样本 审核员抽到毒样本的概率只有百分之五 连续抽到的概率更低

#OpenLedger 我自己想了一下可能的解决方案 一是引入时间累积检测 不是看单次归因 而是看一个数据点被调用一百次之后的影响分布 如果一百次里有八十次影响都是负的 那不管单次多小都要罚 二是提高恶意行为的质押门槛 你要想上传数据 必须质押更长时间的增加做坏事的机会成本 但这两条白皮书里都没写

我现在的做法是不急着当大贡献者 先用小量数据跑通流程 观察一下第一批被Slash的真实案例是什么原因 等社区里有人被罚了 看团队怎么处理 再决定要不要上传核心数据集

说完这些 我想起比特币和以太坊早期也经历过各种攻击尝试 它们靠的是算力成本和代码审计熬过来的 OpenLedger这套归因机制是新东西 被攻击只是时间问题 关键是第一次被攻击之后团队的反应速度

兄弟们你们觉得这种慢速投毒攻击能被发现吗 有没有更好的防御思路 来评论区给我上一课