-
Notifications
You must be signed in to change notification settings - Fork 1
eves-005 Add fee and payment report #19
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
Conversation
flhps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some open questions/issues that probably all boil down to the question of how we deal with "pay-per-use" services. We need to explicitly address how we handle these types of services without breaking the desired process properties.
| For these services, the operator collects fees from providers based on sales volume. | ||
|
|
||
| The _provider_ is interested in selling an asset. | ||
| The _provider_ is interested in selling an asset and collect fees from _consumer_. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does "collecting" fees just mean that the asset provider sells the asset for a price? Because that would already be implied by the act of "selling". If this is meant to include services, we should probably mention that explicitly.
|
|
||
| On a regular basis, the providers send the accumulated fees to the operator. | ||
| To ensure the fees are correctly calculated without publishing business statistics, a provider should construct a zero knowledge proof for the accumulated amount being correct based on the submitted hashes. | ||
| #### 5.1. Asset Fee |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should try and make a consistent distinction between "fee" as in operator fee and the "payment" (or "price"?) for an asset/service.
| To ensure the fees are correctly calculated without publishing business statistics, a provider should construct a zero knowledge proof for the accumulated amount being correct based on the submitted hashes. | ||
| #### 5.1. Asset Fee | ||
|
|
||
| 1. After a defined period, the provider compiles all completed contracts and generates a cumulative bill. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does "completed contracts" mean? Just signed contracts? Or service usage billed according to a service contract? This should probably be more general wording. Contracts might also define specific payment schedules.
| To ensure accurate fee calculations while maintaining business confidentiality: | ||
|
|
||
| 1. Providers must construct a Zero-Knowledge Proof (ZKP) to verify the correctness of the accumulated fees based on submitted hashes. | ||
| These hashes should reference the cumulative bills issued to customers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And this is where it gets complicated and bricks the existing spec: we do not sign bills digitally and do not publish hashes. That would possibly create privacy issues. We need to figure out how "pay-per-use" service contracts should work, since the contract does not contain a specific price that we could base market fees on.
Do we need/want to introduce invoice VCs?
| These hashes should reference the cumulative bills issued to customers. | ||
| The ZKP should also validate that the fees align with the agreement between the provider and the operator. | ||
|
|
||
| 2. If the operator questions the reliability of the ZKP, they may request the provider to disclose the underlying financial report referenced in the ZKP. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The entire point of using a ZKP would be that no underlying data must ever be disclosed. The operator just needs to know at least one control hash, which is part of the reason we publish them.
Showing the underlying data to the operator could be an interim solution if we want to implement a first version without a complex ZKP. But these two systems are very different and mutually exclusive.
I have updated part 5 for the fee and payment report