I have no idea what that means. What is "fed-peg"? Why is that needed?
When you're creating a sidechain, you need a way to move Bitcoins from the main network to your sidechain. This is pretty straightforward. Counterparty, Ethereum, and NXT had various ways of doing this. (Admittedly, none of these allowed people to turn Bitcoin into the assets on these networks after they started, but I suspect that's due to economic reasons rather than technical ones.)
The more complicated, and more important issue, is how you move Bitcoins that are on the sidechain back into the main network. I've heard multiple proposals on how to do this, but all of them are either
- insecure,
- centralized,
- or require very complicated changes to the Bitcoin protocol.
This approach is centralized.
The idea with that you have several authorities, each of whom has a private key. Those private keys together control a multisignature account. When you move Bitcoins onto the sidechain, you deposit them into the multisignature account. When you want to move them back to the main chain, you do so on the sidechain; those federated authorities will independently validate that transaction. Then, all of them sign a withdrawal from the multisignature account to the main network address you specified in your sidechain transaction.
The blockstream paper suggests a 3 of 5 multisignature account. The issue with this is that if 3 of those keys are compromised (or if 3 of them collude) then they can take all of the money out of the multisignature account.
Does it change in any way the security of the main chain?
No. It doesn't modify the main network. Future incarnations might, though. There's not enough detail about those possible future systems to answer that at present.
How does it differ from decentralized PoW?
The federated authorities have two roles in this system: gating transactions into the system by producing timestamped blocks, (something normally done by miners) and the previously mentioned multisignature account.
Well, I still don't understand what does it actually mean and how is the pegging done. – Karel Bílek – 2015-06-09T16:42:59.493
Well there's a trusted third party whose public key is hardwired into the code. Any difficult questions that come up or disagreements, basically the trusted party decides the answer. Same as Ripple pretty much. – DebtLadenEbolaZombie – 2015-06-09T16:44:17.370
Here, check out https://github.com/ElementsProject/elements/blob/alpha/contrib/fedpeg/constants.py -- basically you must "rippleize" the sidechain by hardwiring its central authority's public key on line 15. Without it, no sidechain.
– DebtLadenEbolaZombie – 2015-06-09T16:57:06.657I think that's why they started lightning.. because they weren't getting anywhere with sidechains.. and now we have to bear their blocking of the block size increase.. -.- – tobi – 2015-10-18T20:16:05.713
Afaict it's not that they "can't figure out" how to make sidechains work without a central authority, it's just that their primary proposal (SPV peg) requires a modification to the Bitcoin protocol, which requires gaining consensus. So, as a temporary solution in the meantime, they propose "federated peg". The plan outlined in the paper is to persuade others of the safety and desirability of SPV peg and then switch to that later. (I am not taking a position on whether an SPV peg is actually safe and desirable, I'm just saying that the paper presents it as such). – bshanks – 2015-11-02T04:41:23.587
Although afaict it's true that SPV peg has not yet been IMPLEMENTED; but i think the proposers would claim that it has been 'figured out' but just not yet implemented (not sure about this). – bshanks – 2015-11-02T04:54:41.937