<a class="mention" href="/@elas_digital">@elas_digital</a> I think at the time I was thinking about ways in which we could make conditional payments based on tokens. That is, pay token A to X and then other tokens or BSV are able to be spend by Y. It is definitely doable in Script if we don't have backtracking.
Ethereum does this by having a shared state that every transaction can modify via. That way conditionals are simple as making a contract that says (if token A is being sent to X, update memory to state Q) and later (if memory is at state Q is send token B to Y). This is part of the reason why it's unscalable, all transactions and contracts can modify the same state, and the main motivation behind sharding.
On Bitcoin, assuming we don't have backtracking for tokens, it would be as simple as adding requirements to the OP_PUSH_TX preimage. For example, we can assert that an input being spent has a ScriptPubKey of Token A and that one of the outputs allow BSV or tokens to be spent by Y. At that point you have all the benefits of Ethereum with the scalability of Bitcoin.
<a class="mention" href="/@elas_digital">@elas_digital</a> I think at the time I was thinking about ways in which we could make conditional payments based on tokens. That is, pay token A to X and then other tokens or BSV are able to be spend by Y. It is definitely doable in Script if we don't have backtracking.
Ethereum does this by having a shared state that every transaction can modify via. That way conditionals are simple as making a contract that says (if token A is being sent to X, update memory to state Q) and later (if memory is at state Q is send token B to Y). This is part of the reason why it's unscalable, all transactions and contracts can modify the same state, and the main motivation behind sharding.
On Bitcoin, assuming we don't have backtracking for tokens, it would be as simple as adding requirements to the OP_PUSH_TX preimage. For example, we can assert that an input being spent has a ScriptPubKey of Token A and that one of the outputs allow BSV or tokens to be spent by Y. At that point you have all the benefits of Ethereum with the scalability of Bitcoin.