/ c0 / 0a3268d07154df38064c893ad0e348d69745a8
0a3268d07154df38064c893ad0e348d69745a8
  1  Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
  2  	helo=mx.sourceforge.net)
  3  	by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
  4  	(envelope-from <mark@monetize.io>) id 1UeeEn-0003wT-PG
  5  	for bitcoin-development@lists.sourceforge.net;
  6  	Tue, 21 May 2013 04:31:49 +0000
  7  Received: from mail-pa0-f49.google.com ([209.85.220.49])
  8  	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
  9  	(Exim 4.76) id 1UeeEk-0000mO-G5
 10  	for bitcoin-development@lists.sourceforge.net;
 11  	Tue, 21 May 2013 04:31:49 +0000
 12  Received: by mail-pa0-f49.google.com with SMTP id bi5so290733pad.36
 13  	for <bitcoin-development@lists.sourceforge.net>;
 14  	Mon, 20 May 2013 21:31:40 -0700 (PDT)
 15  X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 16  	d=google.com; s=20120113;
 17  	h=message-id:date:from:organization:user-agent:mime-version:to:cc
 18  	:subject:references:in-reply-to:content-type
 19  	:content-transfer-encoding:x-gm-message-state;
 20  	bh=HXTXLOlnoeRg2NzwJq5C/sFFjy/5zoDnFoL2DSEb2O4=;
 21  	b=WPlHspAT4C5mRfHaBahiiytQAddQeEf20JATazKbGNydk+g2pA5gKoU2S+YFDZjaWp
 22  	DZoUXhVtj9CrmNVbWJmUl1eeugfNi304Z5MaXmY+Xh9AeYZdCcN1mbh4gKCngZy29dXI
 23  	tiKSPfx605AXSO1oSqMa9XJcZzoUeIjN+6kuFrKr/LmEuZYa1N61bnCWd9k5ibtaJY7x
 24  	gu8hrTVlo7uWDz8JZYOK2kj3sXco7on7Re7igFKQxxnolRMho4SWfoEIYgzd9+moTeeC
 25  	6svCBmmfyRer2Me9IbxX3lfyeTsOwlmzeHHFp5zRa5pffKsAUiPowH+wCEpAVnqpV+ZI
 26  	BjOQ==
 27  X-Received: by 10.67.2.33 with SMTP id bl1mr1219297pad.26.1369108846896;
 28  	Mon, 20 May 2013 21:00:46 -0700 (PDT)
 29  Received: from phobos.local (50-0-36-146.dsl.dynamic.sonic.net. [50.0.36.146])
 30  	by mx.google.com with ESMTPSA id
 31  	fp2sm852006pbb.36.2013.05.20.21.00.45 for <multiple recipients>
 32  	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 33  	Mon, 20 May 2013 21:00:46 -0700 (PDT)
 34  Message-ID: <519AF16C.3040005@monetize.io>
 35  Date: Mon, 20 May 2013 21:00:44 -0700
 36  From: Mark Friedenbach <mark@monetize.io>
 37  Organization: Monetize.io Inc.
 38  User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8;
 39  	rv:17.0) Gecko/20130509 Thunderbird/17.0.6
 40  MIME-Version: 1.0
 41  To: Jeff Garzik <jgarzik@exmulti.com>
 42  References: <519AB8EB.5000103@monetize.io>
 43  	<CA+8xBpeUOsZq=3jP7GMJgnxH1Vh9GmPydzXWuScCjDyVUf2YVg@mail.gmail.com>
 44  In-Reply-To: <CA+8xBpeUOsZq=3jP7GMJgnxH1Vh9GmPydzXWuScCjDyVUf2YVg@mail.gmail.com>
 45  Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 46  Content-Transfer-Encoding: 7bit
 47  X-Gm-Message-State: ALoCoQnt/O5tWp2AlRCeJVFRfmMAX1v4lM1neoZ5i+0f2AJP/5nDdOa0CThcOQJ2v/e0WIiYMGMq
 48  X-Spam-Score: 0.0 (/)
 49  X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
 50  	See http://spamassassin.org/tag/ for more details.
 51  X-Headers-End: 1UeeEk-0000mO-G5
 52  Cc: bitcoin-development@lists.sourceforge.net
 53  Subject: Re: [Bitcoin-development] UUID to identify chains (payment protocol
 54   and elsewhere)
 55  X-BeenThere: bitcoin-development@lists.sourceforge.net
 56  X-Mailman-Version: 2.1.9
 57  Precedence: list
 58  List-Id: <bitcoin-development.lists.sourceforge.net>
 59  List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
 60  	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
 61  List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
 62  List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
 63  List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
 64  List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
 65  	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
 66  X-List-Received-Date: Tue, 21 May 2013 04:31:50 -0000
 67  
 68  This was meant to go to everyone:
 69  
 70  On 5/20/13 7:45 PM, Jeff Garzik wrote:
 71  > On Mon, May 20, 2013 at 7:59 PM, Mark Friedenbach <mark@monetize.io> wrote:
 72  >> So as to remain reasonably compliant with RFC 4122, I recommend that we
 73  >> use Version 4 (random) UUIDs, with the random bits extracted from the
 74  >> double-SHA256 hash of the genesis block of the chain. (For colored
 75  >> coins, the colored coin definition transaction would be used instead,
 76  >> but I will address that in a separate proposal and will say just one
 77  >> thing about it: adopting this method for identifying chains/coins will
 78  >> greatly assist in adopting the payment protocol to colored coins.)
 79  > This proposal seems closer to Version 5 than Version 4, in spirit.
 80  > But given that useful content may be deduced from UUID, it is not
 81  > truly applicable to either.  A bitcoin-specific version 6, if you
 82  > will.
 83  That is true, and perhaps we have enough clout to push an RFC specifying 
 84  a double-SHA256 Version 6, or at least get it reserved. I proposed 
 85  Version 4 (random) because any UUID library should allow you to specify 
 86  the 122 supposedly random bits of that version, whereas conceivably 
 87  there might exist UUID libraries that require a SHA1 pre-image to create 
 88  a Version 5 UUID (I know of no examples though). Regardless, making an 
 89  official double-SHA256 UUID version RFC is an option worth considering.
 90  > And some example chain identifiers:
 91  >
 92  >       mainnet:  UUID('6fe28c0a-b6f1-4372-81a6-a246ae63f74f')
 93  >       testnet3: UUID('43497fd7-f826-4571-88f4-a30fd9cec3ae')
 94  >       namecoin: UUID('70c7a9f0-a2fb-4d48-a635-a70d5b157c80')
 95  > Note that, as this example unintentionally implies, humans are going
 96  > to want a side-by-side mapping /anyway/, just to make it readable and
 97  > usable to humans.
 98  >
 99  > Almost all useful multi-chain software will require a readable
100  > shortname string anyway, the thing this proposal wishes to avoid.
101  I think there are perhaps two issues being conflated here (and in Mike's 
102  response): the UI identifying the network/coin to the user, and the 
103  matching of the protocol-supplied value to the underlying network/coin 
104  by the client/daemon. The former necessarily involves manual adjustments 
105  (e.g, localization), but it's preferable for the latter to be a 
106  self-validating reference to the block chain. This is a trivial 
107  difference for multi-chain wallets (what are you doing receiving 
108  requests for coins in chains you don't know about?), but is important 
109  for colored coins. Let me explain:
110  
111  I will be proposing soon a colored coin architecture that allows 
112  issuance of new coins by anyone for a fee, by means of a special 
113  category of transaction. The hash of that issuing transaction would then 
114  be used to generate a UUID identifying the asset for the payment 
115  protocol and other purposes as well, analogous to how the hash of the 
116  genesis block identifies the host currency, bitcoin. It is expected that 
117  there will be many such coins issued, as they can be used to represent 
118  individual loans or lines of credit. In this context, any colored-coin 
119  aware client could scan the block chain (or lookup a maintained index) 
120  to discover the UUID -> coin mapping with absolute certainty. However 
121  the mechanism for mapping the text "mtgoxUSD" to a specific coin is not 
122  clear, and using some sort of DNS-resolution system adds huge external 
123  dependencies. IMHO it is much better to have the identifier derived from 
124  block chain data directly (and therefore accessible and trusted by all 
125  nodes), and then carry out optional UI mappings like UUID(...) -> 
126  "mtgoxUSD" at a higher level.
127  
128  Does that make sense?
129  
130