neo-project / neo

NEO Smart Economy
MIT License
3.47k stars 1.03k forks source link

Smart Services #672

Closed shargon closed 4 years ago

shargon commented 5 years ago

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".

How it works

The existence of Decentralized Services allows to create and manage lot of applications without human interaction.

erikzhang commented 5 years ago

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?

shargon commented 5 years ago

With this we don't need a third party service, you can do it everything decentralized.

erikzhang commented 5 years ago

Decentralization is not an end. We must find the benefits of doing so before we decide to do so.

igormcoelho commented 5 years ago

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 :)

vncoelho commented 5 years ago

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.

digimbyte commented 1 year ago

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.

these are some beautiful insights into how it could be setup. in my case, While I have a contract that is invoked by the user, since it depends on a off-chain server with an RPC hook, the issue is when that service is offline or unreachable. or something like an auction or timed event has simply resolved and the user is unable or unaware to invoke a contract method.

The blockchain must have some autonomy over itself is essential for any service if it wants to be modular, even if its a passive table and each contract has limited schedules. a simple contract ping should be enough to facilitate most use cases but passing parameters is also ideal but this can be done via storage.

to clarify, I have raised this #2903 and are looking for additional insights but no-one has put a concrete stance forward on use case and minimizing its footprint on the blockchain