Re: [alto] alto Digest, Vol 92, Issue 27 - NEW

Stefan HOMMES <Stefan.Hommes@uni.lu> Thu, 14 July 2016 09:34 UTC

Return-Path: <Stefan.Hommes@uni.lu>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6F32C12DFFE; Thu, 14 Jul 2016 02:34:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.509
X-Spam-Level:
X-Spam-Status: No, score=-5.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287, SPF_HELO_PASS=-0.001, SPF_PASS=-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 UT9ABcUEoIUC; Thu, 14 Jul 2016 02:34:38 -0700 (PDT)
Received: from hercules.uni.lu (hercules.uni.lu [158.64.76.33]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05AA912DFF2; Thu, 14 Jul 2016 02:34:37 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.28,361,1464645600"; d="scan'208";a="94252033"
From: Stefan HOMMES <Stefan.Hommes@uni.lu>
To: "alto@ietf.org" <alto@ietf.org>, "ALTO for the blockchain (draft-hommes-alto-blockchain@ietf.org)" <draft-hommes-alto-blockchain@ietf.org>
Thread-Topic: alto Digest, Vol 92, Issue 27 - NEW
Thread-Index: AdHdsu611iknH6W1Rpq5DvoGa+nzcQ==
Date: Thu, 14 Jul 2016 09:34:35 +0000
Message-ID: <F8F5B448CE8B1B48BB53A5855ACEB05C1F4DCFD3@trip.uni.lux>
Accept-Language: de-DE, en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.91.2.49]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/hA9YKhns1KVoGEDr9makE_HtM6M>
Subject: Re: [alto] alto Digest, Vol 92, Issue 27 - NEW
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jul 2016 09:34:41 -0000

Dear Wendy,

thanks a lot for taking your time and providing us with the comments concerning our draft (draft-hommes-alto-blockchain-01). Here my comments in line:

----------
Section 4, second & third paragraphs:

If I read these correctly, the 2nd paragraph says that an ALTO server can give a new blockchain client a set of existing peers, so the new client can bootstrap itself. Then the 3d paragraph says that is a bad idea, because it centralizes trust in the ALTO server, and hence "the use of ALTO should be reduced to a role of guidance on what peers to select".

However, unless I missed it, an ALTO server simply cannot provide a new blockchain client with set of existing peers to use to bootstrap itself. A new peer must obtain that list from somewhere else. All an ALTO server can do is advise the client about the costs of communicating with that set.

So it seem like the 2nd paragraph suggests doing something which ALTO cannot, and then the 3d paragraph goes on to say that's a bad idea.

If that is the case, then what is the point of those two paragraphs? So I suggest deleting the 2nd paragraph and the first part of the third paragraph.

[Stefan]: A good point, it is not clearly stated. If I understood correctly, there are basically two possible ways: 1) ALTO is calculating the cost to reach peers by providing ALTO a list of potential peers, and 2) ALTO has the knowledge about the peers since it is connected to a resource directory, which contains all list of available peers. In the second case, if I understood correctly, ALTO could be used to bootstrap a blockchain peer by providing the peer with the address of an ALTO server. The ALTO server could then afterwards propose the best peer(s) by requesting them from the resource directory. Correct?

Section 5:

"approximately every 10 seconds a new block is added"

Not quite! It's really every 10 minutes. If you're lucky, that is. The distribution has a long tail.

[Stefan]: Yes, it should be minutes instead of seconds.


Section 5, 4th paragraph:

That paragraph implies that an ALTO server tells a client about the relay network. I believe that is misleading. An ALTO server can certainly give the client the costs to/from the peers in the relay network, but the client must determine the peers in the relay network for itself.

Perhaps you mean that a peer could look at the ALTO server's full cost map, including the costs between all the blockchain peers known to the client, and infer the "relay network" from that? E.g, if nodes 1-6 are known to be blockchain peers, and if the costs between nodes 1, 2 and 3 are much lower than the costs between the other peers, then the client could infer that 1,2,3 are better connected and it will get faster results if it connects to them rather than 4, 5 or 6. If so, then please say that instead.

[Stefan]: I think this can be solved in a similar way as described in the previous section.

Section 5, last paragraph:

"ALTO could further be used to exchange information with the DNS seeds, or filtering their response of peers by adding other relevant information obtained by its global view on the network."

Could you explain that in more detail, and/or give an example of how an ALTO server would do that?

[Stefan]: I will better describe this part. But my idea was that ALTO could give a recommendation to a peer after it has received a potential list of peers from the DNS server.

Section 6:

"This requires that the ALTO server is aware of the different roles and which metrics need to be applied for each role."

I disagree with that sentence as phrased: I believe an ALTO server does not, and should not, know the client's role.

What I think you are getting at is that different clients need different cost metrics. For example, a miner is concerned with delay, and would want a cost metric that reflects delay.

So I suggest rephrasing to say that a blockchain-friendly ALTO server should provide several different cost metrics, tuned to the different roles clients play, so that a client can select the appropriate metric for that client's role.

As it stands now it, that section implies that an ALTO server knows the client's role and automatically selects the appropriate cost metric. I disagree with that.

[Stefan]: In case that the ALTO server has no knowledge about the available peers, I agree that the peer should propose in the request which metric that needs to be applied, and ALTO requires no knowledge about the different roles. But when ALTO has a resource directory that contains all potential nodes, I believe it would make sense to give ALTO the information about what peer is belonging to each role in order to give a proper recommondation. 
 
------------------------

Kind Regards,
Stefan



-----Original Message-----
From: alto [mailto:alto-bounces@ietf.org] On Behalf Of alto-request@ietf.org
Sent: 12 July 2016 11:25
To: alto@ietf.org
Subject: alto Digest, Vol 92, Issue 27

Send alto mailing list submissions to
	alto@ietf.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://www.ietf.org/mailman/listinfo/alto
or, via email, send a message with subject or body 'help' to
	alto-request@ietf.org

You can reach the person managing the list at
	alto-owner@ietf.org

When replying, please edit your Subject line so it is more specific than "Re: Contents of alto digest..."


Today's Topics:

   1. Draft: Alto for the blockchain (Wendy Roome)
   2. my email address (Jan Seedorf)
   3. Re: Draft: Alto for the blockchain (Stefan HOMMES)
   4. Re: Draft: Alto for the blockchain (Stefan HOMMES)


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

Message: 1
Date: Mon, 11 Jul 2016 15:55:52 -0400
From: Wendy Roome <wendy.roome@nokia-bell-labs.com>
To: IETF ALTO <alto@ietf.org>
Subject: [alto] Draft: Alto for the blockchain
Message-ID: <D3A97208.7D4ECB%w.roome@alcatel-lucent.com>
Content-Type: text/plain;	charset="US-ASCII"

Comments on ALTO for the blockchain, draft-hommes-alto-blockchain-01:


Section 4, second & third paragraphs:

If I read these correctly, the 2nd paragraph says that an ALTO server can give a new blockchain client a set of existing peers, so the new client can bootstrap itself. Then the 3d paragraph says that is a bad idea, because it centralizes trust in the ALTO server, and hence "the use of ALTO should be reduced to a role of guidance on what peers to select".

However, unless I missed it, an ALTO server simply cannot provide a new blockchain client with set of existing peers to use to bootstrap itself. A new peer must obtain that list from somewhere else. All an ALTO server can do is advise the client about the costs of communicating with that set.

So it seem like the 2nd paragraph suggests doing something which ALTO cannot, and then the 3d paragraph goes on to say that's a bad idea.

If that is the case, then what is the point of those two paragraphs? So I suggest deleting the 2nd paragraph and the first part of the third paragraph.


Section 5:

"approximately every 10 seconds a new block is added"

Not quite! It's really every 10 minutes. If you're lucky, that is. The distribution has a long tail.


Section 5, 4th paragraph:

That paragraph implies that an ALTO server tells a client about the relay network. I believe that is misleading. An ALTO server can certainly give the client the costs to/from the peers in the relay network, but the client must determine the peers in the relay network for itself.

Perhaps you mean that a peer could look at the ALTO server's full cost map, including the costs between all the blockchain peers known to the client, and infer the "relay network" from that? E.g, if nodes 1-6 are known to be blockchain peers, and if the costs between nodes 1, 2 and 3 are much lower than the costs between the other peers, then the client could infer that 1,2,3 are better connected and it will get faster results if it connects to them rather than 4, 5 or 6. If so, then please say that instead.


Section 5, last paragraph:

"ALTO could further be used to exchange information with the DNS seeds, or filtering their response of peers by adding other relevant information obtained by its global view on the network."

Could you explain that in more detail, and/or give an example of how an ALTO server would do that?


Section 6:

"This requires that the ALTO server is aware of the different roles and which metrics need to be applied for each role."

I disagree with that sentence as phrased: I believe an ALTO server does not, and should not, know the client's role.

What I think you are getting at is that different clients need different cost metrics. For example, a miner is concerned with delay, and would want a cost metric that reflects delay.

So I suggest rephrasing to say that a blockchain-friendly ALTO server should provide several different cost metrics, tuned to the different roles clients play, so that a client can select the appropriate metric for that client's role.

As it stands now it, that section implies that an ALTO server knows the client's role and automatically selects the appropriate cost metric. I disagree with that.

	- Wendy Roome