Re: [Blockchain-interop] Charter discussion

Thomas Hardjono <hardjono@mit.edu> Wed, 06 January 2021 19:13 UTC

Return-Path: <hardjono@mit.edu>
X-Original-To: blockchain-interop@ietfa.amsl.com
Delivered-To: blockchain-interop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EB8983A113B; Wed, 6 Jan 2021 11:13:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7RroB5wEtd6N; Wed, 6 Jan 2021 11:13:00 -0800 (PST)
Received: from outgoing-exchange-3.mit.edu (outgoing-exchange-3.mit.edu [18.9.28.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9C7923A1195; Wed, 6 Jan 2021 11:12:47 -0800 (PST)
Received: from oc11exedge2.exchange.mit.edu (OC11EXEDGE2.EXCHANGE.MIT.EDU [18.9.3.18]) by outgoing-exchange-3.mit.edu (8.14.7/8.12.4) with ESMTP id 106JCb6Q030788; Wed, 6 Jan 2021 14:12:45 -0500
Received: from oc11expo23.exchange.mit.edu (18.9.4.88) by oc11exedge2.exchange.mit.edu (18.9.3.18) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Wed, 6 Jan 2021 14:12:04 -0500
Received: from oc11expo23.exchange.mit.edu (18.9.4.88) by oc11expo23.exchange.mit.edu (18.9.4.88) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Wed, 6 Jan 2021 14:12:14 -0500
Received: from oc11expo23.exchange.mit.edu ([18.9.4.88]) by oc11expo23.exchange.mit.edu ([18.9.4.88]) with mapi id 15.00.1365.000; Wed, 6 Jan 2021 14:12:14 -0500
From: Thomas Hardjono <hardjono@mit.edu>
To: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>, Miguel Correia <miguel.p.correia=40tecnico.ulisboa.pt@dmarc.ietf.org>
CC: "blockchain-interop@ietf.org" <blockchain-interop@ietf.org>
Thread-Topic: [Blockchain-interop] Charter discussion
Thread-Index: AQHW5DiJgEdTs1A2i0iiXZJt4RTSmKobOXGAgAAFMQD//7aQXQ==
Date: Wed, 6 Jan 2021 19:12:14 +0000
Message-ID: <0a6e40eea30742a8a7ee34c438aa3a7a@oc11expo23.exchange.mit.edu>
References: <46def6cd65464d6d9ea70d5148e9a60b@oc11expo23.exchange.mit.edu> <6256E0A9-0CC6-497A-AE9D-A991512A0FBD@tecnico.ulisboa.pt>, <21e28675f4c099adb3358a342c0d5266@tecnico.ulisboa.pt>
In-Reply-To: <21e28675f4c099adb3358a342c0d5266@tecnico.ulisboa.pt>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [73.167.220.69]
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/blockchain-interop/jZ6cUPM6fOdm6SkxxfNfChqZi8g>
Subject: Re: [Blockchain-interop] Charter discussion
X-BeenThere: blockchain-interop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Blockchain Gateway Interoperability Protocol <blockchain-interop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/blockchain-interop>, <mailto:blockchain-interop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/blockchain-interop/>
List-Post: <mailto:blockchain-interop@ietf.org>
List-Help: <mailto:blockchain-interop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/blockchain-interop>, <mailto:blockchain-interop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Jan 2021 19:13:02 -0000

Thanks  Miguel,

> - Should we include the draft-belchior-… in the list of drafts?

I agree with Rafael, having a crash-recovery draft is important -- particularly defining (a) how a self-healing gateway can pick-up from the crash point, and (b) defining standard REST APIs for the log-storage.


> - When you mention TLS, does it make sense to mention also OpenID
> Connect?

Probably not, because identity management is out of scope.  I think we are assuming that Clients will be wielding some kind of authorization-token (e.g. OAuth2.0; id_token in OIDC) when accessing APIs at the gateway.

> Rafael:
> If we state that we are using 2PC OR 3PC it would be
> good to state why - in particular, 3PC might make sense in a scenario
> with more than 2 gateways

Good point.  Right now the basic building block is a unidirectional 1-to-1 (no splitting of assets), so 2PC should be enough.

If we design the ODAP protocol correctly, it should permit unidirectional 1-to-N splitting (i.e. involving multiple receiver gateways). In this case, we will need 3PC.


-- thomas --


________________________________________
From: Rafael Belchior [rafael.belchior@tecnico.ulisboa.pt]
Sent: Wednesday, January 6, 2021 1:27 PM
To: Miguel Correia
Cc: Thomas Hardjono; Ned Smith (ned.smith@intel.com); blockchain-interop@ietf.org; Martin Hargreaves
Subject: Re: [Blockchain-interop] Charter discussion

Hello All,

Generally, LGTM. If we state that we are using 2PC OR 3PC it would be
good to state why - in particular, 3PC might make sense in a scenario
with more than 2 gateways and more than 1 asset transfer, because it
handles coordinator crashes.

Regarding the draft on crash recovery, this draft not only shows a
format for logs that can also be applied to the messaging flow but
depicts the whole gateway recovery protocol. I believe it is a critical
component accounting for the gateways' robustness, and thus should be
included.

Cheers,
Rafael

A 2021-01-06 18:09, Miguel Correia escreveu:
> Hi,
>
> The proposal is fully inline with what we have been discussing, so I
> fully agree.
>
> A few details:

> - Should we include the draft-belchior-… in the list of drafts?
> - When you mention TLS, does it make sense to mention also OpenID
> Connect?
> - When you say "on the classic 2-Phase Commit (2PC or 3PC) design”, we
> could generalize a bit to “on an atomic commit protocol (e.g., 2PC)”

I believe that if we specify

>
> Best,
> Miguel
>
>
>> On 6 Jan 2021, at 14:39, Thomas Hardjono <hardjono@mit.edu> wrote:
>>
>>
>> Folks,
>>
>> It would be great if we could start a Charter discussion so that we
>> can have a draft charter going into IETF110 in the first week of
>> March.
>>
>> Below is a draft text that is basically taken from our slides at the
>> previous IETF109 SecDispatch.
>>
>> https://datatracker.ietf.org/meeting/109/materials/slides-109-secdispatch-draft-hardjono-blockchain-interop-arch-00
>>
>> The charter needs to be tight enough that we can deliver within time
>> (e.g. deliver the 3 drafts by end of 2021).
>>
>> Looking for your inputs.
>>
>> ---------------------------
>>
>> Proposed name:  DLT Gateway Protocol (DGP)
>>
>> The goal of DGP is to develop a gateway-to-gateway protocol for
>> virtual asset transfers between distributed ledger technology (DLT)
>> systems.
>>
>> The gateway protocol must support the unidirectional secure transfer
>> of  the digital representation of an asset between two gateways
>> fronting DLTs, satisfying requirements of atomicity and
>> non-repudiation, and agnostic to the higher-layer economic value of
>> the asset. It must support cases where one or both DLT systems behind
>> the gateways are private (where the interior resources are not
>> externally accessible). Additionally, APIs defined must support cases
>> where one gateway is fronting a Legacy system.
>>
>> The gateway protocol must satisfy the well-known ACID properties.
>> Atomicity: a transfer must either commit or entirely fail (failure
>> means no change to asset ownership). Consistency: a transfer (commit
>> or fail) must always result in the asset located in one DLT only.
>> Isolation: while a transfer is occurring, the asset ownership cannot
>> be modified (no double-spend). Durability: once a transfer is
>> committed, it must remain so regardless of subsequent gateway crashes.
>>
>> The gateway protocol will be based on the classic 2-Phase Commit (2PC
>> or 3PC) design.  The interaction channel between the APIs endpoints at
>> the gateways is assumed to be protected using TLS1.2 (TLS1.3).
>>
>> Proposed Deliverables (2021):
>> -- Architecture document
>> -- Gateway protocol document defining APIs and endpoint definitions
>> (ODAP)
>> -- Use-cases & Requirements document
>>
>> Optional:
>> -- Asset Profile JSON specification
>> -- Log-metadata JSON specification (crash recovery)
>>
>> Existing drafts:
>> -- draft-hardjono-blockchain-interop-arch-01
>> -- draft-hargreaves-odap-01
>> -- draft-sardon-blockchain-gateways-usecases-00
>> -- draft-sardon-blockchain-interop-asset-profile-00
>>
>>
>> Out of scope:
>> -- Blockchains and DLT systems
>> -- Consensus & BFT protocols, PoW, PoS, etc.
>> -- Cryptocurrencies, tokenization, etc.
>> -- Incentive mechanisms, economic models; etc.
>> -- Zero-knowledge proof (ZKP) protocols
>> -- Authentication & Authorization protocols
>> -- Concurrency control algorithms
>> -- Identity management & privacy, etc. etc.
>>
>>
>> ---------------------------
>>
>>
>> Best
>>
>>
>> -- thomas --
>>
>>
>> --
>> Blockchain-interop mailing list
>> Blockchain-interop@ietf.org
>> https://www.ietf.org/mailman/listinfo/blockchain-interop

--
Rafael Belchior
Ph.D. student in Computer Science and Engineering, Blockchain - Técnico
Lisboa
https://rafaelapb.github.io/
https://www.linkedin.com/in/rafaelpbelchior/