Post
Topic
Board Altcoin Discussion
Re: The Ethereum Paradox
by
monsterer
on 16/02/2016, 16:01:55 UTC
I think perhaps what you are proposing (yet you did not articulate it) is that you want every transaction to require that the input data is annotated to specify where that data appears on the block chain (i.e. which script output it is). But that means you are proposing to exclude "external I/O"; and I had already written upthread that yes if a design excludes external I/O then the problem is solved, but this means the programmability is mostly useless, e.g. no new accounts, etc..

I am suggesting that in many cases it is acceptable to allow external I/O, as long as the scripts which are built using external I/O are aware of each other and their sequencing requirements are met. Here is a trivial example:

External I/O source: a store of a single off-chain integer and script triggering mechanism
Script A: receives an integer as input, doubles it, returns it
Script B: receives an integer as input, halves it, returns it

*) The I/O source starts with the integer 1
*) It triggers script A
*) Waits until A appears in the chain, then triggers B with a dependency for the last observed A
*) Waits for B to appear and then re-triggers A with a dependency for the last observed B
*) Rinse and repeat.

What will the result be after 10 iterations?

Yes this example is trivial and simple, but it includes external I/O with dependencies exactly as I described.