note: the "nothing at stake" problem you propose is not broken for
proof-of-burn, because the attacker

a) has no idea which past transactions are burns
b) has no way to use his mining power, even 5%, to maliciously improve
his odds of being selected

On Wed, May 26, 2021 at 9:12 AM befreeandopen
<befreeando...@protonmail.com> wrote:
>
>
>
> @befreeandopen I guess I misunderstood your selfish minting attack. Let me 
> make sure I understand it. You're saying it would go as follows?:
>
> 1. The malicious actor comes across an opportunity to mint the next 3 blocks. 
> But they hold off and don't release their blocks just yet.
> 2. They receive a new block minted by someone else.
> 3. The malicious actor then chooses to release their other 2 blocks on on the 
> second from the top block if it gives them more blocks in the future than 
> minting on the top block. And instead lets the top block proceed if it gives 
> them more blocks in the future (also figuring in the 3 blocks they're missing 
> out on minting).
> 4. Profit!
>
> The problem with this attack is that any self respecting PoS system wouldn't 
> have the information available for minters to know how blocks will affect 
> their future prospects of minting. Otherwise this would introduce the problem 
> of stake grinding. This can be done using collaborative randomness (where 
> numbers from many parties are combined to create a random number that no 
> individual party could predict). In fact, that's what the Casper protocol 
> does to decide quorums. In a non quorum case, you can do something like 
> record a hash of a number in the block header, and then have a second step to 
> release that number later. Rewards can be given can be used to ensure minters 
> act honestly here by minting messages that release these numbers and not 
> releasing their secret numbers too early.
>
>
> Yes, you misunderstood it. First, let me say that the above thoughts of yours 
> are incorrect, at least for non-quorum case. Since the transition in the 
> blockchain system from S1 to S2 is only by adding new block, and since 
> stakers always need to be able to decide whether or not they can add the next 
> block, it follows that if a staker creates a new block locally, she can 
> decide whether the new state allows her to add another block on top. As you 
> mentioned, this COULD introduce problem of staking, that you are incorrect in 
> that it is a necessity. Usual prevention of the grinding problem in this case 
> is that an "old enough" source of randomness applies for the current block 
> production process. Of course this, as it is typical for PoS, introduces 
> other problems, but let's discard those.
>
> I will try to explain in detail what you misunderstood before. You start with 
> a chain ending with blocks A-B-C, C being the top, the common feature of PoS 
> system (non-quorum), roughly speaking, is that if N is the total amount of 
> coins that participate in the staking process to create a new block on top of 
> C (let's call that D), then a participant having K*N amount of stake has 
> chance K to be the one who will create the next stake. In other words, the 
> power of stakers is supposed to be linear in the system - you own 10 coins 
> gives you 10x the chance of finding block over someone who has 1 coin.
>
> What i was claiming is that using the technique I have described, this 
> linearity is violated. Why? Well, it works for honest stakers among the 
> competition of honest stakers - they really do have the chance of K to find 
> the next block. However, the attacker, using nothing at stake, checks her 
> ability to build block D (at some timestamp). If she is successful, she does 
> not propagate D immediately, but instead she also checks whether she can 
> build on top of B and on top of A. Since with every new timestamp, usually, 
> there is a new chance to build the block, it is not uncommon that she finds 
> she is indeed able to build such block C' on top of B. Here it is likely 
> t(C') > t(C) as the attacker has relatively low stake. Note that in order to 
> produce such C', she not only could have tried the current timestamp t(D), 
> but also all previous timestamps up to t(B) (usually that's the consensus 
> rule, but it may depend on a specific consensus). So her chance to produce 
> such C' is greater than her previous chance of producing C (which chance was 
> limited by other stakers in the system and the discovery of block C by one of 
> them). Now suppose that she found such C' and now she continues by trying to 
> prolong this chain by finding D'. And again here, it is quite likely that her 
> chance to find such D' is greater than was her chance of finding D because 
> again there are likely multiple timestamps she could try. This all was 
> possible just because nothing at stake allows you to just try if you can 
> produce a block in certain state of block chain or not. Now if she actually 
> was able to find D', she discards D and only publishes chain A-B-C'-D', which 
> can not be punished despite the fact that she indeed produced two different 
> forks. She can not be punished because this production was local and only the 
> final result of A-B-C'-D' was published, in which case she gained an extra 
> block over the honest strategy which would only give her block D.
>
>
>
> Fun fact tho: there is an attack called the "selfish mining attack" for proof 
> of work, and it reduces the security of PoW by at least 1/3rd.
>
>
> How is that relevant to our discussion? This is known research that has 
> nothing to do with PoS except that it is often worse on PoS.
>
>
>
> >   the problem is not as hard as you think
>
> I don't claim to know just how hard finding the IP address associated with a 
> bitcoin address is. However, the DOS risk can be solved more completely by 
> only allowing the owner of coins themselves to know whether they can mint a 
> block. Eg by determining whether someone can mint a block based on their 
> public key hidden behind hashes (as normal in addresses). Only when someone 
> does in fact mint a block do they reveal their hidden public key in order to 
> prove they are allowed to mint the block.
>
>
> This is true, but you are mixing quorum and non-quorum systems. My objection 
> here was towards such system where I specifically said that the list of 
> producers for next epoch is known up front and you confirmed that this is 
> what you meant with "quorum" system. So in such system, I claimed, the known 
> producer is the only target at any given point of time. This of course does 
> not apply to any other type of system where future producers are not known. 
> No need to dispute, again, something that was not claimed.
>
>
>
>
> > I agree that introduction of punishment itself does not imply introducing a 
> > problem elsewhere (which I did not claim if you reread my previous message)
>
> I'm glad we agree there. Perhaps I misunderstood what you meant by "you 
> should not omit to mention that by doing so, typically, you have introduced 
> another problem elsewhere."
>
>
> Perhaps you should quote the full sentence and not just a part of it:
>
> "Of course you can always change the rules in a way that a certain specific 
> attack is not doable, but you should not omit to mention that by doing so, 
> typically, you have introduced another problem elsewhere, or you have not 
> solved it completely."
>
> You can parse this as: (CREATE PROBLEM ELSEWHERE) OR (NOT SOLVE IT COMPLETELY)
> In case of the punishment it was meant to be the not solve it completely part.
> Also "typically" does not imply always.
> But this parsing of English sentences for you seems very off topic here. My 
> point is, in context of Bitcoin, reject such unsupported claims that PoS is a 
> reasonable alternative to PoW, let's stick to that.
>
>
>
> > As long as the staker makes sure (which is not that hard) that she does not 
> > miss a chance to create a block, her significance in the system will always 
> > increase in time. It will increase relative to all normal users who do not 
> > stake
>
> Well, if you're in the closed system of the cryptocurrency, sure. But we 
> don't live in that closed system. Minters will earn some ROI from minting 
> just like any other financial activity. Others may find more success spending 
> their time doing things other than figuring out how to mint coins. In that 
> case, they'll be able to earn more coin that they could later decide to use 
> to mint blocks if they decide to.
>
>
> This only supports the point I was making. Since the optimal scenario with 
> all existing coins participating is just theoretical, the attacker's position 
> will ever so improve. It seems we are in agreement here, great.
>
>
>
>
> > Just because of the above we must reject PoS as being critically insecure
>
> I think the only thing we can conclude from this is that you have come up 
> with an insecure proof of stake protocol. I don't see how anything you've 
> brought up amounts to substantial evidence that all possible PoS protocols 
> are insecure.
>
>
> I have not come up with anything. I'm afraid you've not realized the burden 
> of proof is on your side if you vouch for a design that is not believed and 
> trusted to be secure. It is up to you to show that you know how to solve 
> every problem that people throw at you. So far we have just demonstrated that 
> your claim that nothing at stake is solved was unjustified. You have not 
> described a system that would solve it (and not introduce critical DDOS 
> attack vector as it is in quorum based systems - per the prior definition of 
> such systems).
>
> Of course the list of problems of PoS systems do not end with just nothing at 
> stake, but it is good enough example that by itself prevents its adoption in 
> decentralized consensus. No need to go to other hard problems without solving 
> nothing at stake.
>
>
>
>
>
> On Tue, May 25, 2021 at 11:10 AM befreeandopen <befreeando...@protonmail.com> 
> wrote:
>>
>>
>> @befreeandopen " An attacker can calculate whether or not she can prolong 
>> this chain or not and if so with what timestamp."
>>
>> The scenario you describe would only be likely to happen at all if the 
>> malicious actor has a very large fraction of the stake - probably quite 
>> close to 50%. At that point, you're talking about a 51% attack, not the 
>> nothing at stake problem. The nothing at stake problem is the problem where 
>> anyone will mint on any chain. Its clear that if there's a substantial 
>> punishment for minting on chains other than the one that eventually wins, 
>> every minter without a significant fraction of the stake will be honest and 
>> not attempt to mint on old blocks or support someone else's attempt to mint 
>> on old blocks (until and if it becomes the heaviest chain). Because the 
>> attacker would need probably >45% of the active stake (take a look at the 
>> reasoning here for a deeper analysis of that statement), I don't agree that 
>> punishment is not a sufficient mitigation of the nothing at stake problem. 
>> To exploit the nothing at stake problem, you basically need to 51% attack, 
>> at which point you've exceeded the operating conditions of the system, so of 
>> course its gonna have problems, just like a 51% attack would cause with PoW.
>>
>>
>> This is not at all the case. The attacker benefits using the described 
>> technique at any size of the stake and significantly so with just 5% of the 
>> stake. By significantly, I do not mean that the attacker is able to 
>> completely take control the network (in short term), but rather that the 
>> attacker has significant advantage in the number of blocks she creates 
>> compared to what she "should be able to create". This means the attacker's 
>> stake increases significantly faster than of the honest nodes, which in long 
>> term is very serious in PoS system. If you believe close to 50% is needed 
>> for that, you need to redo your math. So no, you are wrong stating that "to 
>> exploit nothing at stake problem you basically need to 51% attack". It is 
>> rather the opposite - eventually, nothing at stake attack leads to ability 
>> to perform 51% attack.
>>
>>
>>
>> > I am not sure if this is what you call quorum-based PoS
>>
>> Yes, pre-selected minters is exactly what I mean by that.
>>
>> > it allows the attacker to know who to attack at which point with powerful 
>> > DDOS in order to hurt liveness of such system
>>
>> Just like in bitcoin, associating keys with IP addresses isn't generally an 
>> easy thing to do on the fly like that. If you know someone's IP address, you 
>> can target them. But if you only know their address or public key, the 
>> reverse isn't as easy. With a quorum-based PoS system, you can see their 
>> public key and address, but finding out their IP to DOS would be a huge 
>> challenge I think.
>>
>>
>> I do not dispute that the problem is not trivial, but the problem is not as 
>> hard as you think. The network graph analysis is a known technique and it is 
>> not trivial, but not very hard either. Introducing a large number of nodes 
>> to the system to achieve very good success rate of analysis of area of 
>> origin of blocks is doable and has been done in past. So again, I very much 
>> disagree with your conclusion that this is somehow secure. It is absolutely 
>> insecure.
>>
>>
>>
>> Note, tho, that quorum-based PoS generally also have punishments as part of 
>> the protocol. The introduction of punishments do indeed handily solve the 
>> nothing at stake problem. And you didn't mention a single problem that the 
>> punishments introduce that weren't already there before punishments. There 
>> are tradeoffs with introducing punishments (eg in some cases you might 
>> punish honest actors), but they are minor in comparison to solving the 
>> nothing at stake problem.
>>
>>
>> While I agree that introduction of punishment itself does not imply 
>> introducing a problem elsewhere (which I did not claim if you reread my 
>> previous message), it does introduce additional complexity which may 
>> introduce problem, but more importantly, while it slightly improves 
>> resistance against the nothing at stake attack, it solves absolutely 
>> nothing. Your claim is based on wrong claim of needed close to 50% stake, 
>> but that could not be farther from the truth. It is not true even in optimal 
>> conditions when all participants of the network stake or delegate their 
>> stake. These optimal conditions rarely, if ever, occur. And that's another 
>> thing that we have not mention in our debate, so please allow me to 
>> introduce another problem to PoS.
>>
>> Consider what is needed for such optimal conditions to occur - all coins are 
>> always part of the stake, which means that they need to somehow 
>> automatically part of the staking process even when they are moved. But in 
>> many PoS systems you usually require some age (in terms of confirmations) of 
>> the coin before you allow it to be used for participation in staking process 
>> and that is for a good reason - to prevent various grinding attacks. In some 
>> systems the coin must be specifically registered before it can be staked, in 
>> others, simply waiting for enough confirmations enables you to stake with 
>> the coin. I am not sure if there is a system which does not have this 
>> cooling period for a coin that has been moved. Maybe it is possible though, 
>> but AFAIK it is not common and not battle tested feature.
>>
>> Then if we admit that achieving the optimal condition is rather theoretical. 
>> Then if we do not have the optimal condition, it means that a staker with K% 
>> of the total available supply increases it's percentage over time to some 
>> amounts >K%. As long as the staker makes sure (which is not that hard) that 
>> she does not miss a chance to create a block, her significance in the system 
>> will always increase in time. It will increase relative to all normal users 
>> who do not stake (if there are any) and relative to all other stakers who 
>> make mistakes or who are not wealthy enough to afford not selling any 
>> position ever. But powerful attacker is exactly in such position and thus 
>> she will gain significance in such a system. The technique I have described, 
>> and that you mistakenly think is viable only with huge amounts of stake, 
>> only puts the attacker to even greater advantage. But even without the 
>> described attack (which exploits nothing at stake), the PoS system converges 
>> to a system more and more controlled by powerful entity, which we can assume 
>> is the attacker.
>>
>>
>> So I don't think it is at all misleading to claim that "nothing at stake" is 
>> a solved problem. I do in fact mean that the solutions to that problem don't 
>> introduce any other problems with anywhere near the same level of 
>> significance.
>>
>>
>> It still stands as truly misleading claim. I disagree that introducing DDOS 
>> opportunity with medium level of difficulty for the attacker to implement 
>> it, in case of "quorum-based PoS" is not a problem anywhere near the same 
>> level of significance. Such an attack vector allows you to turn off the 
>> network if you spend some time and money. That is hardly acceptable.
>>
>> Just because of the above we must reject PoS as being critically insecure 
>> until someone invents and demonstrates an actual way of solving these issues.
>>
>>
>>
>> On Tue, May 25, 2021 at 3:00 AM Erik Aronesty <e...@q32.com> wrote:
>>>
>>> > > you burn them to be used at a future particular block height
>>>
>>> > This sounds exploitable. It seems like an attacker could simply focus all 
>>> > their burns on a particular set of 6 blocks to double spend, minimizing 
>>> > their cost of attack.
>>>
>>> could be right.   the original idea was to have burns decay over time,
>>> like ASIC's.
>>>
>>> anyway the point was not that "i had a magic formula"
>>>
>>> the point was that proof of burn is almost always better than proof of
>>> stake - simply because the "proof" is on-chain, not sitting on a node
>>> somewhere waiting to be stolen.
>>>
>>> On Mon, May 24, 2021 at 9:53 PM Billy Tetrud <billy.tet...@gmail.com> wrote:
>>> >
>>> > Is this the kind of proof of burn you're talking about?
>>> >
>>> > >   if i have a choice between two chains, one longer and one shorter, i 
>>> > > can only choose one... deterministically
>>> >
>>> > What prevents you from attempting to mine block 553 on both chains?
>>> >
>>> > > miners have a very strong, long-term, investment in the stability of 
>>> > > the chain.
>>> >
>>> > Yes, but the same can be said of any coin, even ones that do have the 
>>> > nothing at stake problem. This isn't sufficient tho because the chain is 
>>> > a common good, and the tragedy of the commons holds for it.
>>> >
>>> > > you burn them to be used at a future particular block height
>>> >
>>> > This sounds exploitable. It seems like an attacker could simply focus all 
>>> > their burns on a particular set of 6 blocks to double spend, minimizing 
>>> > their cost of attack.
>>> >
>>> > > i can imagine scenarios where large stakeholders can collude to punish 
>>> > > smaller stakeholders simply to drive them out of business, for example
>>> >
>>> > Are you talking about a 51% attack? This is possible in any decentralized 
>>> > cryptocurrency.
>>> >
>>> >
>>> > On Mon, May 24, 2021 at 11:49 AM Erik Aronesty <e...@q32.com> wrote:
>>> >>
>>> >> > > your burn investment is always "at stake", any redaction can result 
>>> >> > > in a loss-of-burn, because burns can be tied, precisely, to 
>>> >> > > block-heights
>>> >> > I'm fuzzy on how proof of burn works.
>>> >>
>>> >> when you burn coins, you burn them to be used at a future particular
>>> >> block height: so if i'm burning for block 553, i can only use them to
>>> >> mine block 553.   if i have a choice between two chains, one longer
>>> >> and one shorter, i can only choose one... deterministically, for that
>>> >> burn: the chain with the height 553.   if we fix the "lead time" for
>>> >> burned coins to be weeks or even months in advance, miners have a very
>>> >> strong, long-term, investment in the stability of the chain.
>>> >>
>>> >> therefore there is no "nothing at stake" problem.   it's
>>> >> deterministic, so miners have no choice.  they can *only* choose the
>>> >> transactions that go into the block.  they cannot choose which chain
>>> >> to mine, and it's time-locked, so rollbacks and instability always
>>> >> hurt miners the most.
>>> >>
>>> >> the "punishment" systems of PoS are "weird at best", certainly
>>> >> unproven.   i can imagine scenarios where large stakeholders can
>>> >> collude to punish smaller stakeholders simply to drive them out of
>>> >> business, for example.   and then you have to put checks in place to
>>> >> prevent that, and more checks for those prevention system...
>>> >>
>>> >> in PoB, there is no complexity.  simpler systems like this are
>>> >> typically more secure.
>>> >>
>>> >> PoB also solves problems caused by "energy dependence", which could
>>> >> lead to state monopolies on mining (like the new Bitcoin Mining
>>> >> Council).   these consortiums, if state sanctioned, could become a
>>> >> source of censorship, for example.   Since PoB doesn't require you to
>>> >> have a live, well-connected node, it's harder to censor & harder to
>>> >> trace.
>>> >>
>>> >> Eliminating this weakness seems to be in the best interests of
>>> >> existing stakeholders
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> On Mon, May 24, 2021 at 4:44 PM Billy Tetrud <billy.tet...@gmail.com> 
>>> >> wrote:
>>> >> >
>>> >> > >  proof of burn clearly solves this, since nothing is held online
>>> >> >
>>> >> > Well.. the coins to be burned need to be online when they're burned. 
>>> >> > But yes, only a small fraction of the total coins need to be online.
>>> >> >
>>> >> > > your burn investment is always "at stake", any redaction can result 
>>> >> > > in a loss-of-burn, because burns can be tied, precisely, to 
>>> >> > > block-heights
>>> >> >
>>> >> > So you're saying that if say someone tries to mine a block on a 
>>> >> > shorter chain, that requires them to send a transaction burning their 
>>> >> > coins, and that transaction could also be spent on the longest chain, 
>>> >> > which means their coins are burned even if the chain they tried to 
>>> >> > mine on doesn't win? I'm fuzzy on how proof of burn works.
>>> >> >
>>> >> > > proof of burn can be more secure than proof-of-stake
>>> >> >
>>> >> > FYI, proof of stake can be done without the "nothing at stake" 
>>> >> > problem. You can simply punish people who mint on shorter chains (by 
>>> >> > rewarding people who publish proofs of this happening on the main 
>>> >> > chain). In quorum-based PoS, you can punish people in the quorum that 
>>> >> > propose or sign multiple blocks for the same height. The "nothing at 
>>> >> > stake" problem is a solved problem at this point for PoS.
>>> >> >
>>> >> >
>>> >> >
>>> >> > On Mon, May 24, 2021 at 3:47 AM Erik Aronesty <e...@q32.com> wrote:
>>> >> >>
>>> >> >> > I don't see a way to get around the conflicting requirement that 
>>> >> >> > the keys for large amounts of coins should be kept offline but 
>>> >> >> > those are exactly the coins we need online to make the scheme 
>>> >> >> > secure.
>>> >> >>
>>> >> >> proof of burn clearly solves this, since nothing is held online
>>> >> >>
>>> >> >> >  how does proof of burn solve the "nothing at stake" problem in 
>>> >> >> > your view?
>>> >> >>
>>> >> >> definition of nothing at stake: in the event of a fork, whether the
>>> >> >> fork is accidental or a malicious, the optimal strategy for any miner
>>> >> >> is to mine on every chain, so that the miner gets their reward no
>>> >> >> matter which fork wins.   indeed in proof-of-stake, the proofs are
>>> >> >> published on the very chains mines, so the incentive is magnified.
>>> >> >>
>>> >> >> in proof-of-burn, your burn investment is always "at stake", any
>>> >> >> redaction can result in a loss-of-burn, because burns can be tied,
>>> >> >> precisely, to block-heights
>>> >> >>
>>> >> >> as a result, miners no longer have an incentive to mine all chains
>>> >> >>
>>> >> >> in this way proof of burn can be more secure than proof-of-stake, and
>>> >> >> even more secure than proof of work
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >> >
>>> >> >>
>>> >> >> On Sun, May 23, 2021 at 3:52 AM Lloyd Fournier via bitcoin-dev
>>> >> >> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>> >> >> >
>>> >> >> > Hi Billy,
>>> >> >> >
>>> >> >> > I was going to write a post which started by dismissing many of the 
>>> >> >> > weak arguments that are made against PoS made in this thread and 
>>> >> >> > elsewhere.
>>> >> >> > Although I don't agree with all your points you have done a decent 
>>> >> >> > job here so I'll focus on the second part: why I think 
>>> >> >> > Proof-of-Stake is inappropriate for a Bitcoin-like system.
>>> >> >> >
>>> >> >> > Proof of stake is not fit for purpose for a global settlement layer 
>>> >> >> > in a pure digital asset (i.e. "digital gold") which is what Bitcoin 
>>> >> >> > is trying to be.
>>> >> >> > PoS necessarily gives responsibilities to the holders of coins that 
>>> >> >> > they do not want and cannot handle.
>>> >> >> > In Bitcoin, large unsophisticated coin holders can put their coins 
>>> >> >> > in cold storage without a second thought given to the health of the 
>>> >> >> > underlying ledger.
>>> >> >> > As much as hardcore Bitcoiners try to convince them to run their 
>>> >> >> > own node, most don't, and that's perfectly acceptable.
>>> >> >> > At no point do their personal decisions affect the underlying 
>>> >> >> > consensus -- it only affects their personal security assurance (not 
>>> >> >> > that of the system itself).
>>> >> >> > In PoS systems this clean separation of responsibilities does not 
>>> >> >> > exist.
>>> >> >> >
>>> >> >> > I think that the more rigorously studied PoS protocols will work 
>>> >> >> > fine within the security claims made in their papers.
>>> >> >> > People who believe that these protocols are destined for 
>>> >> >> > catastrophic consensus failure are certainly in for a surprise.
>>> >> >> > But the devil is in the detail.
>>> >> >> > Let's look at what the implications of using the leading proof of 
>>> >> >> > stake protocols would have on Bitcoin:
>>> >> >> >
>>> >> >> > ### Proof of SquareSpace (Cardano, Polkdadot)
>>> >> >> >
>>> >> >> > Cardano is a UTXO based PoS coin based on Ouroboros Praos[3] with 
>>> >> >> > an inbuilt on-chain delegation system[5].
>>> >> >> > In these protocols, coin holders who do not want to run their node 
>>> >> >> > with their hot keys in it delegate it to a "Stake Pool".
>>> >> >> > I call the resulting system Proof-of-SquareSpace since most will 
>>> >> >> > choose a pool by looking around for one with a nice website and 
>>> >> >> > offering the largest share of the block reward.
>>> >> >> > On the surface this might sound no different than someone with an 
>>> >> >> > mining rig shopping around for a good mining pool but there are 
>>> >> >> > crucial differences:
>>> >> >> >
>>> >> >> > 1. The person making the decision is forced into it just because 
>>> >> >> > they own the currency -- someone with a mining rig has purchased it 
>>> >> >> > with the intent to make profit by participating in consensus.
>>> >> >> >
>>> >> >> > 2. When you join a mining pool your systems are very much still 
>>> >> >> > online. You are just partaking in a pool to reduce your profit 
>>> >> >> > variance. You still see every block that you help create and *you 
>>> >> >> > never help create a block without seeing it first*.
>>> >> >> >
>>> >> >> > 3. If by SquareSpace sybil attack you gain a dishonest majority and 
>>> >> >> > start censoring transactions how are the users meant to redelegate 
>>> >> >> > their stake to honest pools?
>>> >> >> > I guess they can just send a transaction delegating to another 
>>> >> >> > pool...oh wait I guess that might be censored too! This seems 
>>> >> >> > really really bad.
>>> >> >> > In Bitcoin, miners can just join a different pool at a whim. There 
>>> >> >> > is nothing the attacker can do to stop them. A temporary dishonest 
>>> >> >> > majority heals relatively well.
>>> >> >> >
>>> >> >> > There is another severe disadvantage to this on-chain delegation 
>>> >> >> > system: every UTXO must indicate which staking account this UTXO 
>>> >> >> > belongs to so the appropriate share of block rewards can be 
>>> >> >> > transferred there.
>>> >> >> > Being able to associate every UTXO to an account ruins one of the 
>>> >> >> > main privacy advantages of the UTXO model.
>>> >> >> > It also grows the size of the blockchain significantly.
>>> >> >> >
>>> >> >> > ### "Pure" proof of stake (Algorand)
>>> >> >> >
>>> >> >> > Algorand's[4] approach is to only allow online stake to participate 
>>> >> >> > in the protocol.
>>> >> >> > Theoretically, This means that keys holding funds have to be online 
>>> >> >> > in order for them to author blocks when they are chosen.
>>> >> >> > Of course in reality no one wants to keep their coin holding keys 
>>> >> >> > online so in Alogorand you can authorize a set of "participation 
>>> >> >> > keys"[1] that will be used to create blocks on your coin holding 
>>> >> >> > key's behalf.
>>> >> >> > Hopefully you've spotted the problem.
>>> >> >> > You can send your participation keys to any malicious party with a 
>>> >> >> > nice website (see random example [2]) offering you a good return.
>>> >> >> > Damn it's still Proof-of-SquareSpace!
>>> >> >> > The minor advantage is that at least the participation keys expire 
>>> >> >> > after a certain amount of time so eventually the SquareSpace 
>>> >> >> > attacker will lose their hold on consensus.
>>> >> >> > Importantly there is also less junk on the blockchain because the 
>>> >> >> > participation keys are delegated off-chain and so are not making as 
>>> >> >> > much of a mess.
>>> >> >> >
>>> >> >> > ### Conclusion
>>> >> >> >
>>> >> >> > I don't see a way to get around the conflicting requirement that 
>>> >> >> > the keys for large amounts of coins should be kept offline but 
>>> >> >> > those are exactly the coins we need online to make the scheme 
>>> >> >> > secure.
>>> >> >> > If we allow delegation then we open up a new social attack surface 
>>> >> >> > and it degenerates to Proof-of-SquareSpace.
>>> >> >> >
>>> >> >> > For a "digital gold" like system like Bitcoin we optimize for 
>>> >> >> > simplicity and desperately want to avoid extraneous 
>>> >> >> > responsibilities for the holder of the coin.
>>> >> >> > After all, gold is an inert element on the periodic table that 
>>> >> >> > doesn't confer responsibilities on the holder to maintain the 
>>> >> >> > quality of all the other bars of gold out there.
>>> >> >> > Bitcoin feels like this too and in many ways is more inert and 
>>> >> >> > beautifully boring than gold.
>>> >> >> > For Bitcoin to succeed I think we need to keep it that way and 
>>> >> >> > Proof-of-Stake makes everything a bit too exciting.
>>> >> >> >
>>> >> >> > I suppose in the end the market will decide what is real digital 
>>> >> >> > gold and whether these bad technical trade offs are worth being 
>>> >> >> > able to say it uses less electricity. It goes without saying that 
>>> >> >> > making bad technical decisions to appease the current political 
>>> >> >> > climate is an anathema to Bitcoin.
>>> >> >> >
>>> >> >> > Would be interested to know if you or others think differently on 
>>> >> >> > these points.
>>> >> >> >
>>> >> >> > [1]: 
>>> >> >> > https://developer.algorand.org/docs/run-a-node/participate/generate_keys/
>>> >> >> > [2]: https://staking.staked.us/algorand-staking
>>> >> >> > [3]: https://eprint.iacr.org/2017/573.pdf
>>> >> >> > [4]: 
>>> >> >> > https://algorandcom.cdn.prismic.io/algorandcom%2Fece77f38-75b3-44de-bc7f-805f0e53a8d9_theoretical.pdf
>>> >> >> > [5]: 
>>> >> >> > https://hydra.iohk.io/build/790053/download/1/delegation_design_spec.pdf
>>> >> >> >
>>> >> >> > Cheers,
>>> >> >> >
>>> >> >> > LL
>>> >> >> >
>>> >> >> > On Fri, 21 May 2021 at 19:21, Billy Tetrud via bitcoin-dev 
>>> >> >> > <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>> >> >> >>
>>> >> >> >> I think there is a lot of misinformation and bias against Proof of 
>>> >> >> >> Stake. Yes there have been lots of shady coins that use insecure 
>>> >> >> >> PoS mechanisms. Yes there have been massive issues with 
>>> >> >> >> distribution of PoS coins (of course there have also been massive 
>>> >> >> >> issues with PoW coins as well). However, I want to remind everyone 
>>> >> >> >> that there is a difference between "proved to be impossible" and 
>>> >> >> >> "have not achieved recognized success yet". Most of the arguments 
>>> >> >> >> levied against PoS are out of date or rely on unproven assumptions 
>>> >> >> >> or extrapolation from the analysis of a particular PoS system. I 
>>> >> >> >> certainly don't think we should experiment with bitcoin by 
>>> >> >> >> switching to PoS, but from my research, it seems very likely that 
>>> >> >> >> there is a proof of stake consensus protocol we could build that 
>>> >> >> >> has substantially higher security (cost / capital required to 
>>> >> >> >> execute an attack) while at the same time costing far less 
>>> >> >> >> resources (which do translate to fees on the network) *without* 
>>> >> >> >> compromising any of the critical security properties bitcoin 
>>> >> >> >> relies on. I think the critical piece of this is the disagreements 
>>> >> >> >> around hardcoded checkpoints, which is a critical piece solving 
>>> >> >> >> attacks that could be levied on a PoS chain, and how that does (or 
>>> >> >> >> doesn't) affect the security model.
>>> >> >> >>
>>> >> >> >> @Eric Your proof of stake fallacy seems to be saying that PoS is 
>>> >> >> >> worse when a 51% attack happens. While I agree, I think that line 
>>> >> >> >> of thinking omits important facts:
>>> >> >> >> * The capital required to 51% attack a PoS chain can be made 
>>> >> >> >> substantially greater than on a PoS chain.
>>> >> >> >> * The capital the attacker stands to lose can be substantially 
>>> >> >> >> greater as well if the attack is successful.
>>> >> >> >> * The effectiveness of paying miners to raise the honest fraction 
>>> >> >> >> of miners above 50% may be quite bad.
>>> >> >> >> * Allowing a 51% attack is already unacceptable. It should be 
>>> >> >> >> considered whether what happens in the case of a 51% may not be 
>>> >> >> >> significantly different. The currency would likely be critically 
>>> >> >> >> damaged in a 51% attack regardless of consensus mechanism.
>>> >> >> >>
>>> >> >> >> > Proof-of-stake tends towards oligopolistic control
>>> >> >> >>
>>> >> >> >> People repeat this often, but the facts support this. There is no 
>>> >> >> >> centralization pressure in any proof of stake mechanism that I'm 
>>> >> >> >> aware of. IE if you have 10 times as much coin that you use to 
>>> >> >> >> mint blocks, you should expect to earn 10x as much minting revenue 
>>> >> >> >> - not more than 10x. By contrast, proof of work does in fact have 
>>> >> >> >> clear centralization pressure - this is not disputed. Our goal in 
>>> >> >> >> relation to that is to ensure that the centralization pressure 
>>> >> >> >> remains insignifiant. Proof of work also clearly has a lot more 
>>> >> >> >> barriers to entry than any proof of stake system does. Both of 
>>> >> >> >> these mean the tendency towards oligopolistic control is worse for 
>>> >> >> >> PoW.
>>> >> >> >>
>>> >> >> >> > Energy usage, in-and-of-itself, is nothing to be ashamed of!!
>>> >> >> >>
>>> >> >> >> I certainly agree. Bitcoin's energy usage at the moment is I think 
>>> >> >> >> quite warranted. However, the question is: can we do substantially 
>>> >> >> >> better. I think if we can, we probably should... eventually.
>>> >> >> >>
>>> >> >> >> > Proof of Stake is only resilient to ⅓ of the network 
>>> >> >> >> > demonstrating a Byzantine Fault, whilst Proof of Work is 
>>> >> >> >> > resilient up to the ½ threshold
>>> >> >> >>
>>> >> >> >> I see no mention of this in the pos.pdf you linked to. I'm not 
>>> >> >> >> aware of any proof that all PoS systems have a failure threshold 
>>> >> >> >> of 1/3. I know that staking systems like Casper do in fact have 
>>> >> >> >> that 1/3 requirement. However there are PoS designs that should 
>>> >> >> >> exceed that up to nearly 50% as far as I'm aware. Proof of work is 
>>> >> >> >> not in fact resilient up to the 1/2 threshold in the way you would 
>>> >> >> >> think. IE, if 100% of miners are currently honest and have a 
>>> >> >> >> collective 100 exahashes/s hashpower, an attacker does not need to 
>>> >> >> >> obtain 100 exahashes/s, but actually only needs to accumulate 50 
>>> >> >> >> exahashes/s. This is because as the attacker accumulates 
>>> >> >> >> hashpower, it drives honest miners out of the market as the 
>>> >> >> >> difficulty increases to beyond what is economically sustainable. 
>>> >> >> >> Also, its been shown that the best proof of work can do is require 
>>> >> >> >> an attacker to obtain 33% of the hashpower because of the selfish 
>>> >> >> >> mining attack discussed in depth in this paper: 
>>> >> >> >> https://arxiv.org/abs/1311.0243. Together, both of these things 
>>> >> >> >> reduce PoW's security by a factor of about 83% (1 - 50%*33%).
>>> >> >> >>
>>> >> >> >>  > Proof of Stake requires other trade-offs which are incompatible 
>>> >> >> >> with Bitcoin's objective (to be a trustless digital cash) — 
>>> >> >> >> specifically the famous "security vs. liveness" guarantee
>>> >> >> >>
>>> >> >> >> Do you have a good source that talks about why you think proof of 
>>> >> >> >> stake cannot be used for a trustless digital cash?
>>> >> >> >>
>>> >> >> >> > You cannot gain tokens without someone choosing to give up those 
>>> >> >> >> > coins - a form of permission.
>>> >> >> >>
>>> >> >> >> This is not a practical constraint. Just like in mining, some 
>>> >> >> >> nodes may reject you, but there will likely be more that will 
>>> >> >> >> accept you, some sellers may reject you, but most would accept 
>>> >> >> >> your money as payment for bitcoins. I don't think requiring the 
>>> >> >> >> "permission" of one of millions of people in the market can be 
>>> >> >> >> reasonably considered a "permissioned currency".
>>> >> >> >>
>>> >> >> >> > 2. Proof of stake must have a trusted means of timestamping to 
>>> >> >> >> > regulate overproduction of blocks
>>> >> >> >>
>>> >> >> >> Both PoW and PoS could mine/mint blocks twice as fast if everyone 
>>> >> >> >> agreed to double their clock speeds. Both systems rely on an 
>>> >> >> >> honest majority sticking to standard time.
>>> >> >> >>
>>> >> >> >>
>>> >> >> >> On Wed, May 19, 2021 at 5:32 AM Michael Dubrovsky via bitcoin-dev 
>>> >> >> >> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>> >> >> >>>
>>> >> >> >>> Ah sorry, I didn't realize this was, in fact, a different thread! 
>>> >> >> >>> :)
>>> >> >> >>>
>>> >> >> >>> On Wed, May 19, 2021 at 10:07 AM Michael Dubrovsky 
>>> >> >> >>> <m...@powx.org> wrote:
>>> >> >> >>>>
>>> >> >> >>>> Folks, I suggest we keep the discussion to PoW, oPoW, and the 
>>> >> >> >>>> BIP itself. PoS, VDFs, and so on are interesting but I guess 
>>> >> >> >>>> there are other threads going on these topics already where they 
>>> >> >> >>>> would be relevant.
>>> >> >> >>>>
>>> >> >> >>>> Also, it's important to distinguish between oPoW and these other 
>>> >> >> >>>> "alternatives" to Hashcash. oPoW is a true Proof of Work that 
>>> >> >> >>>> doesn't alter the core game theory or security assumptions of 
>>> >> >> >>>> Hashcash and actually contains SHA (can be SHA3, SHA256, etc 
>>> >> >> >>>> hash is interchangeable).
>>> >> >> >>>>
>>> >> >> >>>> Cheers,
>>> >> >> >>>> Mike
>>> >> >> >>>>
>>> >> >> >>>> On Tue, May 18, 2021 at 4:55 PM Erik Aronesty via bitcoin-dev 
>>> >> >> >>>> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>> >> >> >>>>>
>>> >> >> >>>>> 1. i never suggested vdf's to replace pow.
>>> >> >> >>>>>
>>> >> >> >>>>> 2. my suggestion was specifically *in the context of* a working
>>> >> >> >>>>> proof-of-burn protocol
>>> >> >> >>>>>
>>> >> >> >>>>> - vdfs used only for timing (not block height)
>>> >> >> >>>>> - blind-burned coins of a specific age used to replace proof of 
>>> >> >> >>>>> work
>>> >> >> >>>>> - the required "work" per block would simply be a competition to
>>> >> >> >>>>> acquire rewards, and so miners would have to burn coins, well in
>>> >> >> >>>>> advance, and hope that their burned coins got rewarded in some 
>>> >> >> >>>>> far
>>> >> >> >>>>> future
>>> >> >> >>>>> - the point of burned coins is to mimic, in every meaningful 
>>> >> >> >>>>> way, the
>>> >> >> >>>>> value gained from proof of work... without some of the security
>>> >> >> >>>>> drawbacks
>>> >> >> >>>>> - the miner risks losing all of his burned coins (like all 
>>> >> >> >>>>> miners risk
>>> >> >> >>>>> losing their work in each block)
>>> >> >> >>>>> - new burns can't be used
>>> >> >> >>>>> - old burns age out (like ASICs do)
>>> >> >> >>>>> - other requirements on burns might be needed to properly 
>>> >> >> >>>>> mirror the
>>> >> >> >>>>> properties of PoW and the incentives Bitcoin uses to mine 
>>> >> >> >>>>> honestly.
>>> >> >> >>>>>
>>> >> >> >>>>> 3. i do believe it is *possible* that a "burned coin + vdf 
>>> >> >> >>>>> system"
>>> >> >> >>>>> might be more secure in the long run, and that if the entire 
>>> >> >> >>>>> space
>>> >> >> >>>>> agreed that such an endeavor was worthwhile, a test net could 
>>> >> >> >>>>> be spun
>>> >> >> >>>>> up, and a hard-fork could be initiated.
>>> >> >> >>>>>
>>> >> >> >>>>> 4. i would never suggest such a thing unless i believed it was
>>> >> >> >>>>> possible that consensus was possible.  so no, this is not an 
>>> >> >> >>>>> "alt
>>> >> >> >>>>> coin"
>>> >> >> >>>>>
>>> >> >> >>>>> On Tue, May 18, 2021 at 10:02 AM Zac Greenwood 
>>> >> >> >>>>> <zach...@gmail.com> wrote:
>>> >> >> >>>>> >
>>> >> >> >>>>> > Hi ZmnSCPxj,
>>> >> >> >>>>> >
>>> >> >> >>>>> > Please note that I am not suggesting VDFs as a means to save 
>>> >> >> >>>>> > energy, but solely as a means to make the time between blocks 
>>> >> >> >>>>> > more constant.
>>> >> >> >>>>> >
>>> >> >> >>>>> > Zac
>>> >> >> >>>>> >
>>> >> >> >>>>> >
>>> >> >> >>>>> > On Tue, 18 May 2021 at 12:42, ZmnSCPxj 
>>> >> >> >>>>> > <zmnsc...@protonmail.com> wrote:
>>> >> >> >>>>> >>
>>> >> >> >>>>> >> Good morning Zac,
>>> >> >> >>>>> >>
>>> >> >> >>>>> >> > VDFs might enable more constant block times, for instance 
>>> >> >> >>>>> >> > by having a two-step PoW:
>>> >> >> >>>>> >> >
>>> >> >> >>>>> >> > 1. Use a VDF that takes say 9 minutes to resolve (VDF 
>>> >> >> >>>>> >> > being subject to difficulty adjustments similar to the 
>>> >> >> >>>>> >> > as-is). As per the property of VDFs, miners are able show 
>>> >> >> >>>>> >> > proof of work.
>>> >> >> >>>>> >> >
>>> >> >> >>>>> >> > 2. Use current PoW mechanism with lower difficulty so 
>>> >> >> >>>>> >> > finding a block takes 1 minute on average, again subject 
>>> >> >> >>>>> >> > to as-is difficulty adjustments.
>>> >> >> >>>>> >> >
>>> >> >> >>>>> >> > As a result, variation in block times will be greatly 
>>> >> >> >>>>> >> > reduced.
>>> >> >> >>>>> >>
>>> >> >> >>>>> >> As I understand it, another weakness of VDFs is that they 
>>> >> >> >>>>> >> are not inherently progress-free (their sequential nature 
>>> >> >> >>>>> >> prevents that; they are inherently progress-requiring).
>>> >> >> >>>>> >>
>>> >> >> >>>>> >> Thus, a miner which focuses on improving the amount of 
>>> >> >> >>>>> >> energy that it can pump into the VDF circuitry (by 
>>> >> >> >>>>> >> overclocking and freezing the circuitry), could potentially 
>>> >> >> >>>>> >> get into a winner-takes-all situation, possibly leading to 
>>> >> >> >>>>> >> even *worse* competition and even *more* energy consumption.
>>> >> >> >>>>> >> After all, if you can start mining 0.1s faster than the 
>>> >> >> >>>>> >> competition, that is a 0.1s advantage where *only you* can 
>>> >> >> >>>>> >> mine *in the entire world*.
>>> >> >> >>>>> >>
>>> >> >> >>>>> >> Regards,
>>> >> >> >>>>> >> ZmnSCPxj
>>> >> >> >>>>> _______________________________________________
>>> >> >> >>>>> bitcoin-dev mailing list
>>> >> >> >>>>> bitcoin-dev@lists.linuxfoundation.org
>>> >> >> >>>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>> >> >> >>>>
>>> >> >> >>>>
>>> >> >> >>>>
>>> >> >> >>>> --
>>> >> >> >>>> Michael Dubrovsky
>>> >> >> >>>> Founder; PoWx
>>> >> >> >>>> www.PoWx.org
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>> --
>>> >> >> >>> Michael Dubrovsky
>>> >> >> >>> Founder; PoWx
>>> >> >> >>> www.PoWx.org
>>> >> >> >>> _______________________________________________
>>> >> >> >>> bitcoin-dev mailing list
>>> >> >> >>> bitcoin-dev@lists.linuxfoundation.org
>>> >> >> >>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>> >> >> >>
>>> >> >> >> _______________________________________________
>>> >> >> >> bitcoin-dev mailing list
>>> >> >> >> bitcoin-dev@lists.linuxfoundation.org
>>> >> >> >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>> >> >> >
>>> >> >> > _______________________________________________
>>> >> >> > bitcoin-dev mailing list
>>> >> >> > bitcoin-dev@lists.linuxfoundation.org
>>> >> >> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>
>

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to