
我们对PolitiCap区域ECN节点进行了两次现场生产试验——一个在快速LAN边缘(曼谷),一个在慢速WAN边缘(柏林)。目标不是营销量。而是要测量当网络处于真实负载时,MarketMaker如何填充,DutchBud如何封存账本,批次上传,伪造封条的拒绝,以及操作员隔离的行为。
这是3DN工程的写照:我们从我们的指标存储中获取的数据,我们观察到的行为,以及我们坚持的设计选择。它延续了我们之前关于拉而不是推区域更新和账本绑定交易批次的笔记。
为什么ECN延迟仍然重要(一个简短的历史旁路)
电子通信网络不是一个新想法。股票市场花了数十年时间学习谁先看到账本是一个经济武器。柏林证券交易所——以及更广泛的欧洲场所——长期以来一直是关于延迟报价、流动性碎片化和滥用空头抄板模式的辩论的一部分,这些模式每当一条路径比另一条路径慢时就会兴起。裸空头抄板丑闻和“未能交付”的故事从来不仅仅是关于贪婪;它们是关于随时间推移的非对称信息。
PolitiCap是一个带有虚拟信用(DutchBud dibs)的公民市场模拟,而不是现金证券交易所。尽管如此,工程教训仍然适用:如果一个区域节点可以发明中心枢纽必须信任的填充,或者如果延迟可以被利用为对交易记录的特权视图,那么你已经在微观上重建了旧的ECN问题。我们的试验故意强调了相反的设计——仅封存批次,基于拉的软件,以及当封条失效时的隔离。
我们测试了什么
| 试验 | 边缘字符 | 加载形状 | 对手 |
|---|---|---|---|
| 曼谷 | 到集线器的LAN级路径 | 市场制造者交易量从轻微→中等,持续约1小时 | 本地发件箱中的定期伪造账本行 |
| 柏林 | WAN边缘(软件拉取速度慢;kB/s级传输) | 短暂密封MM爆发(~3分钟,28次填充) | 相同的伪造密封注入;自动隔离路径 |
两个节点都使用了相同的规则:本地匹配保持本地;向集线器传播需要一个DutchBud收据(ledger_ref + HMAC ledger_code)。集线器从不接受“因为节点说了”。
曼谷试验——清洁路径下的坡道
设置。两个MarketMaker机器人交叉了曼谷地区API上的演示符号。在约一小时内,成交量从温和的速度(平均约8股/分钟)上升到中等速度(约40股/分钟),价格和手数大小有小的随机波动,因此路径不是节拍器。
密封。每次成功交易都在成交价被批准进入联合出站箱之前,尝试使用DutchBud分类账密封。在这个边缘,密封流量通过集线器的认证代理路径到达分类账服务(区域VLAN不需要直接银行端口)。密封成功跟踪了坡道期间的MM交叉。
联合结果。集线器指标和联合交易表一致认为:在试验窗口期间,来自曼谷节点的~580个分类账信任成交落在了集线器记录上(信任标签ledger)。批量上传在短间隔(一分钟)内运行,因此Grafana和指标存储可以在不等待长时间轮询的情况下看到接受/拒绝计数。
对手。一个单独的过程向出站箱插入了猜测的分类账引用和代码(原始密钥以伪造的指标为前缀)。这些行乘坐相同的批量通道。集线器验证拒绝了它们。它们从未成为集线器记录。这就是将批量绑定到DutchBud收据而不是“节点的词语”的全部意义所在。
CPU. 集中点和分类账主机在这个轻度至中度速率下没有显示出值得注意的计算峰值。收据的 HMAC-SHA256 相对于数据库提交和 HTTP 来说很便宜。昂贵的历史“哈希”故事 (工作量证明挖矿) 是一个不同的工作负载:每成功一次,失败尝试数百万次。收据是每个填充一个 MAC。
柏林试验 — WAN 边缘,短爆,隔离
边缘节点。柏林节点位于一个受限的广域网路径上。通过该链接进行的软件自更新以每秒千字节为单位进行衡量——对于目录增量和交易JSON来说是好的,但对于多兆字节的二进制文件来说是痛苦的。在试验中,我们仍然使用了拉取通道的版本广告;当拉取速度太慢时,我们通过其他方式交付相同的哈希伪装,以便节点和集线器就构建身份达成一致。生产期望仍然存在:节点拉取;操作员接受广域网物理学适用的情况。
负载。短暂的MarketMaker爆发在几分钟内产生了28个本地密封交叉。密封件再次通过代理到DutchBud。每个交叉在出站资格之前都返回了一个账目收据。
第一批。在爆发后的第一次成功上传中,集线器接受了密封行,拒绝了伪造的伴侣。指标和日志显示了分裂:合法路径OK,流氓路径not_found /无效密封。
隔离。由于该批次包含一个明显的伪造密封信号,集线器自动将柏林节点隔离。效果:
- 该节点API密钥的进一步
POST …/trades收到了403和一个隔离标志——没有新的联盟写入。 - 注册的操作员收到了一个紧急电子邮件(原因+证据)。在这个试验中,操作员邮箱是节点记录中的办公地址。
- 本地匹配没有故意减速。隔离惩罚上行特权,而不是区域书籍上的客户延迟。(作为制裁措施减慢本地交易将与攻击者保持一致:一个敌对的操作员可以故意触发隔离以故意伤害经纪人。)
提升和“陷阱门”。当隔离被解除,而剩余的流氓出站行仍然坐在已经消费的合法收据旁边时,下一次刷新将拒绝重放,其中一个伪造行和自动隔离再次触发——以及第二封操作员电子邮件。这是正确的安全措施,操作略带滑稽。我们收紧了自动隔离,使其只有在批次中的所有拒绝都是流氓风格时才会触发,而不是当一个剩余的伪造行与无害的重放一起时。剩余的流氓行应该在事件发生后仍然被清除。
实际指标存储显示的内容
我们从hub(以及我们抓取的LAN边缘)导出了Prometheus计数器。与每秒率相比,稀疏批处理事件更容易以窗口内的计数形式读取 – 在进程重启后,即使系统运行正常,rate()面板也会变为空 – 这是仪表板的教训,而不是fabric故障。
- 节点身份计量器(运行build vs hub latest, last hello)在曼谷和柏林报告试验版本后保持连续。
kind=legit与kind=rogue以及result=accepted|rejected。当天的联合行显示信任ledger — 凭证验证并消费。曼谷贡献了大部分密封量;柏林贡献了在隔离前通过的密封爆发。
设计结论
- 在敌对或慢速网络中,拉取仍然获胜。集线器不需要在边缘部署凭证。WAN二进制拉取可能很慢;通道仍然正确。目录和交易JSON保持便宜。
- 密封是信任根;API密钥只是嘴。任何拥有节点密钥的人都可以在批处理(包括curl)中POST。只有DutchBud HMAC收据才能让集线器磁带上的单词生效。
- 恶意操作员(或受损密钥)会获得上行隔离 + 邮件,而不是客户DoS。隔离阻止联合写入并通知操作员 — 当操作员可能是黑客的受害者而不是恶棍时有用。我们不通过减慢本地经纪人的速度来“惩罚”;那会给想要延迟的恶意操作员送礼。
- 历史ECN延迟滥用是一个提醒,而不是产品功能。容忍未签名或延迟真相的市场会重现延迟场所和做空游戏盈利的条件。PolitiCap的模拟故意保持无聊:没有密封就没有全球磁带。
- 运维卫生与加密同样重要。事件后剩余的伪造待发送行会重新触发警报。清除,然后解除。自动隔离应该需要一个干净的伪造批次信号,而不是在重放干草堆中找到一根剩余的针。
我们接下来将衡量什么
更长的多节点加速、显式抓取每个允许网络策略的受信任边缘、高信任操作员的债券/声誉(经纪人可以看到他们的名字),以及更紧凑的仪表板,将批处理事件视为计数而不是连续速率。织物已经准备好处理更多流量;下一个瓶颈将是存储和人工运维,而不是哈希。
PolitiCap 是3DN 家族的一部分——工作·金钱·政治——DutchBud 是虚拟信用额度的闭环账本。如果您运营的基础设施必须在您不完全拥有的网络中保持诚实,那么 pull-plus-seal 是一种值得借鉴的模式。
发表回复