ART Report: Resource Machine

There still appears to be a great deal of confusion about why there is even a transparent resource machine at all, which I struggle to put into words differently than I already have. Here is another attempt.

The transparent resource machine is not a real thing. It isn’t a product for doing things outside privacy of one’s own computer. It should probably be disabled entirely on public-network nodes. It’s not meant to have features ripped out or put in compared to the shielded resource machine (hereinafter the “real resource machine”), and certainly I would object strongly to editing the specification for perceived transparent-RM concerns. Please do not do this!

Like many things which aren’t real, the transparent resource machine is a vital part of the ecosystem. I created it for a reason, and that reason is traceable, interactive, debuggable work with the resource machine abstraction. With one’s compiler flag flipped to “emit transparent RM”, every part of the semantics can be followed, traced, tested against also-traceable hypothetical system states, in a way comprehensible to ordinary programmers who are not circuit wizards. Applications can be refined with full transparency into what constraints they set down and must abide by, and every failure is explicable.

And then you flip the compiler flag the other way, and emit real RM, already knowing it works.

This implies certain things, like “if the real RM uses a Merkle tree, the transparent RM must use a Merkle tree in precisely the same way”, even if you could imagine ways this could be skipped if transparent RM were somehow real, which it is not. If you’re skipping pieces in the fake, you’re deceiving the user about the real thing. Similarly, it’s important that a proof be a proof, sent to a proof verifier, even if this seems like just duplicating a lot of things several times, because it must follow all the same steps.

Think of it as a RM simulator, if you like, not an RM. It is for simulating the RM semantics, and just doesn’t run on circuits because it’s fake. That’s all.

3 Likes