summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamian Williamson <willtech@live.com.au>2018-09-25 21:55:49 +0000
committerbitcoindev <bitcoindev@gnusha.org>2018-09-25 21:55:55 +0000
commitfd172f9e06b3d49588f5a948904a6378d1888fd5 (patch)
treed254df114d234a6f6e357ae7a11b9a1208bbdd15
parenta255421c1b74220f3812e8ef9e001f5e28b551a0 (diff)
downloadpi-bitcoindev-fd172f9e06b3d49588f5a948904a6378d1888fd5.tar.gz
pi-bitcoindev-fd172f9e06b3d49588f5a948904a6378d1888fd5.zip
Re: [bitcoin-dev] [bitcoin-discuss] Proposal to replace full blockchain with recent history plus UTXO Set
-rw-r--r--93/3482474bce866414a089c5e8a4b6635e3703e1339
1 files changed, 339 insertions, 0 deletions
diff --git a/93/3482474bce866414a089c5e8a4b6635e3703e1 b/93/3482474bce866414a089c5e8a4b6635e3703e1
new file mode 100644
index 000000000..72d099467
--- /dev/null
+++ b/93/3482474bce866414a089c5e8a4b6635e3703e1
@@ -0,0 +1,339 @@
+Return-Path: <willtech@live.com.au>
+Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
+ [172.17.192.35])
+ by mail.linuxfoundation.org (Postfix) with ESMTPS id 652A5114E
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 25 Sep 2018 21:55:55 +0000 (UTC)
+X-Greylist: whitelisted by SQLgrey-1.7.6
+Received: from APC01-PU1-obe.outbound.protection.outlook.com
+ (mail-oln040092254060.outbound.protection.outlook.com [40.92.254.60])
+ by smtp1.linuxfoundation.org (Postfix) with ESMTPS id B936C79F
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 25 Sep 2018 21:55:52 +0000 (UTC)
+Received: from SG2APC01FT007.eop-APC01.prod.protection.outlook.com
+ (10.152.250.58) by SG2APC01HT049.eop-APC01.prod.protection.outlook.com
+ (10.152.250.250) with Microsoft SMTP Server (version=TLS1_2,
+ cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.1185.13;
+ Tue, 25 Sep 2018 21:55:49 +0000
+Received: from PS2P216MB0179.KORP216.PROD.OUTLOOK.COM (10.152.250.55) by
+ SG2APC01FT007.mail.protection.outlook.com (10.152.250.84) with
+ Microsoft SMTP Server (version=TLS1_2,
+ cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id
+ 15.20.1185.13 via Frontend Transport; Tue, 25 Sep 2018 21:55:49 +0000
+Received: from PS2P216MB0179.KORP216.PROD.OUTLOOK.COM
+ ([fe80::6591:4009:39aa:1a22]) by PS2P216MB0179.KORP216.PROD.OUTLOOK.COM
+ ([fe80::6591:4009:39aa:1a22%9]) with mapi id 15.20.1164.024;
+ Tue, 25 Sep 2018 21:55:49 +0000
+From: Damian Williamson <willtech@live.com.au>
+To: Dave Scotese <dscotese@litmocracy.com>,
+ "bitcoin-dev@lists.linuxfoundation.org"
+ <bitcoin-dev@lists.linuxfoundation.org>
+Thread-Topic: [bitcoin-discuss] Proposal to replace full blockchain with
+ recent history plus UTXO Set
+Thread-Index: AQHUVOcOYgg0zCES50SnHptSoISXV6UBiRCQ
+Date: Tue, 25 Sep 2018 21:55:49 +0000
+Message-ID: <PS2P216MB01795F6E52A18C73E20E9D5A9D160@PS2P216MB0179.KORP216.PROD.OUTLOOK.COM>
+References: <CAGLBAheT0DB4Aid01vqdkwGJ6U=Fn8A4TU+XKrC=PygdXyvJjg@mail.gmail.com>,
+ <CAGLBAhcvf6o0J4us3=d0LMmcO_AyZZZtVbsaST9Scth6yX+eSQ@mail.gmail.com>
+In-Reply-To: <CAGLBAhcvf6o0J4us3=d0LMmcO_AyZZZtVbsaST9Scth6yX+eSQ@mail.gmail.com>
+Accept-Language: en-AU, en-US
+Content-Language: en-AU
+X-MS-Has-Attach:
+X-MS-TNEF-Correlator:
+x-incomingtopheadermarker: OriginalChecksum:6DD415203F223C9333B356786D604C9BD0324266C22EF421E5F2A00AA1F8D582;
+ UpperCasedChecksum:E4D1C45E62C0B75C7F3E982B2DC406788650C7A4B7A7373E5DA27290C085A3C5;
+ SizeAsReceived:7297; Count:46
+x-ms-exchange-messagesentrepresentingtype: 1
+x-tmn: [yjBLg1k5EHewB/E3ycaOc4pUFPrVvDPe]
+x-ms-publictraffictype: Email
+x-microsoft-exchange-diagnostics: 1; SG2APC01HT049;
+ 6:UoACer4ZpCVg0ryi+ah/HVY+Do421QmtSRXt6EdDT4FBvzpufB3JhRbTl3sYitzDbq1UgQlaCaiiGGzEAXt4SsEX0lqXgx4nOn1K6DM6djwdjlL111t0LEFJHQ+9jS+vgHJz/aTLMY1EfRnn7DyxECJRxMQ43hu6K4nB16NDZXplA1Ntg3EQf7jbG6QJPxMCiClkfoS+G/VI86ovYkDnBQf4pYXc7GsasxqeZaDZ42ZIDh+BUyYw9+WSzBXpmontPXA0SJEuSCciOaTdyXwDYwIC+ffviEx7ajIwhgSg+63GlUNcHjs/EcR/nJlDhZzhCnI21LhQXFOLyH4YNoJhVNcFS25I8FW+GS7qAXvvkpW/W/1qZON54LkHPS83p4Gjh0auffqGiIzQd/cXfhehTVSweKuNoJd+YiUFojE43fZskWC7pMvwPy0ay4HYMnjiaDm1Ah93VioLAqNAKXiC2w==;
+ 5:TAzW5RweaLFNP63ekNIjo0mYJAUb1u+8EqWUipsINoO8sd9CW8YulOTvnIvuGy9hCzXZvDG9jYcv9+JHScu9C4lw1jIT3emPKpoF1S9yMMRnA8DXDf6ZNU5WzwX6g9yjERmM29hBxY2E7q1wdM0CmrgGidjy23lXY1/xnpGvVNE=;
+ 7:UG/W1czoefFQnrRholw0dJIBizGPuCVjwsCggY8yV/48c5aenJgV9Bdm9+WLKNm/x4PWfP799JvBrRyq17Vv2Va51+EwJtCzY8heXFmfcpK/55CY+hluuIOVn+WAibzrZc1vVCOCKMBkFi4qjJd0brwsFUwenvtH7JxZ42dKEG7t2rEAI2B0ntBt1n7FTkkVeS9qEb716V3Zh+kjNW8ALdgav+GbY4FZ1qLH7WORsTsp77Bs8ZWv/w1IFa4DwnQ4
+x-incomingheadercount: 46
+x-eopattributedmessage: 0
+x-microsoft-antispam: BCL:0; PCL:0;
+ RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101475)(1601125500)(1701031045);
+ SRVR:SG2APC01HT049;
+x-ms-traffictypediagnostic: SG2APC01HT049:
+x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(4566010)(82015058);
+ SRVR:SG2APC01HT049; BCL:0; PCL:0; RULEID:; SRVR:SG2APC01HT049;
+x-forefront-prvs: 08062C429B
+x-forefront-antispam-report: SFV:NSPM;
+ SFS:(7070007)(52314003)(199004)(189003)(5250100002)(2501003)(9686003)(74482002)(236005)(6306002)(68736007)(54896002)(561944003)(551934003)(110136005)(14454004)(8936002)(6606003)(26005)(53386004)(6246003)(6346003)(33656002)(97736004)(66574007)(19627405001)(81156014)(606006)(55016002)(82202002)(102836004)(53546011)(25786009)(6506007)(53376002)(7696005)(229853002)(76176011)(7066003)(99286004)(5660300001)(71190400001)(34290500001)(71200400001)(14971765001)(966005)(56003)(256004)(105586002)(2900100001)(14444005)(106356001)(104016004)(74316002)(11346002)(446003)(476003)(21615005)(6436002)(86362001)(575784001)(486006)(10126625002)(15519875005)(9944002);
+ DIR:OUT; SFP:1901; SCL:1; SRVR:SG2APC01HT049;
+ H:PS2P216MB0179.KORP216.PROD.OUTLOOK.COM; FPR:; SPF:None;
+ PTR:InfoNoRecords; A:1; MX:1;
+received-spf: None (protection.outlook.com: live.com.au does not designate
+ permitted sender hosts)
+authentication-results: spf=none (sender IP is )
+ smtp.mailfrom=willtech@live.com.au;
+x-microsoft-antispam-message-info: /FcJU6C2jyB/gOQ6ItzPRtJySnOKyE0nvM/c574am3aXA2ZlH7eoGP1hHfs6KfjwdSj6skRnEgOQowMeMJP0IAs8LJ4Oa8Go/i5USxSbYYJzi6CcvOf0qLO69VKqA/+tfB7oTBXcLDAAb5r1ns//jYNonR9l1t+h00nU+MWIQU8zpjI+lSjeEWSmte72xXBATWuH4vJiFN/eLVaM2w7W/eZuz5KEgSGDXeWH1um+bpk=
+Content-Type: multipart/alternative;
+ boundary="_000_PS2P216MB01795F6E52A18C73E20E9D5A9D160PS2P216MB0179KORP_"
+MIME-Version: 1.0
+X-OriginatorOrg: outlook.com
+X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: c001924d-3e68-4f40-89c2-901a49278da7
+X-MS-Exchange-CrossTenant-Network-Message-Id: 3b05f5a6-a827-4a02-87af-08d62331a7c4
+X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: c001924d-3e68-4f40-89c2-901a49278da7
+X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2018 21:55:49.3610 (UTC)
+X-MS-Exchange-CrossTenant-fromentityheader: Internet
+X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
+X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2APC01HT049
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE,
+ RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+ smtp1.linux-foundation.org
+X-Mailman-Approved-At: Tue, 25 Sep 2018 23:52:17 +0000
+Subject: Re: [bitcoin-dev] [bitcoin-discuss] Proposal to replace full
+ blockchain with recent history plus UTXO Set
+X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
+List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
+List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
+List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
+List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
+List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
+X-List-Received-Date: Tue, 25 Sep 2018 21:55:55 -0000
+
+--_000_PS2P216MB01795F6E52A18C73E20E9D5A9D160PS2P216MB0179KORP_
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: quoted-printable
+
+A fairly decent rework would be needed but it seems that the idea has merit=
+ initially.
+
+
+As it is now, it is not only that a utxo exists but, that the transaction i=
+t references and the block it is within can also be fully validated.
+
+
+So, if a utxo block set type existed then by consensus every so often a bun=
+ch of blocks containing just the validated utxo set to a given height, say =
+100,000 blocks below the current blockheight, and necessary header data cou=
+ld be appended onto the valid chain and nodes would be free to drop all pre=
+ceding blocks. I suspect that many wouldn't and that even many new nodes wo=
+uld still desire to download the full blockchain but, for the use case you =
+mention it would make sense.
+
+
+If done [right/wrong] it may even make Satoshi's fortune spendable. Somethi=
+ng to watch out for.
+
+________________________________
+From: bitcoin-discuss-bounces@lists.linuxfoundation.org <bitcoin-discuss-bo=
+unces@lists.linuxfoundation.org> on behalf of Dave Scotese via bitcoin-disc=
+uss <bitcoin-discuss@lists.linuxfoundation.org>
+Sent: Wednesday, 26 September 2018 1:46:54 AM
+To: Bitcoin Discuss
+Subject: Re: [bitcoin-discuss] Proposal to replace full blockchain with rec=
+ent history plus UTXO Set
+
+The image at imgur and the pastebin both reference block 542324 but the cor=
+rect block is 542322. As the pastebin shows, the decimal and hex represent=
+ations I gave for the block height did not match, and this is why. If you =
+use the Merkle root for block 542322 instead of 542324, you'll be able to s=
+ee the correct Game of Life play out and make the apron image.
+
+Dave.
+
+On Sun, Sep 23, 2018 at 11:38 AM Dave Scotese <dscotese@litmocracy.com<mail=
+to:dscotese@litmocracy.com>> wrote:
+I thought I didn't have access to the dev list and so intended to post the =
+following proposal to this discussion list, but used the wrong email addres=
+s. Anyway, my email did get into the dev list (https://lists.linuxfoundati=
+on.org/pipermail/bitcoin-dev/2018-September/016420.html) but I'll repeat it=
+ here:
+
+I've been working on an idea that relieves full nodes of storing the entire=
+ blockchain. Open source software generally relies on the fact that "enough=
+" people agree that it's secure. Bitcoin software works that way too. So if=
+ you understand enough to see that a UTXO set is valid at a certain block h=
+eight, and there are enough other people who agree and that set is recogniz=
+able by humans, then we can use that UTXO set and ditch the blockchain that=
+ existed up to that point. It would save a lot of storage and make it a lot=
+ easier to run a full node.
+
+Have you reviewed the source code from which your wallets were compiled? At=
+ some point, we all trust third parties, but generally (at least among peop=
+le who understand Bitcoin) they are large composite groups so that no small=
+ group or individual can profit from cheating.
+
+I look forward to answering any concerns and also to any offers of help. =
+I used block 542324 of the Bitcoin blockchain to make a memorable experienc=
+e using the game of life. I wrote a script for the open-source Game-of-Life=
+ software Golly and shared it in the paste at https://pastebin.com/k5Ssc0qk=
+. It produces the image at https://imgur.com/a/rwIQuVz. If someone can tell=
+ me how to get a UTXO Set from the bitcoin client, I'll send them $50 of bi=
+tcoin. Then I could get the SHA256 hash of that set and try to make a recog=
+nizable checkpoint for the Bitcoin blockchain. If someone runs Golly and sh=
+ares a video of the game playing out (into the apron-shaped image), I'll se=
+nd them $50 of bitcoin too.
+
+In a few decades when the blockchain has grown to a few terabytes and the U=
+TXO Set is still just a few gigabytes, I'd like to see more people start ru=
+nning full nodes without the hassle of a long wait and loads of storage spa=
+ce. That's what stops me from running one.
+
+
+--
+I like to provide some work at no charge to prove my value. Do you need a t=
+echie?
+I own Litmocracy<http://www.litmocracy.com> and Meme Racing<http://www.meme=
+racing.net> (in alpha).
+I'm the webmaster for The Voluntaryist<http://www.voluntaryist.com> which n=
+ow accepts Bitcoin.
+I also code for The Dollar Vigilante<http://dollarvigilante.com/>.
+"He ought to find it more profitable to play by the rules" - Satoshi Nakamo=
+to
+
+--_000_PS2P216MB01795F6E52A18C73E20E9D5A9D160PS2P216MB0179KORP_
+Content-Type: text/html; charset="us-ascii"
+Content-Transfer-Encoding: quoted-printable
+
+<html>
+<head>
+<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
+>
+<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
+n-bottom:0;} --></style>
+</head>
+<body dir=3D"ltr">
+<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
+-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
+<p style=3D"margin-top:0;margin-bottom:0">A fairly decent rework would be n=
+eeded but it seems that the idea has merit initially.</p>
+<p style=3D"margin-top:0;margin-bottom:0"><br>
+</p>
+<p style=3D"margin-top:0;margin-bottom:0">As it is now, it is not only that=
+ a utxo exists but, that the transaction it references and the block it is =
+within can also be fully validated.</p>
+<p style=3D"margin-top:0;margin-bottom:0"><br>
+</p>
+<p style=3D"margin-top:0;margin-bottom:0">So, if a utxo block set type exis=
+ted then by consensus every so often a bunch of blocks containing just the =
+validated utxo set to a given height, say 100,000 blocks below the current =
+blockheight, and necessary header
+ data could be appended onto the valid chain and nodes would be free to dro=
+p all preceding blocks. I suspect that many wouldn't and that even many new=
+ nodes would still desire to download the full blockchain but, for the use =
+case you mention it would make sense.</p>
+<p style=3D"margin-top:0;margin-bottom:0"><br>
+</p>
+<p style=3D"margin-top:0;margin-bottom:0">If done [right/wrong] it may even=
+ make Satoshi's fortune spendable. Something to watch out for.<br>
+</p>
+</div>
+<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
+<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
+yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> bitcoin-discuss-bounc=
+es@lists.linuxfoundation.org &lt;bitcoin-discuss-bounces@lists.linuxfoundat=
+ion.org&gt; on behalf of Dave Scotese via bitcoin-discuss
+ &lt;bitcoin-discuss@lists.linuxfoundation.org&gt;<br>
+<b>Sent:</b> Wednesday, 26 September 2018 1:46:54 AM<br>
+<b>To:</b> Bitcoin Discuss<br>
+<b>Subject:</b> Re: [bitcoin-discuss] Proposal to replace full blockchain w=
+ith recent history plus UTXO Set</font>
+<div>&nbsp;</div>
+</div>
+<meta content=3D"text/html; charset=3Dutf-8">
+<div>
+<div dir=3D"ltr">
+<div>The image at imgur and the pastebin both reference block 542324 but th=
+e correct block is 542322.&nbsp; As the pastebin shows, the decimal and hex=
+ representations I gave for the block height did not match, and this is why=
+.&nbsp; If you use the Merkle root for block
+ 542322 instead of 542324, you'll be able to see the correct Game of Life p=
+lay out and make the apron image.<br>
+</div>
+<div><br>
+</div>
+<div>Dave.<br>
+</div>
+</div>
+<br>
+<div class=3D"x_gmail_quote">
+<div dir=3D"ltr">On Sun, Sep 23, 2018 at 11:38 AM Dave Scotese &lt;<a href=
+=3D"mailto:dscotese@litmocracy.com">dscotese@litmocracy.com</a>&gt; wrote:<=
+br>
+</div>
+<blockquote class=3D"x_gmail_quote" style=3D"margin:0 0 0 .8ex; border-left=
+:1px #ccc solid; padding-left:1ex">
+<div dir=3D"ltr">
+<div dir=3D"ltr">
+<div dir=3D"ltr">I thought I didn't have access to the dev list and so inte=
+nded to post the following proposal to this discussion list, but used the w=
+rong email address.&nbsp; Anyway, my email did get into the dev list (<a hr=
+ef=3D"https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-Septembe=
+r/016420.html" target=3D"_blank">https://lists.linuxfoundation.org/pipermai=
+l/bitcoin-dev/2018-September/016420.html</a>)
+ but I'll repeat it here:</div>
+<div dir=3D"ltr"><br>
+</div>
+<div dir=3D"ltr">I've been working on an idea that relieves full nodes of s=
+toring the entire blockchain. Open source software generally relies on the =
+fact that &quot;enough&quot; people agree that it's secure. Bitcoin softwar=
+e works that way too. So if you understand enough
+ to see that a UTXO set is valid at a certain block height, and there are e=
+nough other people who agree and that set is recognizable by humans, then w=
+e can use that UTXO set and ditch the blockchain that existed up to that po=
+int. It would save a lot of storage
+ and make it a lot easier to run a full node.<br>
+<br>
+Have you reviewed the source code from which your wallets were compiled? At=
+ some point, we all trust third parties, but generally (at least among peop=
+le who understand Bitcoin) they are large composite groups so that no small=
+ group or individual can profit
+ from cheating.<br>
+<br>
+I look forward to answering any concerns and also to any offers of help.&nb=
+sp;&nbsp; I used block 542324 of the Bitcoin blockchain to make a memorable=
+ experience using the game of life. I wrote a script for the open-source Ga=
+me-of-Life software Golly and shared it in
+ the paste at <a href=3D"https://pastebin.com/k5Ssc0qk" target=3D"_blank">h=
+ttps://pastebin.com/k5Ssc0qk</a>. It produces the image at
+<a href=3D"https://imgur.com/a/rwIQuVz" target=3D"_blank">https://imgur.com=
+/a/rwIQuVz</a>. If someone can tell me how to get a UTXO Set from the bitco=
+in client, I'll send them $50 of bitcoin. Then I could get the SHA256 hash =
+of that set and try to make a recognizable
+ checkpoint for the Bitcoin blockchain. If someone runs Golly and shares a =
+video of the game playing out (into the apron-shaped image), I'll send them=
+ $50 of bitcoin too.<br>
+<br>
+In a few decades when the blockchain has grown to a few terabytes and the U=
+TXO Set is still just a few gigabytes, I'd like to see more people start ru=
+nning full nodes without the hassle of a long wait and loads of storage spa=
+ce. That's what stops me from running
+ one.<br>
+</div>
+</div>
+</div>
+</blockquote>
+</div>
+<br clear=3D"all">
+<br>
+-- <br>
+<div dir=3D"ltr" class=3D"x_gmail_signature">
+<div dir=3D"ltr">I like to provide some work at no charge to prove my value=
+. Do you need a techie?&nbsp;
+<br>
+I own <a href=3D"http://www.litmocracy.com" target=3D"_blank">Litmocracy</a=
+> and <a href=3D"http://www.memeracing.net" target=3D"_blank">
+Meme Racing</a> (in alpha). <br>
+I'm the webmaster for <a href=3D"http://www.voluntaryist.com" target=3D"_bl=
+ank">The Voluntaryist</a> which now accepts Bitcoin.<br>
+I also code for <a href=3D"http://dollarvigilante.com/" target=3D"_blank">T=
+he Dollar Vigilante</a>.<br>
+&quot;He ought to find it more profitable to play by the rules&quot; - Sato=
+shi Nakamoto</div>
+</div>
+</div>
+</body>
+</html>
+
+--_000_PS2P216MB01795F6E52A18C73E20E9D5A9D160PS2P216MB0179KORP_--
+