-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Oracles] Economic Model #1279
Comments
Cost model Incentive model And Oracle Fee can be assigned to Oracle nodes on average if we do not consider Freeload problem .This can avoid evil Speaker. |
Also we need to define the payment method. We need a new gas field? |
A simple way is define a new field |
Is Oracle fee fixed? |
Oracle Fee=Request count * perRequestFee |
If perRequestFee is fixed, we don't need an extra field. We can calculate it easily and mix it with |
If mix it with NetworkFee,all speaker should commit Oracle transaction preferentially. |
And if we use |
Do you mean "retry"? |
A precondition is required, consensus node's address is the oracle node's address. Using |
Do we allow multiple requests in a single transaction? Or do we only allow one request with multiple retrying? |
I think the easiest way is to add the fields to neo/neo/Oracle/OracleRequest.cs Line 5 in 64c30a8
|
Yes, but if it is to the same resource, it will take the cached result for the second request. Only one request will be done to internet. |
I think that retry is more related to the own node policy, if he know that his network is unstable, maybe he need to retry the request, otherwise not. |
I think it is necessary to allow multiple requests in a Oracle transaction.Since the logic of smart contract is flexible,user will have demand to multiple invoke Oracle service in one Oracle transaction.(Of course,contain 'retry').We should not limit these demand. |
Well,let's do some summary: Cost model *Of course,we can limit that one TX can only have one request.But I think it will reduce the flexibility of smart contracts. Incentive model But we still need design some mechanism to avoid obvious attack. We can use |
@shargon @belane @erikzhang do you have some comments and suggestions? |
It looks good. I agree with you, we should allow more than one request for smart contract/invocation. We can talk about all the limits we need in #1260 |
Now that we decided the two TX model, we need to define the economic model. I made this proposal #1579
|
Do we have a native oracle contract? Maybe we should remove the SYSCALL and change it to a method of the contract. Then the fee can be sent directly to this contract. So there is no need to deduct from sysfee. |
Yes
you mean listening the notifications?
Agree |
Yes. |
Or even the oracle contract can transfer the fee from the sender's account automatically. |
But the response it's persisted before the request, in the request it's located the fee, and for taking this fee we need the oracle multi signature. |
If we check the notifications when user consume the downloaded data, if the user tx fault, oracles won't be rewarded. |
Discussion of the pricing and reward model for the Oracle system.
We must also cover possible penalties for malicious nodes.
This topic is closely linked to oracle policy #1277
The text was updated successfully, but these errors were encountered: