Re: [Sat] Version -02 of the SATP core protocol draft ---- FW: New Version Notification for draft-hargreaves-sat-core-02.txt

Denis Avrilionis <denis@compell.io> Sun, 12 March 2023 10:53 UTC

Return-Path: <denis@compell.io>
X-Original-To: sat@ietfa.amsl.com
Delivered-To: sat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9C91C1522C2 for <sat@ietfa.amsl.com>; Sun, 12 Mar 2023 03:53:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=compell.io
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pjH4sjM2cB2S for <sat@ietfa.amsl.com>; Sun, 12 Mar 2023 03:53:13 -0700 (PDT)
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DAFFFC151548 for <sat@ietf.org>; Sun, 12 Mar 2023 03:53:13 -0700 (PDT)
Received: by mail-wr1-x430.google.com with SMTP id r18so8841963wrx.1 for <sat@ietf.org>; Sun, 12 Mar 2023 03:53:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=compell.io; s=google; t=1678618391; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=X6tncksWiv4AiHE6peeh+sfnwe3f7PC2ZR8pWpvWpSA=; b=dOkmu4y2QYmfENGud4bkdSBWpsn1cDnOXpDnLfUcdyqYCPyjotBv01U/Gfj0BMnTMt oHYwEb4f7xBJfYnf8+1pmqgTtbp/msuF8f0TRVUCpdIRxOJFZgntZxwyjtT3Z4Za8SXF Ok1ZrhM1FBR1WftTdliyh8DDH5a6DGkdRDD5ReuMmpMfmKmsHHlUpc/ublVLsyr5QC3f e+PXJ5xXEA4SLnhJu3oCbS9BojI1+kj5FhemgqvxeX+fQj6dsE5c7E0juntowEf4QbZ9 AYBV2V5ucqOPUvYxB2BgEAr82+Y8M0NrMPcNLp69KQfVt9PNqIlB+TOhx5nwkUv+fBz4 zplg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678618391; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X6tncksWiv4AiHE6peeh+sfnwe3f7PC2ZR8pWpvWpSA=; b=VFjNdI+ju0IO/ClryN2xQOzB5c0CW1NwQtiagjfLyw8OYVGJuRAv+BejonGK6rVmn+ 2y1Ww59PJgTMdqNNDCcpCLwh7hdJdHaByNJ6vM/CTw8lOGbt4LY92+xpo1TVo0/5JhZ2 BgX8KdZBmjciTUMfrbLExVIAm8XhcoYHYoE7w3MdOzjbekDCKcLwdKGkH/Ub0iNPI5mb tSMIG28xMlMVmvrhSu0TVnWnaJA4mMzSu5W9wZmAGZtqUvhnMACNcRcguie+2SxuHube BILw+lHUeAMv3L5DfTxhPovRxrGypuTy6+nzVVYEUV31LZ1q8Vv61ejh9pYBxXBQWWdF ii/A==
X-Gm-Message-State: AO0yUKVO8LBJqrYxMXHnbqGnHgGhNkusyOQ17MZyzS1+bn+TdKwHH3Kg XO45dHbmRazJsiGzqvxgZF3xl2ZX1tQuRTEz63UE1w==
X-Google-Smtp-Source: AK7set+I0KZiRbhOfLiURlHQ7YuYHdmQkYWT3DukpHniEkKtJ9lgee/f3bVOOZI6byE8vxhg7xqMTQ==
X-Received: by 2002:a5d:6188:0:b0:2ce:ad32:5439 with SMTP id j8-20020a5d6188000000b002cead325439mr760012wru.21.1678618391132; Sun, 12 Mar 2023 03:53:11 -0700 (PDT)
Received: from smtpclient.apple (ppp005054242121.access.hol.gr. [5.54.242.121]) by smtp.gmail.com with ESMTPSA id g11-20020adffc8b000000b002c794495f6fsm4805966wrr.117.2023.03.12.03.53.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 Mar 2023 03:53:10 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
From: Denis Avrilionis <denis@compell.io>
In-Reply-To: <186368007b8641f4a6ec5a0470464b1a@oc11expo23.exchange.mit.edu>
Date: Sun, 12 Mar 2023 12:53:09 +0200
Cc: "sat@ietf.org" <sat@ietf.org>, Martin Hargreaves <martin.hargreaves@quant.network>, Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>, Claire Facer <Claire.Facer@quant.network>, Wes Hardaker <wjhns1@hardakers.net>
Content-Transfer-Encoding: quoted-printable
Message-Id: <5A829058-763B-4092-830D-253184447770@compell.io>
References: <2dddee52ac644f0aa082e6216282b335@oc11expo23.exchange.mit.edu> <E1D2FB88-93EC-46C0-B472-F4842386A455@compell.io> <186368007b8641f4a6ec5a0470464b1a@oc11expo23.exchange.mit.edu>
To: Thomas Hardjono <hardjono@mit.edu>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sat/fEqRyIBSDNaY5t_xBQed0oOngTA>
Subject: Re: [Sat] Version -02 of the SATP core protocol draft ---- FW: New Version Notification for draft-hargreaves-sat-core-02.txt
X-BeenThere: sat@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "The purpose of this mailing-list is to discuss the secure asset transfer \(SAT\) protocol and related aspects." <sat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sat>, <mailto:sat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sat/>
List-Post: <mailto:sat@ietf.org>
List-Help: <mailto:sat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sat>, <mailto:sat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 12 Mar 2023 10:53:17 -0000

> Some question:
> 
> (a) Is the contextID a common value shared only between an App and its gateway:  eg. contextID1 is shared between App1 and G1 (and contextID2 between App2 and G2).
> 
> or
> 
> (b) Is the contextID a common value known to all 4 parties (for one transfer instance there is one contextID known to App1, App2, G1 and G2).

IMO the contextID is unique for a specific transfer and encompasses the sessionID. It should be communicated to the network in order for the lock to be associated with the specific transfer of the specific Gateway (a reference to the contextID should be present inside the lock assertion). 

In a more general topic, we shall allow for implementations of “optimistic” locking for assets. Otherwise, the first gateway that locks an asset will hold the lock until SATP completes (commit or rollback). In other terms, this is a kind of pessimistic locking behaviour and in real-life cases, it would be very inefficient.  


> 
> 
> 
> One analogy that is well known to the IETF community is the Security Association (i.e. context at endpoints) using the IKE and IPsec protocols (for creating encrypted tunnels). 
> 
> In IPsec the endpoints (i.e. "VPN gateway") need to establish a Security Association (SA), which is separately negotiated using the IKE protocol. 
> 
> Part of the SA establishment is each side generating SPI values  (Security Parameter Index) for the tunnel.
> 
> Each VPN gateway then maintains their own SPI Database, which allows each endpoint to lookup in the database which key to apply to decrypt incoming traffic (encrypt outgoing traffic). There is a separate SPI for incoming traffic and for outgoing traffic.
> 
> 
> In a sense, what we are talking about here is a kind of "Transaction Association" (TA) between the endpoints (which is App2 and App2).
> 
> But this "Transaction Association" must be communicated down from the App to the gateway.

The concept of context is also largely used in distributed transaction processing aiming at synchronising different data repositories. 



> 
> 
> 
> --thomas
> 
> 
> 
> ________________________________________
> From: Denis Avrilionis [denis@compell.io]
> Sent: Sunday, March 12, 2023 3:41 AM
> To: Thomas Hardjono
> Cc: sat@ietf.org; Martin Hargreaves; Rafael Belchior; Claire Facer; Wes Hardaker
> Subject: Re: [Sat] Version -02 of the SATP core protocol draft ---- FW: New Version Notification for draft-hargreaves-sat-core-02.txt
> 
> Hi Thomas,
> 
> I proposed to present a message flow to cover the transfer context for our meeting 14 March.
> @claire @wes please tell me if I can have 10’ to present on Tuesday.
> 
> To my view the transaction context includes the session id so perhaps we can refer to a transaction context ID throughout the flow, that would be simpler than the couple <contextID, sessionID>
> 
> --
> Denis
> 
>> On 12 Mar 2023, at 00:46, Thomas Hardjono <hardjono@mit.edu> wrote:
>> 
>> 
>> 
>> Folks,
>> 
>> Attached below is the link to an update the core protocol draft.
>> 
>> 
>> (a) The major updates to the draft :
>> 
>> -- Uses the terms "Lock Assertion" and "Receipt" (instead of "Evidence").
>> 
>> -- Inclusion of an explicit "session_id" value in each message.
>> 
>> -- The addition of a new subsection on the Commit-Ready message (which previously was not in draft-01)
>> 
>> -- The message flows now matches our agreed flows in v16 of the color message-flow diagram PNG file (in our repo).
>> 
>> 
>> 
>> (b) What was not added as yet (but text may be needed):
>> 
>> The architecture draft-03 talks about a Context-ID, which is transfer-context information/parameter that App1 and App2 are assumed to have established in Stage 0 (which is out of scope for SATP). This occurs at the Application level/layer, before SATP gets kickstarted.
>> 
>> The idea is that the Context-ID value could be (should be) bound somehow to the session_id so that the Applications can always see the progress of a transfer occurring between the two gateways.
>> 
>> Because the App1 & App2 could have multiple independent transfers occurring simultaneously and some of those may be handled by the same pair of gateways G1 and G2, the combination of the <Context-ID, session_id> allows each transfer flow to be identifiable.
>> 
>> We need to discuss this more, I think.
>> 
>> 
>> 
>> Best
>> 
>> --thomas
>> 
>> 
>> ________________________________________
>> From: internet-drafts@ietf.org [internet-drafts@ietf.org]
>> Sent: Saturday, March 11, 2023 5:29 PM
>> To: Martin Hargreaves; Rafael Belchior; Thomas Hardjono
>> Subject: New Version Notification for draft-hargreaves-sat-core-02.txt
>> 
>> A new version of I-D, draft-hargreaves-sat-core-02.txt
>> has been successfully submitted by Thomas Hardjono and posted to the
>> IETF repository.
>> 
>> Name:           draft-hargreaves-sat-core
>> Revision:       02
>> Title:          Secure Asset Transfer Protocol (SATP)
>> Document date:  2023-03-11
>> Group:          Individual Submission
>> Pages:          29
>> URL:            https://www.ietf.org/archive/id/draft-hargreaves-sat-core-02.txt
>> Status:         https://datatracker.ietf.org/doc/draft-hargreaves-sat-core/
>> Htmlized:       https://datatracker.ietf.org/doc/html/draft-hargreaves-sat-core
>> Diff:           https://author-tools.ietf.org/iddiff?url2=draft-hargreaves-sat-core-02
>> 
>> Abstract:
>>  This memo This memo describes the Secure Asset Transfer (SAT)
>>  Protocol for digital assets.  SAT is a protocol operating between two
>>  gateways that conducts the transfer of a digital asset from one
>>  gateway to another.  The protocol establishes a secure channel
>>  between the endpoints and implements a 2-phase commit to ensure the
>>  properties of transfer atomicity, consistency, isolation and
>>  durability.
>> 
>> 
>> 
>> 
>> The IETF Secretariat
>> 
>> 
>> --
>> sat mailing list
>> sat@ietf.org
>> https://www.ietf.org/mailman/listinfo/sat