That's not particularly surprising. If you're smart enough to implement and seed a distributed Merkle tree ledger you're smart enough to extrapolate the implications of indiscriminately offering yourself as an indefinitely persisted data feed.
The right path seems to be a WebAssembly build of an actual C++ engine. That's pretty close to this, which uses ammo.js, a workerized emscripten/ASM.js build of Bullet.
I've been meaning to experiment with doing precisely this :/.