Skip to content

Conversation

@levanthanh3005
Copy link

I have updated part 5 for the fee and payment report

@jdsika jdsika requested a review from flhps December 14, 2024 20:09
Copy link
Contributor

@flhps flhps left a 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_.
Copy link
Contributor

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
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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.

@jdsika jdsika closed this Feb 25, 2025
@dansan566 dansan566 deleted the eves-005 branch February 25, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants