they need to move an existing asset into a weaker form of security
They usually have "weaker form of security" only because people don't know how to implement Merged Mining correctly (see: NameCoin). There should be one source of the Proof of Work, and each sidechain should commit to that, so users will first get everything sidechain-confirmed, and then Bitcoin-confirmed. After the latter, it is as strong and as resistant to chain reorganizations as Bitcoin itself. And again, Proof of Work can be replaced by Proof of Stake inside the sidechain, without affecting the mainchain consensus at all. Also, sidechains can be created and destroyed at will, it is just a matter of signing the right transaction, to deposit funds into the sidechain, and to take them back, just by moving them on the mainchain. Now I know that any testnet or signet can be easily deployed in that way, and I am trying to think about mainnet, and to deploy some test networks, just to show how it works.
In the case of a PoS sidechain the security will be based on how much capital is inside it, let’s say it starts out with 200.000 € worth of Bitcoin locked inside. It would be easy for any whale, to take control over the network in the beginning.
It is not that easy to take control, because things will be committed on-chain, and after that, it will be very hard for any whale to overwrite that.
can an attacker who controls majority of the capital send everyones funds back to the main chain, or make the coins inaccessible forever?
Users are protected from stealing in the same way as in LN: there are penalty transactions. Also, they are automatically broadcasted, without any watchtower, because revealing any previous transaction will allow unlocking the penalty transaction and broadcast it on-chain. All nodes observe both the mainchain and the sidechain, any malicious action of some wealthy sidechain wallet will be noticed by the sidechain network, and all honest nodes will react immediately, by broadcasting penalty transactions to the mainchain.
Isnt the whole promise of sidechains, we’re used less, so we can offer services more cheaply? But this incentive to even use them falls apart once they gain traction, because then they face the same problems as the main chain. In terms of scalability, decentralization and security.
If sidechains are done in the right way, then they have one nice property, that is not possible on the mainchain: it is possible to prune the history, as it gets confirmed on the mainchain. Coins are created by signing mainnet coins, and then they are destroyed, when mainnet coins are moved. That means, the sidechain history can be regularly pruned, when it gets confirmed on the mainchain. In this way, if the sidechain will be too big, then people can always move them directly, from one sidechain to another, a single mainchain transaction can clear the old sidechain history, and move everything to the new, fresh sidechain. And users can decide, if they want it or not, because they have to do it explicitly, by signing transactions. Imagine a Bitcoin, where you could download only the UTXO set, the Proof of Work headers, some recent blocks, and then the Initial Blockchain Download would take, I don't know, 10 GB? Maybe 20 GB? Only sidechains has such properties, because the mainchain has no upper layer.
Sure, staking is cheaper and easier for validators, but if the task is providing security and consensus, and this method cant do it, then how was the task solved?
It just makes it two-steps and fills the gap between zero and one confirmation.
Without my system: you have zero confirmations with full RBF, so anything can be always replaced, at any time.
With my system: you still have zero confirmations, but you can pay validators to sign your transaction, so the chance for it being unconfirmed forever is much lower.
You can’t have higher fees or the side chain won’t get used.
Fees will be automatically regulated by the network itself, as it is in Bitcoin. There will be just some market fee.
If the side chain has more throughput and thus make the average transaction cheaper, it will suffer the centralization problems, the main chain is trying to avoid.
You can worry about "centralization problems" in LN, they are exactly the same as in my proposal.
How will they get more coins?
Users will pass their coins to the validators explicitly, just like in LN.
How isn’t PoS more and more concentration of wealth at the top, automatically built-in, no work required?
Again, LN has the same problem, my proposal won't make it any worse than that.
Lightning is completely different it’s competitive and takes skill and planning to run successfully, it doesn’t work on the premise to give people more fees, sure the highest capital nodes can get more fees, but there can still be competition from smaller nodes, because most people won’t be needing to send high amounts everyday.
The same will be here. Also, note that mining should be decentralized, that means each validator should validate its own set of transactions, and their efforts should be then combined, to create a superblock for the whole network.
It actually helps the main chain, instead of being in competition with it, both balance each other out.
My proposal also helps the main chain, for example by taking some traffic outside of it, and then posting a batched state of the sidechain every sometimes.
Edit:
The Lightning Network doesn't; you can't double-sign transactions.
The same in my network: it will be rejected in the same way as double spends are rejected. Unless it will have a higher fee, then full RBF kicks in, exactly in the same way as it is on the main network. But after getting at least one sidechain confirmation, it will be very hard to do, in the same way as it is hard to do one-block-reorg on the main chain.
This just doesn't sound right.
Why not? Users should have a choice. If they can sell their bitcoins, and buy some useless altcoins, then why not provide them a different choice: just sign the same coins, but instead of selling them, get some sidechain coins, of the same amount in satoshis, and use new features as you wanted. Why not go that way? That proposal could be used to get rid of altcoins, which create new coins out of thin air. They should all be based on Bitcoin, there should be always no more than 21 million coins, some of them should fly on the mainchain, and the rest should be moved inside LN, sidechains, or different (not known yet) networks.
Therefore doing the work and staking will always be more profitable than staking alone.
Well, so miners will mine and stake. It is still better than mining alone, it is just the first step to convince them into staking. If they will stake, then they can see the benefits of staking, and later, if they decide to turn off their machines for any reason (for example because the endlessly growing difficulty will force them to do so), they can focus on staking, instead of leaving the crypto altogether.
If we don't have a paper that explains clearly how a Proof-of-Stake sidechain is somewhat superior, we can only do pointless speculation.
Keep calm, I'm working on it. Meanwhile, I can answer some questions and make my proposal harder to stop, based on your responses. I don't want to share something that could be easily destroyed by me, or by some regular people from forums. So, this discussion is definitely helpful to speed up the whole process, and I appreciate it. It is like in artificial intelligence: the smarter you are, the faster and the better your model can be trained.
Edit: You wanted more details, so here we go. Let's assume there is Alice, sending coins to Bob. And there is some Zack that wants to validate it. How it should be done? For example in this way:
+---------------------------------------------------------+
| ZackOne 1.00 BTC -> ZackTwo 1.01 BTC |
| SIGHASH_SINGLE|SIGHASH_ANYONECANPAY |
+---------------------------------------------------------+
That means, Zack is going to sign something, for a 0.01 BTC fee, and wants to put 1.00 BTC at stake. By using such sighashes, Zack can attach this single input and single output into any transaction that will pay him. Then, let's assume that Alice wants to send some coins to Bob:
+-----------------------------------------------------+
| Alice 0.51 BTC -> Bob 0.50 BTC |
| SIGHASH_SINGLE|SIGHASH_ANYONECANPAY |
+-----------------------------------------------------+
Guess what, both parts can be combined into a single transaction, that will have zero on-chain fee:
+--------------------------------------+
| ZackOne 1.00 BTC -> ZackTwo 1.01 BTC |
| Alice 0.51 BTC Bob 0.50 BTC |
+--------------------------------------+
That means, on-chain miners can of course mine it, but then they will get nothing. And imagine using some smaller fee than on-chain, so many sidechain transactions will be combined, and they will later reach the minimal on-chain fee, so they could be then broadcasted, as a single, huge, batched transaction. Impressive, isn't it? Also, sidechain can optimize things even more, by storing transactions in encrypted form (by using Homomorphic Encryption), then Pedersen Commitments can be used to manipulate encrypted transactions, that could be later decrypted and broadcasted to the mainchain. There are endless possibilities, I don't know what users will invent, I am trying to just provide the base standardized layer for that.