> Bitcoin’s block interval is ten minutes so it takes about five minutes on average for a new transaction to find its way into a block
is wrong. The block interval is ten minutes on average, but not ten minutes uniformly. And in particular because hashing works via random trials whose probabilities of finding a sufficiently long zeroed prefix are constant, the amount of time since the last block is no information about how much more time remains until the next one. It's always ten minutes away from now, on average, which means the average transaction takes ten minutes, not five.
The error here was in multiplying the average block interval (10 minutes) by the average fraction of that interval remaining when transactions occur (0.5). But the first operand is only valid if you assume the average block interval weighted over all transactions is the same as the average block interval weighted over all blocks, however transactions are over-represented among blocks that take longer: on average a block which took 15 minutes will have three times as many transactions as one which took 5.
> Essentially, an SPV proof is composed of (a) a list of blockheaders demonstrating proof-of-work, and (b) a cryptographic proof that an output was created in one of the blocks in the list. This allows verifiers to check that some amount of work has been committed to the existence of an output. Such a proof may be invalidated by another proof demonstrating the existence of a chain with more work which does not include the block which created the output.
which reads to me like embedding a full copy of the rules engine of one blockchain inside the other, meaning 1) all chains likely need to be Turing complete, and 2) a hard fork of one chain is a hard fork of all transitively connected chains. These seem like undesirable properties to me, but it's possible I've misunderstood something.
The article says that "If the second blockchain has agreed to be a Bitcoin sidechain, it now does something really special… it creates the exact same number of tokens on its own network and gives you control of them."
Does "the exact same number of tokens" mean the same exact amount in Bitcoin? Therefore, does it mean that there's no exchange rate and you always move coins 1:1 between Bitcoin and a sidecoin?
This doesn't make much sense to me. How does the actual currency amount get converted from BTC to a sidecoin?
On the other hand, someone could create something totally different, like a lotto coin, where each week one of the holders is allowed to "withdraw" all bitcoin in the network back to the bitcoin blockchain.
All that matters is that all the miners/participants in the sidechain agree what the rules are for importing and exporting bitcoin. If the sidechain miners allow the withdrawal to go ahead (and it reaches enough confirmations to mitigate a double spend attack), then the bitcoin blockchain allows the original coins to be unlocked.
There would then be a bank run from the sidechain, and some people would be left with unredeemable sidechain tokens.
This is why the sidechains paper suggests a one-off change to Bitcoin might be needed: there's no out-of-the-box Bitcoin feature to validate this proof. The authors propose an interim measure where n-of-m "functionaries" are trusted to validate the proof.
https://github.com/orisi/wiki/wiki/Orisi-White-Paper http://gavintech.blogspot.com/2014/06/bit-thereum.html
Basically, you choose a panel of up to 15 independent entities to verify that the funds were locked indeed. The panel can be modified by a majority of votes if some of the entities prove to be unreliable - kind of like the Supreme Court works.
This obviously introduces a new vulnerability to the system, but is the best solution available right now.
To be clear, IMHO it is a mitigation or heuristic, not a solution at all.
Disclaimer: slightly disgruntled and provokative because I don't really understand the technicalities and a lot of hype makes it even more unbelievable.
The sidechain-coin could have many different features, for instance it could be a clone of Ethereum and its "currency": "ether", being able to replicate its functionalities like issuing subcurrencies or assets (out of the blue) completely decoupled from the bitcoin blockchain. But the higher level currency (the Y issued ether) is pegged to X amount of bitcoin.
The concept is not new and is similar to the proposed spin-offs... https://bitcointalk.org/index.php?topic=563972.0
If a sidechain has a smaller blocktime and larger rewards, wouldn't that undermine the two-way peg?
Or do sidechains not have their own mining?
If a different block reward is created, then the sidechain would need to be inflationary (either the relative value of all bitcoin in the sidechain will need to decrease, or in a network which natively supported multiple asset types, the block reward could be denominated in a currency other than BTC).
Either way, the bitcoin blockchain will not allow more money to be withdrawn from the sidechain than was put into it, so the sidechain creators must come up with exchange rules which are fair to both those who import BTC into the sidechain, and to the miners.
How does the Bitcoin network keep track of the total currency amount and therefor the inflation on the sidechain?
I've got 5 Bitcoins. I transfer all of them to a new sidechain for 50 Sidecoins. This Sidecoin sidechain has a different block reward. Let's say 3 weeks go by. Now there are 10,000 total Sidecoins. Let's say I've got 2,000 of those Sidecoins because I've sold the rest. How do I convert them back to Bitcoins? Can I only transfer 50 back? Can I transfer all 2,000 back? What are they worth in Bitcoin now?
If the number of Bitcoins trying to be created exceeds the number committed to the sidechain, the transaction will fail. Otherwise, it will succeed.
So if only a total of 5 Bitcoin were ever sent/frozen to the sidechain, then only 5 Bitcoin can ever be retrieved/unlocked?
So when the Sidecoin sidechain was first created each Sidecoin was worth 0.1 Bitcoin. So after three weeks there are now 10,000 Sidecoins, each worth 0.0005 Bitcoin? Is this a general rule for sidechains? Why did you say "likely"? Is that because none of the details of sidechains have been worked out?
Transactions on sidechains are mined in to blocks, right? So if someone mined 8,000 Sidecoins of those 10,000, they've now got 4 Bitcoin? If someone then sent/froze an additional 5 Bitcoin to the Sidecoin sidechain, then that would generate 10,000 new Sidechains?
So the incentives to mine Sidecoins would correspond to the total number of Bitcoin that has been sent to the sidechain? If 5 Bitcoin were only ever sent to Sidecoin, then all the mining in the world could only ever lead to a total of 5 Bitcoins?
So for Sidecoins to be economically viable and therefor functional, someone would need to be constantly injecting Bitcoin in to the sidechain, right?