if we could do that with smart contracts than that would be ideal for sure. but if not than it would probably be nice to be able to have people issue signed transactions with conditions, such as this transaction can not be eligible for inclusion in the blockchain unless executed unless in conjunction with other signed transactions totalling a certain amount. the person operating the crowd funding could simply collect signed transactions and wait to publish them until he had enough and infact would only be able to publish them if he had enough.
Sounds really specific for something in the protocol. In a more general form, that would be
"this transaction can not be eligible for inclusion in the blockchain unless executed unless in conjunction with other signed transactions
which together satisfy a certain condition"
That condition could be total amount, or it could be total # of transactions that are > certain amount, as in swartzfeger's example of committee/director seats, or something else.
Varying another condition,
"this transaction can not (
be eligible for inclusion in the blockchain or
chained from or some other operation) unless executed unless in conjunction with other signed transactions
which together satisfy a certain condition"
And you could vary other parts too. So what you'd really be after are
scripted transactions.My thinking is that whatever function you want a scripted transaction to be able to perform, could also be performed by a smart contract acting on a regular transaction. We just need the function as part of the lower lev/higher lev opcode, and part of what the protocol can do.
One difference is that in a scripted transaction, the script knows which transaction to act on (the one it's attached to), but a smart contract needs additional information to know which script to act on, e.g. on only txs sent to a specified account. I think processing/memory costs would be another (would all nodes in network have to execute every scripted transaction, like they have to do with smart contracts?)
Either way (or both ways), we need to ask what else we want scripts to be able to do.
An alternative way to handle the Kickstarter example is if account control allows accounts to be timelocked, and to do so transparently so that investors know how long it's timelocked for. So the holding account is created, then timelocked so that it is unlocked only after the crowdfund period has ended and the smart contract has stopped running. If the crowdfund failed, all nxt/coins would have been returned, so there's nothing a dishonest funding seeker could take.
EDIT: Also:
... this transaction can not be eligible for inclusion in the blockchain...
BCNext, found you!