ethereum-oasis-op / baseline-blips

Baseline Protocol Improvement Proposals (BLIPs) play a key role in properly proposing, developing, and implementing changes to the Baseline Protocol. This repo contains all BLIPs.
Creative Commons Zero v1.0 Universal
10 stars 5 forks source link

[BLIP-1] Finding measurements for worksteps requiring and not requiring CCSM or ZKP #1

Open humbitious opened 2 years ago

humbitious commented 2 years ago

[BLIP-1] Adding Support for workflows Not Requiring CCSM

Abstract

Current Baseline core specification – v1.0 – requires commitment of zero-knowledge proof of worksteps on a CCSM [R234]. However, there are business processes and workflows which can be implemented without CCSM interactions. We argue using a CCSM is a MUST when we deal with assets life cycle (DeFi) or necessity of a censorship resistance registry (SSI) but in the absence of any of those two mentioned criteria, we can implement a workflow without using any CCSM.

Motivation

CCSM is a fully replicated peer-to-peer network. Any transaction to a CCSM (e.g., Ethereum mainnet) costs 100s - if not 1000s - of nodes to verify (process), transition to and persist a new state (storage) and exchange their new state with other nodes (network bandwidth). Additionally, the finality of a transaction is highly dependent on the size of the network and/or the consensus algorithm in use. Thus, any alternatives which avoids a CCSM transaction and still holds the correctness and completeness of a business process is more favorable and scalable.

Contributors and Stakeholders

TBD

Specification

As a real-world example, we use customs clearance in Europe. As it’s depicted in Figure 1, the process includes several documents issued by different parties which all must be consistent. We’ve reduced the list of documents to just a few for the sake of simplicity. Other documents follow very similar process of verification. One exception is “Bill of Lading” that “conveys title to the goods, meaning that the bearer of the Bill of Lading is the owner of the goods.” Therefore, its digital form MUST be treated as an asset tracked (through the Zero Knowledge Proof (ZKP) of its ownership when privacy is required) on a CCSM. Consistency Other documents when digitized, MUST be issued, and signed by defined issuer and can be linked as nested verifiable credentials (VCs) by including the hash or the full parent document in the child document. Combining nested VC and digital signature ensures the consistency of each digital document. Consistency here means that any change in any document will invalidate the digital signature verification and thus detectable.

Figure 1 - Few simplified documents required for customs clearance in Europe image

Versioning

When a new version of a document has been issued, it MUST be signed by all the involved parties. e.g., if a change must be approved by Exporter, Importer and Customs authorities of the exporting country, all three signatures are required on the new version. Please note that there is no double spending problem here and the agreement of few involved parties is sufficient for issuing a new version.

Collusion

When all signatures of the stakeholders are requires, and all the documents are tightly linked using nested VCs, there is no room for collusion.

Verifiable Timestamp

Each document will have an issuance timestamp. If signatories disagree on the timestamp, they won’t sign it. The signatures can also have their own timestamps. A decentralized timestamp (like CCSM) is irrelevant here. Changing one timestamp leads to a new version of the document and inconsistency in its children. Meaning either all the involved parties must sign the new version and agree on the changes, or the new version will be identified and discarded by others. Either way, having it (or its ZKP) on a CCSM doesn’t change the course.

Assuming the ZKP of agreement on a document as an output of a workstep in BPI has been submitted on a CCSM. If all the parties agree, they can discard that ZKP and agree on a new ZKP, even if it means restarting the whole BPI worksteps till now. Therefore, CCSM has no functionality as a verifiable timestamp. Simple fact: users of BPI are companies who want to trade and if BPI is preventing them to facilitate their trades, they will reject it.

On the other hand, if only one party wants to change the timestamp of a document, no matter if it’s written on any CCSM or not, if other parties disagree, they won’t sign. Again, CCSM has no functionality as a verifiable timestamp.

GoldenBit0 commented 2 years ago

Meeting setup for 11/9/2021 to discuss path forward for this. Mehran Shakeri finalizing use case prior to discussion.

GoldenBit0 commented 2 years ago

11/12/2021: TSC discussing updates and next steps on BLIP-1. Next steps: Sonal will schedule Session #2 for discussion and include TSC members

GoldenBit0 commented 2 years ago

11/17/2021: Follow up meeting. Attendees: Mehran Shakeri, Stefan Schmidt, John Wolpert, Luiz Soares, Ryan Fisch, Sonal Patel

Next Steps:

Notes:

mehranshakeri commented 2 years ago

Here is the first draft of an end-to-end supply chain business process. It a simplified version of what you can find in OASIS UBL 2.3 Supply Chain Business Processes

base-root

As next steps we can

stefschmidt commented 2 years ago

I want to suggest

We can discuss this in the BLIP-call, I volunteer for taking responsibility for these tasks and am happy if we find someone to co-work / pair-contribute.

mehranshakeri commented 2 years ago

Certificate of Origin should be proven to shipper that exists and is valid

mehranshakeri commented 2 years ago

We track our changes here

mehranshakeri commented 2 years ago

sequence

mehranshakeri commented 2 years ago

In the swimlane diagram

Identified ZKP relations [incomplete]

User Story - [Draft]

Supplier (Exporter) and Buyer (Importer) have mutually signed a Master Agreement. The Master Agreement includes a Catalogue containing Line Items, their specifications and prices.

Buyer sets a new Order based on agreed upon Master Agreement. This Order includes ordered Line Items and quantity per each item. It carries both signatures of Supplier and Buyer and implies an agreement where the Supplier provides those Line Items to the Buyer and in return receives the total value of the Order. (i.e. Sum of Line item values time the ordered quantity). For the sake of simplicity, any discounts is ignored. To provide a verifiable timestamp, Order or its workstep will be anchored in CCSM.

Supplier and Carrier sign a Transportation Order which is either the full Order quantity or a subset of that to be picked up by Carrier at the Supplier location and be delivered to the Buyer.

Upon pick up, Dispatch Advice will be issued mutually signed by Supplier and Carrier and a copy is sent to Buyer. Carrier also issues a Bill of Lading titled to Buyer. The history of ownership of Bill of Lading will be anchored in CCSM.

Supplier requests Certificate of Origin for picked up goods based on Bill of Lading from OriginAuthority. As a result, Certificate of Origin will be issued which carries both signatures of Supplier and OriginAuthority. Relevant participants will receive a copy of this document.

Supplier prepares signed Export and Transit Customs Declaration documents and seeks signatures from corresponding Customs Authorities. Export Customs Declaration will be anchored in CCSM to have a verifiable timestamp.

Buyer prepares signed Import Customs Declaration and gets signature of Import Customs authority as a clearance.

Upon arrival of the goods in the Buyer’s side, the Receipt Advice will be created and signed by Carrier and Buyer. Receipt Advice must be anchored in CCSM for future tax purposes.

Later on, Buyer releases a Payment related to the Receipt Advice which will be processed by our Payment Provider.

stefschmidt commented 2 years ago

The "presence of documents in the CCSM lane implying the required anchoring of that document on CCSM as a must", could be extended by a rating/weight indicator, for example:

This way, we would be able to compare different reference implementations on the described user stories, by having some basic metrics that can be interpreted differently in different reference implementations.

In the same way, we could rate/weigh the need/benefit for identified ZKP relations, for example if ZKP is helpful or needed (e.g. if 3rd parties MUST NOT see specific details of the process up to that point). Again, this would be a good help to get some metrics to compare reference implementations.

stefschmidt commented 2 years ago

Given all that - I'd propose to rework the BLIP title to "Adding support for worksteps not requiring CCSM or ZKP"

GoldenBit0 commented 2 years ago

Approved proposal by work group in 1/18/22 session to update BLIP name to 'Finding measurements for worksteps requiring and not requiring CCSM or ZKP'

Meeting Notes Doc w/ Recordings

GoldenBit0 commented 2 years ago

Jan 10, 2021 - Slack Discussion on BLIP-1

GoldenBit0 commented 2 years ago

Core Dev Update 6/13:

mehranshakeri commented 2 years ago

Core Dev Update 6/13:

  • @mehranshakeri please provide an update on BLIP1.
  • Will reserve time during 6/27 Core Devs call for updates from group, and at next GA.

Unfortunately we didn't have capacity to continue with this topic from our side and I've not received any updates from others yet. I will ping slack again.

GoldenBit0 commented 2 years ago

6/27/22 Core Devs:

GoldenBit0 commented 2 years ago

7/11/22 Core Devs:

GoldenBit0 commented 2 years ago

7/25/22 Core Devs:

GoldenBit0 commented 2 years ago

8/25/22

GoldenBit0 commented 1 year ago

9/19/22 Core Devs:

GoldenBit0 commented 1 year ago

10/31/22 Core Devs:

GoldenBit0 commented 1 year ago

12/12/22 Core Devs:

GoldenBit0 commented 1 year ago

1/9/23 Core Devs:

GoldenBit0 commented 1 year ago

2/6/23:

GoldenBit0 commented 1 year ago

2/20/23: