Author

Topic: Sidecoin, a solution to the "spin-off" problem (Read 2224 times)

jr. member
Activity: 39
Merit: 13
Last of the freelance physicists
December 06, 2014, 06:13:22 PM
#4
Nice work.
Good work! It is exciting to see this problem solved. I must ask why you choose to use bash script for your snapshot? This will be slower than the c++ you use for your altcoin.

Thanks!  It was a fun project.  As for why we used bash instead of C++ for the snapshot script, basically, it is because we were automating a bunch of shell commands, which naturally made us reach for a bash script.  Since the snapshot is something that only needs to be constructed once (per spin-off), we favored ease-of-coding over speed.

That being said, you could imagine a workflow going straight from blockparser (memory-lean version) to loading balances into the new blockchain's utxos.  We opted for an intermediate "snapshot" file because 1) it is relatively portable (2+ orders of magnitude more compact than the blockchain itself), and 2) the file is guaranteed to be exactly the same for everyone using it.

Another contributing factor is that, even after downloading the Bitcoin blockchain, running a full blockparse takes quite a while -- about an hour on my (somewhat dated) hardware.  It definitely isn't something that you want every user of a new coin to have to sit through!
sr. member
Activity: 255
Merit: 251
Nice work.
newbie
Activity: 3
Merit: 0
Good work! It is exciting to see this problem solved. I must ask why you choose to use bash script for your snapshot? This will be slower than the c++ you use for your altcoin.
jr. member
Activity: 39
Merit: 13
Last of the freelance physicists
joeykrug and I have implemented a proof-of-concept version of the "Bitcoin spin-off" discussed in https://bitcointalksearch.org/topic/spin-offs-bootstrap-an-altcoin-with-a-btc-blockchain-based-initial-distribution-563972.

Website: http://www.sidecoin.net
Source: https://github.com/AugurProject/Sidecoin
Whitepaper: http://augur.link/sidecoin.pdf

"Sidecoin" (our demo/example implementation) is a fork of Bitcoin 0.9.1.  We modified it to support loading "snapshot" balances into the first (non-genesis) block, as well as trustless sidecoin claims using a new "claimtx" RPC command.  Details are in the whitepaper!

Hope this can be useful to someone  Smiley

- Jack
Jump to: