[Blockchain-interop] Summary Notes from IETF Blockchain Gateway Interop meeting (13 April 2021)

Thomas Hardjono <hardjono@mit.edu> Wed, 14 April 2021 13:53 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 7D70A3A0AE2 for <blockchain-interop@ietfa.amsl.com>; Wed, 14 Apr 2021 06:53:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.918
X-Spam-Level:
X-Spam-Status: No, score=-1.918 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=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 18xBcx7wzAMr for <blockchain-interop@ietfa.amsl.com>; Wed, 14 Apr 2021 06:53:29 -0700 (PDT)
Received: from outgoing-exchange-5.mit.edu (outgoing-exchange-5.mit.edu [18.9.28.59]) (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 A09B53A0ADD for <blockchain-interop@ietf.org>; Wed, 14 Apr 2021 06:53:29 -0700 (PDT)
Received: from w92exedge3.exchange.mit.edu (W92EXEDGE3.EXCHANGE.MIT.EDU [18.7.73.15]) by outgoing-exchange-5.mit.edu (8.14.7/8.12.4) with ESMTP id 13EDrHM4008114 for <blockchain-interop@ietf.org>; Wed, 14 Apr 2021 09:53:27 -0400
Received: from oc11expo23.exchange.mit.edu (18.9.4.88) by w92exedge3.exchange.mit.edu (18.7.73.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 14 Apr 2021 09:52:57 -0400
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.1497.2; Wed, 14 Apr 2021 09:53:15 -0400
Received: from oc11expo23.exchange.mit.edu ([18.9.4.88]) by oc11expo23.exchange.mit.edu ([18.9.4.88]) with mapi id 15.00.1497.012; Wed, 14 Apr 2021 09:53:15 -0400
From: Thomas Hardjono <hardjono@mit.edu>
To: "blockchain-interop@ietf.org" <blockchain-interop@ietf.org>
Thread-Topic: Summary Notes from IETF Blockchain Gateway Interop meeting (13 April 2021)
Thread-Index: AQHXMRYmndjrXSUbk02XhnbgvHmEDw==
Date: Wed, 14 Apr 2021 13:53:15 +0000
Message-ID: <59e65dda6fe84241b80da1577310cbcf@oc11expo23.exchange.mit.edu>
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="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/blockchain-interop/um5I3YUdg5J-TDJQPXCvUdC-bfU>
Subject: [Blockchain-interop] Summary Notes from IETF Blockchain Gateway Interop meeting (13 April 2021)
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, 14 Apr 2021 13:53:34 -0000

Summary Notes from IETF Blockchain Gateway Interoperability group meeting

Date: Tuesday 13 April, 2021

(a) Attendees

Denis Avrilionis
John Robotham
Luke Riley
Martin Hargreaves
Mizan Chowdhury
Rafael Belchior 
Mike McBride
Gilbert Verdian
Thomas Hardjono
 

(b) IETF Note Well slide

-- This group meeting operates under IETF IP Rules as described in RFC5378 and RFC8179.


(c) Administrative notes:

-- Given that the majority of the regular attendees and draft contributors are based in the Northern Hemisphere, the group may consider having the APAC meetings every 3rd or 4th meeting.


(d) Escrow Types and Interfaces (Luke Riley):

-- Slides from Luke are available on the GitHub repo: https://github.com/CxSci/blockchain-gateway/blob/main/docs/slides/EscrowTypes.pdf

-- The question of escrow relates to several aspects of the asset transfer from the Originator Alice on blockchain/DLT B1 (via gateway G1) to the Beneficiary Bob on blockchain/DLT B2 (via gateway G2).

-- Part of the ODAP protocol is the need for the gateway G1 to temporarily lock or escrow the asset on B1 until either the protocol completes (successful transfer) or fails (escrow reverts back) due to some event (e.g. escrow-time expires, gateway crashes, etc).

-- Luke provided a good overview/discussion regarding the state-machine model for the Lock operation (e.g. issued by G1 on the asset).

-- Therese are summarized as follows:  Lock (Create) establishes the lock; Unlock (Claim) occurs when the recipient claims/retrieves the escrow (e.g. in hash-time lock with secrets); Unlock occurs due to cancellation or abort; Lock-Top-Up when the escrower (i.e. entity who locked the asset) adds additional assets atop the existing locked assets (e.g. in the case of fungible assets).

-- The high level categories of escrows can be understood along on three or four dimensions (time based, type of action, permission required). Slide 12 shows a categories-tree, where the leafs indicate the various technical constructs (e.g. multisig) that are available for use today.

-- Denis asked if the categories-tree cover both fungible and non-fungible assets. Luke explains that this question has another aspect to it, namely whether the blockchain/DLT is account-based or UTXO-based. The key difference is that in the account-based appraises escrow remains at the same state/location (even though state may change in the balance address), but in the case of UTXO there is a new address/state for the escrow. 

-- Slide 16 on-wards show a number of attributes that are relevant for the escrow interface. Some of these must be communicated between gateways G1 and G2 during the transfer-setup negotiations (Phase 1). For example, the ExpiryTime value is an important parameter regarding B1 that G1 needs to communicate to G2 (so that G2 can estimate if it will have enough time to finish in the transfer).

-- Rafael noted that many of these attributes will also be needed for the Log for crash-recovery. For example, if gateway G2 crashes and self-heals then it will need to know these attributes that was provided by G1 in the Phase-1 of the ODAP protocol.

-- Rafael also noted the problem of the degree of trust accorded to the smart contracts that implement the escrow/lock. So far we have made the trust assumption that the gateway G1 and G2 are trusted and they they interact over a TLS session.  However, the gateways have no way to know whether a smart contract (in their own respective blockchains/DLTs) is implementing the escrow/lock correctly.  Denis also raises the question pertaining to the possibility that a smart contract may have other side-effects that the gateways are not able to verify.

-- Going forward, Thomas suggested that the work Luke is carrying out should be captured in an Informational RFC. An informational document on a "taxonomy of escrows/locks" would be useful for the IETF community broadly, since escrows and locks are very important technical constructs in blockchains/DLTs. Then for the ODAP protocol, an informed choice can be made (based on this taxonomy) for the subset of the escrows/locks to be used by ODAP.

-- The group will continue discussion on the escrow types and interfaces.


(e) Next meeting is Tuesday April 27 (US/UK/EU timezone).

------------------------------------