Russell O'Connor [ARCHIVE] on Nostr: 📅 Original date posted:2023-02-18 🗒️ Summary of this message: A developer ...
📅 Original date posted:2023-02-18
🗒️ Summary of this message: A developer working on the Simplicity language, which prunes unused case branches, explains that it cannot prevent agents from posting unused data blobs as part of their programs.
📝 Original message:On Sat, Feb 18, 2023 at 5:11 AM vjudeu via bitcoin-dev <
bitcoin-dev at lists.linuxfoundation.org> wrote:
>
> Also, it gives us a hint, that if any Script upgrade will be considered in
> the future, we can think about doing it in a way, where unused parts can be
> pruned, without invalidating signatures.
>
FWIW, pruning unused case branches is a core design principle of the
Simplicity language I am developing.
That being said, even this is not enough to thwart agents that specifically
desire to post unused data blobs as part of their programs. This is
largely because there are many mathematical expressions for what is
equivalently an identity function. Think computing (x ^ 257) mod 257 (see
Fermat's little theorem).
Even in Simplicity users can write Word *<some data blob>*; unit which is
roughly equivalent PUSH *<data blob>* DROP in Script. I don't even bother
trying to prevent it. Doing so just adds more consensus complexity, and
only raises the bar slightly on how to work around it.
Simplicity's pruning is instead meant as a way to (usually) lower costs for
users who aren't actively trying to spam the network.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230218/2db79aa2/attachment.html>
🗒️ Summary of this message: A developer working on the Simplicity language, which prunes unused case branches, explains that it cannot prevent agents from posting unused data blobs as part of their programs.
📝 Original message:On Sat, Feb 18, 2023 at 5:11 AM vjudeu via bitcoin-dev <
bitcoin-dev at lists.linuxfoundation.org> wrote:
>
> Also, it gives us a hint, that if any Script upgrade will be considered in
> the future, we can think about doing it in a way, where unused parts can be
> pruned, without invalidating signatures.
>
FWIW, pruning unused case branches is a core design principle of the
Simplicity language I am developing.
That being said, even this is not enough to thwart agents that specifically
desire to post unused data blobs as part of their programs. This is
largely because there are many mathematical expressions for what is
equivalently an identity function. Think computing (x ^ 257) mod 257 (see
Fermat's little theorem).
Even in Simplicity users can write Word *<some data blob>*; unit which is
roughly equivalent PUSH *<data blob>* DROP in Script. I don't even bother
trying to prevent it. Doing so just adds more consensus complexity, and
only raises the bar slightly on how to work around it.
Simplicity's pruning is instead meant as a way to (usually) lower costs for
users who aren't actively trying to spam the network.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230218/2db79aa2/attachment.html>