Cryddit
Legendary
Offline
Activity: 924
Merit: 1132
|
|
May 15, 2015, 02:57:22 AM |
|
Sure, that works. It's elegant even; it means nobody has to download the snapshot unless they're actually trying to import coins from the snapshot. They'll need the snapshot to build the merkle tree but the people checking the transactions wouldn't need to see it. The distinction in terms of code is that now your methods to import things from the snapshot have to build a merkle tree proof, and your methods to check those transactions have to check the proof.
|
|
|
|
Crestington
Legendary
Offline
Activity: 882
Merit: 1024
|
|
May 15, 2015, 07:03:21 PM |
|
If you really want to do this?
First, take your snapshot of the bitcoin UTXO set and package it with your distributed client. It'll add a few hundred megabytes to the download.
Second, in the chainparams.cpp file where different types of key are defined and identified with prefix bytes, you make sure that none of your altcoin's keys can be confused with any of bitcoin's keys - and then you define prefix bytes for additional classes of key - one matching every type of bitcoin key whose balance you're offering to carry forward into the new block chain.
Third, in the places in the code that look at the prefix byte to determine what kind of key something is and apply the different methods for spending pay-to-pubkey-hash, pay-to-script-hash, and pay-to-pubkey altcoin addresses, you have to add methods for spending the corresponding types of bitcoin addresses when those prefix bytes are used. These methods look it up in the txout set snapshot instead of the block chain history, and create altcoins 'ex nihilo' when bitcoin keys are used to spend the snapshotted txOuts. Be absolutely sure that they work without making the corresponding privkey available in your block chain, because thieves will use your block chain as an information source enabling them to steal bitcoin otherwise.
But these additional spend methods only work up until block 10K or whatever your expiry block is.
Fourth, you hack the client so that when someone 'imports' a bitcoin key it will find the corresponding balance in the utxo snapshot and make an immediate transaction creating altcoins in that amount - which must FAIL if that particular key has already been claimed by a previous tx in your block chain, but you knew that right?
After block your expiry block you can trim the database of all the bitcoin txOuts that are still unspent in the alt, as expired coins that will never be imported into the alt. In later clients you distribute the reduced database of imported keys only, to enable them to check transactions when verifying the block chain and make sure that the 'imports' are legitimate.
At least, that would be my approach. A fair amount of coding is involved.
I want to do this from an altcoin to another altcoin, specifically there is the ColossusCoin Blockchain and we have the ColossusCoin2 Blockchain and want to make the Coins from the original Blockchain redeemable within the new one that is already running. Further applications down the track for me would be the method of trimming off excess bloat after a long period of time through a reissue. My question here is, would that be much different then claiming Coins through a Bitcoin distribution? The steps would be the same would it not? except that the amount of addresses would be significantly smaller.
|
|
|
|
Cryddit
Legendary
Offline
Activity: 924
Merit: 1132
|
|
May 15, 2015, 08:13:37 PM |
|
In order to answer your question, I would need to know what you mean when you use the words "claiming coins through a bitcoin distribution."
|
|
|
|
Crestington
Legendary
Offline
Activity: 882
Merit: 1024
|
|
May 15, 2015, 08:21:25 PM |
|
In order to answer your question, I would need to know what you mean when you use the words "claiming coins through a bitcoin distribution." This thread is about bootstrapping an altcoin with a btc-blockchain-based initial distribution, I want to bootstrap an altcoin with an altcoin-blockchain-based initial distribution. Same principle?
|
|
|
|
Cryddit
Legendary
Offline
Activity: 924
Merit: 1132
|
|
May 15, 2015, 09:36:33 PM |
|
Oh.
Yes, exactly the same principle.
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
May 15, 2015, 09:49:39 PM |
|
Sure, that works. It's elegant even; it means nobody has to download the snapshot unless they're actually trying to import coins from the snapshot. They'll need the snapshot to build the merkle tree but the people checking the transactions wouldn't need to see it. The distinction in terms of code is that now your methods to import things from the snapshot have to build a merkle tree proof, and your methods to check those transactions have to check the proof.
There's no need to download. The proof building tool can be hosted. Of course the entire tree should be published for transparency purposes, but each individual claimant doesn't need to download it.
|
|
|
|
Zangelbert Bingledack
Legendary
Offline
Activity: 1036
Merit: 1000
|
|
May 17, 2015, 07:38:07 PM |
|
Augur to go with Ethereum? If you can't figure out how to do a sidecoin/spin-off for Augur, someone else will. Hitching your wagon to anything other than the economic majority, as cumbersome as it may seem, does such a powerful idea a disservice in my opinion. Thinking Ethereum "isn't about being money" is dangerously close to the fallacious mainstream "Forget the currency, it's all about the blockchain technology" meme.
Money makes the blocks go 'round. Ethereum will fail unless it understands that, or someone will create Aetherium, or even launch it as a sidechain. The point is that the economic majority, meaning Bitcoin holders, is where the action is. Not fixing Augur's coin distribution to Bitcoin will be needlessly hampering it in the extreme.
Saw this a long time ago & forgot to reply --- Not doing a spin-off any longer, gong with sidechains to Ethereum. Ethereum != only ether, & it's entirely possible to implement a Bitcoin sidechain to ethereum (so people can use Bitcoin on Augur ). In fact, I'm going to work on doing just that starting in a couple weeks. So not a pegged sidechain but something else?
|
|
|
|
sfultong
Newbie
Offline
Activity: 28
Merit: 0
|
|
September 30, 2015, 03:32:45 AM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli.
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
September 30, 2015, 03:34:04 AM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli. Fantastic! Watching.
|
|
|
|
smoothie
Legendary
Offline
Activity: 2492
Merit: 1474
LEALANA Bitcoin Grim Reaper
|
|
October 01, 2015, 08:26:37 AM |
|
was at a couple of Ethereum meetups in London recently which just gave me the impression that despite their great ideas they as a team are disorganized and indecisive (eg they keep on moving their IPO goalposts).
That actually has more to do with us trying to have a solid business structure that makes multiple categories of stakeholders happy, spend more time building the product so ether purchasers have actual working code (eg. my recent pyethereum/serpent upgrades and Gav's POC4) to see what they're getting into, and actually being regulatory-compliant. The pre-sale is the only thing that's getting pushed back; everything else is humming along quite nicely with many contracts already running on the testnet. And $15,000,000 later... Those bolded statements are still not true. wow just wow
|
███████████████████████████████████████
,╓p@@███████@╗╖, ,p████████████████████N, d█████████████████████████b d██████████████████████████████æ ,████²█████████████████████████████, ,█████ ╙████████████████████╨ █████y ██████ `████████████████` ██████ ║██████ Ñ███████████` ███████ ███████ ╩██████Ñ ███████ ███████ ▐▄ ²██╩ a▌ ███████ ╢██████ ▐▓█▄ ▄█▓▌ ███████ ██████ ▐▓▓▓▓▌, ▄█▓▓▓▌ ██████─ ▐▓▓▓▓▓▓█,,▄▓▓▓▓▓▓▌ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓─ ²▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ▀▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ²▀▀▓▓▓▓▓▓▓▓▓▓▓▓▀▀` ²²² ███████████████████████████████████████
| . ★☆ WWW.LEALANA.COM My PGP fingerprint is A764D833. History of Monero development Visualization ★☆ . LEALANA BITCOIN GRIM REAPER SILVER COINS. |
|
|
|
Bill White
Member
Offline
Activity: 118
Merit: 11
Qeditas: A Formal Library as a Bitcoin Spin-Off
|
|
October 01, 2015, 04:18:01 PM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli. By the way, if you're willing to modify the C++ code for bitcoin core, the following thread might provide some helpful insights: https://bitcointalk.org/index.php?topic=647198.0;allIn particular there's this post from the thread: FWIW, the gettxoutsetinfo rpc iterates over the utxo set, in the past when I've wanted this data I've just added some instrumentation in that function to dump it out. Even if you're not very experienced with C++ it shouldn't be to hard to emulate the rest of the code and print it out... this might be easier (and also more reliable across versions) than trying to read the data.
It's not the path I followed, but maybe I should have.
|
|
|
|
Zombier0
|
|
October 01, 2015, 04:21:50 PM |
|
There is currncy CLAMS that dd this already
|
|
|
|
YarkoL
Legendary
Offline
Activity: 996
Merit: 1013
|
|
October 01, 2015, 04:46:36 PM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli. I'm glad you wrote in your blog We already have a blockchain indicating interest in cryptocurrency, and it's called bitcoin. So many get it the wrong way around (swap "blockchain" with "cryptocurrency")
|
“God does not play dice"
|
|
|
Crestington
Legendary
Offline
Activity: 882
Merit: 1024
|
|
October 02, 2015, 11:20:30 AM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli. I'm glad you wrote in your blog We already have a blockchain indicating interest in cryptocurrency, and it's called bitcoin. So many get it the wrong way around (swap "blockchain" with "cryptocurrency") I had a conversation with Mullick and a few others about creating a snapshot. Supposedly the way it is done is to use a Blockchain parser and create a dump file of all the balances ( https://github.com/znort987/blockparser has been recommended to me multiple times). Then you can create a new Coin with the same base58 key and then send Coins to the same addresses which can be redeemed with the same private keys.
|
|
|
|
bitcreditscc
|
|
October 02, 2015, 03:08:33 PM |
|
What happened? Did this idea die? Well, I just quit my job and I'm going to make this work. https://github.com/sfultong/bitcoin-spinoff-toolkitNo one ever published code to actually generate the snapshot file, did they? I'm thinking I'll have to fork bitcoin core for that, and make creating a snapshot file a command in bitcoin-cli. Fantastic! Watching. I have a few simple lines you can add to the "ConnectBlock" function. End result is a full list of all addresses and balances. You can also rummage in my code to see how i can convert any key from any chain to match the ones on my chain.
|
|
|
|
Cryddit
Legendary
Offline
Activity: 924
Merit: 1132
|
|
October 02, 2015, 05:52:33 PM |
|
I have posted code online for the MIDAS difficulty adjustment algorithm. Please use it. You know the way altcoins get rushed by miners and then left with a difficulty too high for anyone to get a block? Or the way time warps work when someone finds a way to make the blocks come faster and faster while they have the majority of hashing power? That's the kind of crap MIDAS is designed to prevent. here. http://dillingers.com/blog/2015/04/21/altcoin-difficulty-adjustment-with-midas/
|
|
|
|
YarkoL
Legendary
Offline
Activity: 996
Merit: 1013
|
|
October 02, 2015, 09:02:32 PM |
|
In my understanding, a spinoff should work exactly the same as the original, so altering the difficulty adjustment would just make it an "independent" altcoin.
|
“God does not play dice"
|
|
|
Bill White
Member
Offline
Activity: 118
Merit: 11
Qeditas: A Formal Library as a Bitcoin Spin-Off
|
|
October 03, 2015, 05:50:53 PM |
|
In my understanding, a spinoff should work exactly the same as the original, so altering the difficulty adjustment would just make it an "independent" altcoin.
The idea expressed by Peter R in the original post of this thread only talks about making the initial distribution in proportion to a snapshot of the Bitcoin block chain: Since the market has already encoded its best estimate of the “most efficient distribution” into the unforgeable global ledger known as the blockchain, why not use this? Since all bitcoin users can cryptographically prove ownership of their share of bitcoins, the code-base of any alt-coin can be modified in a trivial way to allow bitcoin users to claim a share of any pre-mine in direct proportion to the percentage of bitcoin’s market cap they control. This method (a) bootstraps alt-coins with a very large potential user base, (b) places all alt-coins on equal footings thereby allowing them to compete on their own merits, (c) automatically piggybacks bitcoin investors in any financial gains that may result due to community innovation, (d) fairly rewards innovative alt-coin developers as they can scoop up spin-offs dumped cheaply on the open market, (e) makes it difficult to “pump and dump.”
Later in the thread someone referred to alt-coins that do this as "spin-offs." I have not read anyone suggest other requirements than the initial distribution for an alt-coin to qualify as a "spin-off."
|
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
|
October 04, 2015, 10:12:23 PM |
|
In my understanding, a spinoff should work exactly the same as the original, so altering the difficulty adjustment would just make it an "independent" altcoin.
The idea expressed by Peter R in the original post of this thread only talks about making the initial distribution in proportion to a snapshot of the Bitcoin block chain: Since the market has already encoded its best estimate of the “most efficient distribution” into the unforgeable global ledger known as the blockchain, why not use this? Since all bitcoin users can cryptographically prove ownership of their share of bitcoins, the code-base of any alt-coin can be modified in a trivial way to allow bitcoin users to claim a share of any pre-mine in direct proportion to the percentage of bitcoin’s market cap they control. This method (a) bootstraps alt-coins with a very large potential user base, (b) places all alt-coins on equal footings thereby allowing them to compete on their own merits, (c) automatically piggybacks bitcoin investors in any financial gains that may result due to community innovation, (d) fairly rewards innovative alt-coin developers as they can scoop up spin-offs dumped cheaply on the open market, (e) makes it difficult to “pump and dump.”
Later in the thread someone referred to alt-coins that do this as "spin-offs." I have not read anyone suggest other requirements than the initial distribution for an alt-coin to qualify as a "spin-off." What other requirements? Can you give an example?
|
|
|
|
smooth
Legendary
Offline
Activity: 2968
Merit: 1198
|
|
October 04, 2015, 10:17:48 PM |
|
It wasn't so much a statement of requirements (yes, if it is spins off then it is a spin-off) as much as observing that if you want to do the experiment to test the hypothesis that a coin spinning off from the Bitcoin wealth distribution would be stronger than one that doesn't, you should change as little else as possible.
|
|
|
|
|