I have a question to sidechain theory that I think deserves an answer or at least some thought. To express the question clearly, I need to define some things, and using some analogies, else things become too foggy and the question will remain unanswerable.
So we have bitcoins and the bitcoin blockchain. The nature of the coins are defined by the rules in the blockchain. A bitcoin by nature moves around visiting various bitcoin addresses, it can not leave the blockchain.
Now a sidechain is different, it must have different rules, that is the point of the sidechain to begin with. Since it is called a sidechain, it must be based on the same blockchain technology, just with other rules. So what moves around to various addresses in the sidechain, is also something different from bitcoin, and I call that a sidecoin (a word that is not used in the sidechain whitepaper).
Now the peg. A sidechain without a peg is not interesting, at best you get some sidecoins by burning an amount of bitcoin using a provable unspendable address, which we know exists. The only interesting instances of sidechains are those where you "move bitcoins over, and back again" in the words of the sidechain whitepaper authors. In the light of the preceding definitions, I think those words are misleading, the correct wording would be a bitcoin is paralyzed, parked, or neutralized for the duration when the corresponding sidecoins are in existence.
This looks very much like how the casascius coins work. As long as the physical coins exists, the bitcoin is parked at an address where nobody have the unlocking key, that is hidden inside the coin. You can open the coin, after that the physical coin stops to exist, and using the code you found inside, you can free the bitcoin and use it the normal way. The relevance of this becomes clear a few lines down, but first I want to discuss the peg.
They call it a two way peg, but the nature of the peg is always two ways. Pegging literally means to fasten things together with a wooden stick (the peg). If you think of it as prices, you can have an actor with a substantial store of both types of assets (a type of money and a type of grain for instance), they can either define a maximum price of grain (by selling grain if the price should hover over the defined price) or they can define a minimum price of grain (by buying grain should the price fall too low), or they could fix the price entirely by doing both, which is pegging.
For this question to be relevant, the only requirement is that bitcoins can be paralyzed and sidecoins created (in one operation), and the reverse, that the sidecoins are destroyed and the bitcoins vitalized in another operation. What happens with the sidecoins while they exist, doesn't matter, basically, hopefully something useful can come out of it. Heck, the sidecoins need not be created and destroyed in those operations, it is only necessary that the paralyzed bitcoins can be revitalized.
In this way of modelling the sidechain, bitcoin and its blockchain can not be modified. If you integrate a part of the sidechain functionality into bitcoin, for instance the method to free the bitcoin, you haven't really created a new system, you have instead modified bitcoin with the new sought after functionality. So bitcoin must remain unchanged.
Using these definitions and analogies, the sidechain system must create a bitcoin address where the bitcoins are to be parked. The unlocking code must be kept, else the bitcoins can not be revitalized. You can imagine that the bitcoin unlocking code is hidden by encryption and attached to the sidechain transactions, enabling the current owner of the sidcoin to choose to "open" the sidecoin to reveal the bitcoin unlocking code. Or, you could imagine that the sidechain network could split the key to unlock the bitcoin unlocking code and distribute it to a number of sidechain participants. Anyway, when the bitcoin address is created, the unlocking code (the secret key) has to be created by a single machine with a single owner before it is hidden or split and distributed. So the question is: Is it possible to do this and at the same time prove that the original unlocking code (the secret key) is not known by anyone? Is it possible to prove that a secret exists, and that secret can be revealed, but the secret is not known by anyone?
tl;dr: Fuck off.