Currently NEO Smart Economy counts with NEO Smart Contracts. Now, we want to introduce a new concept, "NEO Smart Services".
With this new feature, NEO Blockchain could allow a contract to be invoked without need for a human being to interact directly with it. These types of contracts will be called "Smart Services".
Main('OnServiceCallback',[...])The existence of Decentralized Services allows to create and manage lot of applications without human interaction.
If we build a third party service (a website for example), and allow users to send transactions to the service and then store it. When the set timeout expires, the service automatically sends the transaction to the blockchain network. What is the difference between this idea and the third party service?
With this we don't need a third party service, you can do it everything decentralized.
Decentralization is not an end. We must find the benefits of doing so before we decide to do so.
Good idea @shargon! I think this is related to a recent conversation with @hugbro https://github.com/neo-project/neo/issues/660
But in this sense I agree with Erik, that although I'd love this feature, extra work performed by the network should be well justified... let's think about it :)
I think this is a powerfull thing.
Consensus could have a priority list and this kind of contracts could have functions for setting min net fee.
These contracts would be like a guarantee that the blockchain is always going to process that in every block (it would be a strong censorship resistant family of txs!), consensus should always include if contract has gas and fee is enough.
These kind of automatic txs persisting looks interesting for IoT Smart Devices, the core of the future Smart and Digital Cities. ahaehauahau
These kind of txs could even be chosen to be included after all txs or before all txs in every block, which could ensure other properties and open paths for future possibilities.
Most helpful comment
If we build a third party service (a website for example), and allow users to send transactions to the service and then store it. When the set timeout expires, the service automatically sends the transaction to the blockchain network. What is the difference between this idea and the third party service?