最近交大的“无可奉告”论坛被关闭了,恰逢神社十周年,使我萌生了建立一个去中心化论坛的想法。
总体思路可以仿照比特币的区块链技术,将论坛的文本内容分布式存储在各个用户端,访问论坛时通过索引来获取对应内容。哈希加密验证保证历史文本不能被随意篡改,公钥-私钥系统保证所有内容只能由账号拥有者发布,甚至可以参照暗网的算法,在某个账号试图发表内容前,将其分块打包加密,每块多次转跳至多个其他用户节点,以实现完全匿名化。
这样的论坛的优点有:没有中心服务器,不会出现服务器被端就解体的情况。没有中央管理者也就意味着没有人可以随意地禁言控评限流,只要还有一定数量的用户在线,理论上永远无法封禁已发布的内容。
缺点也很明显:需要有一定的用户基数只需在线充当节点服务器,访问速度难以保证,可能不足以支持在线观看高清视频甚至连图片的加载速度都难以保证。完全地无政府也会产生各种问题,不提不法犯罪,就算是来几个喷子都够喝一壶的。
我能想到的解决方法和难点有:
如果用户基数不足,可以至存放文本,图片视频通过外链实现。用户数量或历史信息达到一定程度时可以使用论坛虚拟货币鼓励用户自发建立“次级中心”服务器,类似地区DNS服务器,存储更多的索引或直接存储一部分论坛历史内容副本用来加速访问,哈希验证将保证志愿服务器不能私自篡改内容。
论坛内预先设定一些“公约”作为“自由的底线”,触犯底线的账号会被封禁。首先协议中应当包含验证部分,以确保脚本无法注册账号。账号有等级区分,不同等级对应不同的发言量上限,注册并将账号升级至一定等级应当需要一定的难以克服的时间成本。同时应当有一个实时检测账号是否由程序控制的系统。深度学习或简单机器学习二分类算法可以简单地做到这一点,难的是如何在一个分布式的网络中运行这样的算法(也许每个用户端都可以作为图神经网络的节点?)。
对于严重违规甚至是严重违法的行为,应当有一个“举报-仲裁-处罚”机制,当“仲裁”通过后所有用户端都会执行对应的“处罚”,删除相应内容,罚款,限制或清除某个账号等等。尽管论坛具有匿名性,但是当最高等级的“处罚”被执行时,如严重犯罪,只要配合回溯转跳记录的节点达到全部节点的一定比例,就可以去匿名以便警方追查。为增加“执法”效率,还可以设立一定的“警察”账号和“陪审团”账号,类似B站的风纪委员。这些账号的“执法”行为会被广播,用户可以通过投票“弹劾”不称职的“警察”和“陪审团”。
Nginx(auth_basic_user_file)+htpasswd 就够了吧。
那你快去弄个