<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt'>
<p><br /></p>
<div> </div>
<p><br /></p>
<p>On 2021-01-13 02:18, jrzx wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">For a single transaction you need consensus that the coins you're<br /> getting actually exist and actually belong to the person you're getting<br /> them from. You don't need a history of the universe for that; you need<br /> a history of those particular coins and evidence that the act of<br /> minting them was valid according to protocol.</blockquote>
</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">But you want your coins to be spendable too and from anywhere on planet earth.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Right. after the transaction where the coins are transferred to you,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">you have a token whose latest 'chain link' contains cryptographic</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">evidence that it was actually transferred to you. Likewise you checked</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">the token before you got it to make sure that the previous 'chain link'</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">contained cryptographic evidence that it had actually been legitimately</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">transferred to the previous holder.<br /><br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">If the tokens themselves are temporary - that is, if they are minted,<br /> they go through some number of transactions, and then they are melted -<br /> then the history of a given token can be short and require<br /> communicating about only a few transactions. A $20 bill, for example,<br /> only changes hands about 600 times before it is removed from<br /> circulation and destroyed. Agreeing about a few hundred transactions<br /> seems a lot more reasonable than agreeing about TheWholeDamnUniverseTM.</blockquote>
<br /> To prevent doubles spending, some trusted authority has to know the current<br /> ownership of each token.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Each token needs an authority trusted for that token. Ultimately, that's</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">the node that minted the token.  In a more immediate sense, that node</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">probably designates a half-dozen backups that can be checked whenever it's</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">offline.  So your software dials up one of these authorities, which is given</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">in the token's header, and inquires whether the last observed hash for the</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">token's transaction chain matches the one you're seeing. </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">You have evidence that the token was minted according to protocol and</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">came to you through a series of legitimate transactions.  That's all</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">part of the token itself.  You turn to external authorities to check</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">that there is no *other* series of legitimate transactions for the same</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">token. (ie, that a double spend has not taken place).</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">If you find that a double spend has taken place, you can identify the</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">certificate of the double spender.  We call the proof a certificate</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">revocation.  If no double spend has taken place, then you cannot tell </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">which certificates were used (who the parties to the transaction were)</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">in any transaction in the token's chain - save for your own and your</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">counterparty's certs, of course.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">So this is a bunch of small blockchains, which from time to time<br /> disappear, and new ones appear.  But, conservation of money.  When<br /> one disappears, the money has to go into a bigger blockchain,<br /> and when one appears, the money has to come out of a bigger<br /> blockchain.  So this is the sidechain solution.<br /><br /></div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Sort of.  What everybody knows - the shared information that has to be</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">updated - is the database of certificates.  Each certificate is given</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">"income" of one coin per day (creating "inflation" that drops toward</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">zero the more coins there already are). Because you know how many</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">certificates there are and when they were issued, you know how many</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">coins exist total and how much each user is authorized to have minted.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">The token asserts which hours and days 'minting authority' the token</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">is supposed to represent.  You check that that's not in the future and</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">check that the same hours and days from the same certificate are not</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">represented by another token issued later.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">If another such token is discovered, either at the time, or later,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">you have a proof of a double minting protocol break, which, again,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">functions as a certificate revocation against the mint.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">So your 'wallet' consists of two things:  Tokens minted by others</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">which you hold and can spend onward, and a 'bullion' balance representing</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">the current extent of your own minting authority.  When you want to make a</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">transaction, you can transfer some of the tokens you hold, or you can</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">'mint' a new token.  As the token wanders around, you'll get occasional</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">calls to verify its history chain, but you won't learn from these calls</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">which users it's being transferred between. Some number of other nodes</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">will also be keeping track of it or answering these queries.  If you</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">receive a token that you minted in a transaction, you 'melt' it adding</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">those coins back to your 'bullion'.  (And people will want you to melt </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">it and swap them a new token for it, if it gets big enough to be annoying).</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Well, if you have a lot of tokens, you will have a lot of sidechains.<br /> Why should you trust the sidechain?</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Ultimately, the scheme gives up any kind of real guarantee that a double</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">spend is detected in realtime, replacing it with (A) means of detecting it</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">in realtime that will work 99% of the time, (B)the power to opt out of a</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">transaction (or use a different token) if those means are not available,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">and (C) a real guarantee that if a double spend is made or if those means</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">are deliberately falsified, then the certificate used to perpetrate </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">this will be revealed and revoked.  Not necessarily in real time, but</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">with a high degree of certainty.  In order for (C) to be meaningful,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">the certificates can't be anonymous and therefore there has to be a</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">certificate authority.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">In exchange for those downgrades, you get scalability - real scalability,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">where there is no central ledger of the history of TheWholeDamnUniverseTM</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">that bottlenecks the transaction volume and which every node must keep</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">updating.  There are 'ledgers' for individual tokens, each attached to</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">its respective token. The ultimate authority for those ledgers is not</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">centralized; it is distributed around the network to everybody, along</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">with everybody's minting power.  If you are willing to trust someone</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">without realtime checks, you can even do transactions entirely offline,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">producing a transformed token (same head, and a history chain one link</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">longer) that your counterparty can use, in the certain knowledge that</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">if you try to spend the same token again, spending your copy of it will</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">result in a revocation of your certificate.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">The idea is to provide slightly looser guarantees than a realtime</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">block chain, in exchange for NOT having to have a great big pile of data</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">that a lot of people must repetitiously store and track, and in exchange</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">for NOT ever gathering together a great big, highly visible, invasively</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">analyzable, central repository of every transaction that has ever happened.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">What has to be tracked is just the certificate database of users.  A few</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">more parts of the protocol (like where the 'minting balance' associated</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">with a key goes when a cert is revoked or transferred, etc) come out as</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">part of that database, and as with the other things, you can check to</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">make sure they're according to protocol. That would be your "central</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">chain" but would contain no actual transactions - only certificate</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">information.  You wouldn't need more than one block a day to keep it</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">updated.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">>From any circulating token, you would know:</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">  (A) what certificate (which user) minted the token</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">  (B) How many transactions the token has been transferred in</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">  (C) A time before which the token could not have been legitimately created.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">>From the certificate database you would know:</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">   (A) What certificates exist and who (real-world ID) each belongs to</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">   (B) When the certificate was issued</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">   (C) Who else is supposed to know about these tokens in case the</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       certificate holder is offline</div>
       (D) Any revoked keys that this certificate is now the primary authority
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       for (example: Alice discovers evidence that Bob cheated, and now</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       Bob's key has been revoked.  Alice becomes the primary authority for</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       tokens issued by Bob, and can 'melt' Bob's tokens.)</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">   (E) Any additional minting authority available to this key (example: Carol's</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       grandfather Daniel died and left his account to Carol.  His cert is</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       revoked when he dies and his bullion appears on Carol's updated</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       certificate.  Carol will be able to spend tokens most recently</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       transferred to Daniel, will be able to mint out of Daniel's bullion,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">       and will be able to melt Daniel's tokens.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
Bear</blockquote>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">(accessing through webmail at the moment while I sort a new installation here; Apologies if this</blockquote>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">doesn't come through with correct formatting for quotes).</blockquote>
</body></html>