Bitcoin Forum
June 23, 2024, 03:48:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 315 »
981  Bitcoin / Development & Technical Discussion / Re: SIGHASH precedence for multisig? on: March 02, 2016, 03:25:15 PM
But for a multisig output that is being signed by multiple signers and where the signers are using different SIGHASH types, I think there needs to be a defined way of figuring out what SIGHASH mode is in effect.

From what I understand, the SIGHASH flag is used to determine what the signature actually signs.

transaction --- SIGHASH --->  signature-target --- ECDSA ---> Signature.

Since each signature has a different sighash byte, they can also use a different signature target.

There are only 2 steps.  The bottom 5 bits select one of the output options and the 6th bit selects if you want to blank out the other inputs.

Unless the bottom 5 bits are 0x02 (SIGHASH_NONE) or 0x03 (SIGHASH_SINGLE), all the outputs are included.  If the bit for 0x20 is set, then all inputs are blanked except the current input (SIGHASH_ANYONE_CAN_PAY).

See here.

While it could potentially be expanded, that would be a hard fork to include it in the basic script.  P2SH or SW could include new sighash operations in their script (and SW is expandable).
That is the part about how to make the modified tx to sign, but how do I treat a set of sigs for a tx where the different multisig signers use different SIGHASH modes?

I can verify it is a valid signature, but what happens if there is SIGHASH_ALL for one sig, SIGHASH_SINGLE for another and SIGHASH_ANYONE_CAN_PAY for the third sig for the same input. Things are complicated enough with the different vins for a tx, which might or might not be dependent on each other, but do I do an M of N and count any mismatched SIGHASH as invalid? and which ones are mismatched if there are three different ones? Maybe depending on other clues, it can be determined which SIGHASH mode is valid for a specific tx, but what if more than one could be valid? It seems there would need to be a precedence or at least much clearer explanation on what should happen in these mixed SIGHASH vins.

Then I can start to worry about what happens when we have a single tx that contains mixed SIGHASH vins. As it is, it is tempting to just require SIGHASH_ALL across the board.

James

982  Bitcoin / Development & Technical Discussion / SIGHASH precedence for multisig? on: March 02, 2016, 02:25:49 PM
As you know there are several SIGHASH types, each signature has a byte at the end to indicate how it was signed.

I searched, but could not find any definitive explanation of the precedence and how all the various SIGHASH types affect each other.

For most inputs with a single signer, this is a moot issue, though even that doesnt seem to be true as some parts of an input appear to propagate to the entire tx, or its outputs or at least something beyond the apparent scope of the vin that is being signed.

But for a multisig output that is being signed by multiple signers and where the signers are using different SIGHASH types, I think there needs to be a defined way of figuring out what SIGHASH mode is in effect.

A few lines in the official docs leaves a lot to the imagination. Is it even valid for there to be different SIGHASH types in the same vin? Maybe it is just rejected if they dont all match? Or maybe there is an implicit precedence that applies?

James
983  Bitcoin / Development & Technical Discussion / Re: Why blocktime decrease instead of blocksize increase is not discussed? on: March 02, 2016, 12:42:18 PM
This was asked, and answered in another recent thread: https://bitcointalk.org/index.php?topic=1378112.msg14031820#msg14031820
I didnt understand the answer of why a 5 or 6 minute block would be bad, other than a very small increase in orphan rate and delaying any txfee auction market for a while

The answer was that the asymmetry is such that making the time too short (given network parameters, which are not really measurable and not stable) is much, much worse than making it too long.

I continue to assert that reducing the time should not be confused with increasing capacity. A block time reduction by a factor of two, all else being equal, would also be accompanied by a reduction in the block size by a factor of two.

Looking at the data, it seems the negatives of 5 minute block are pretty small and that would give 2MB of blockspace per 10 minutes. So if we assume the error rate difference between 5 and 10 minutes is small enough to being considered equal enough, then having 2 1MB blocks in a 10 minute period sure seems like double the tx capacity per 10 minutes.

Not sure why the blocksize is reduced at half the time, that would defeat the purpose.

given the assumption that 5 and 10 minutes are equal enough, then why would the blocksize need to be cut in half? We can also assume that 1MB per 5 minutes is not any problem for the nodes' bandwidth and wouldnt increase the error rates appreciably.

What error rate at 5 minutes requires cutting the size in half. If there is no need to cut the size in half, then how is it not a doubling in capacity?

Confused...

James

To answer your last question, if you increase the capacity then you are doubling the bandwidth and storage requirements. If you want to do that, and you have buy-in to do that from the relevant stakeholders, then you might as well just increase the block size.

What you are are ignoring in "the data" is this:

The scaling of this depends on factors like network hashpower distribution and latencies which are hard to measure and which change.

Since 5 minutes is "reasonably close" to the inflection point on the graph where being too low becomes much worse and being too high becomes only slightly worse, it seems quite reasonable in light of the above quote to err on the side of (possibly) too high and just implement a 2x capacity increase with an increase in block size rather than a reduction in block time.

In all honesty, and lacking in hard data, I do believe that 5 minutes would be fine, but what's the point? Going well below 5 minutes would most likely not be fine, so that limits any available capacity increase via that method to roughly 2x. Increasing the block size has no such limit.


thanks. mostly makes sense, but the last part sounds like doubling via 5 minutes is a onetime gain and we will have to increase blocksize at some point anyway, so no sense in doubling via 5 minutes.

using that logic, it leaves a "free" doubling unused and to me that seems a waste. Also 5 minutes would offer the advantage of half the latency, which many would view as a positive. so it is not just a lack of negative, but a presence of positive

James

P.S. There are ways to increase capacity 10x or more without increasing blocksize or even reducing the blocktime, but would require more significant changes in the core, but doing both would boost the overall capacity and I thought more capacity was better than less
984  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 02, 2016, 11:52:43 AM
What 's it?

Publication of last blocks by economic giants like Walmart. Because of https://en.wikipedia.org/wiki/Six_degrees_of_separation those who are tricked into a wrong chain will return to the legit one after human intervention.
But didnt you see that Walmart itself will be forced onto the fake chain due to the inevitable forces of entropy? Surely, they wont have 100% uptime, so their server will need to be restarted and murphy's law GUARANTEES that they will lose not just the local copy of the blockchain, but absolutely all backups. And inevitably as surely as day follows night, they will connect to the attacker's node and sync to the fake history where their balance is zero.

However, there is at the same time a mass hypnosis spell being cast on all data center operators, so they dont notice they have a zero balance and then the critical Walmart nodes are now part of the attacker's network. And it is unstoppable, after Walmart, all the other companies realize that they too are on the wrong network and immediately switch to the attacker's network. Management is useless as they dont understand the tech at all and just writeoff all the lost funds as a business expense. None of the customers impacted by this make a single complaint so it is impossible for anybody at all to notice something is wrong. And thus the attacker's network is 100% guaranteed to takeover completely. The exact time for this is not possible to know, but typically it would happen within a few hours, maybe 10 hours at most, so dont talk about any 720 block thing.

And there is no point to say that any single assumption in the above is unlikely to happen. It will happen, this is by assertion. So it must happen and therefore the above is not unlikely at all. How can you say that any of the above is unlikely when it is assumed that it would happen?

James
985  Bitcoin / Development & Technical Discussion / Re: Why blocktime decrease instead of blocksize increase is not discussed? on: March 02, 2016, 11:43:19 AM
This was asked, and answered in another recent thread: https://bitcointalk.org/index.php?topic=1378112.msg14031820#msg14031820
I didnt understand the answer of why a 5 or 6 minute block would be bad, other than a very small increase in orphan rate and delaying any txfee auction market for a while

The answer was that the asymmetry is such that making the time too short (given network parameters, which are not really measurable and not stable) is much, much worse than making it too long.

I continue to assert that reducing the time should not be confused with increasing capacity. A block time reduction by a factor of two, all else being equal, would also be accompanied by a reduction in the block size by a factor of two.

Looking at the data, it seems the negatives of 5 minute block are pretty small and that would give 2MB of blockspace per 10 minutes. So if we assume the error rate difference between 5 and 10 minutes is small enough to being considered equal enough, then having 2 1MB blocks in a 10 minute period sure seems like double the tx capacity per 10 minutes.

Not sure why the blocksize is reduced at half the time, that would defeat the purpose.

given the assumption that 5 and 10 minutes are equal enough, then why would the blocksize need to be cut in half? We can also assume that 1MB per 5 minutes is not any problem for the nodes' bandwidth and wouldnt increase the error rates appreciably.

What error rate at 5 minutes requires cutting the size in half. If there is no need to cut the size in half, then how is it not a doubling in capacity?

Confused...

James
986  Bitcoin / Development & Technical Discussion / Re: Bitcoin 9000: a long-term scaling plan on: March 01, 2016, 09:53:48 PM
We propose a strategy to scale Bitcoin to a far greater throughput and performance than available today while keeping the risk of centralization and costs to a minimum. To achieve this we decrease block validation latency with diff blocks, parallelize transaction validation, enable UTXO sharding with transaction input block height annotations, and deploy a series of extension blocks for sustainable capacity increases.

Download whitepaper:
https://github.com/goodsamaritan9000/scalingbitcoin/raw/master/Bitcoin9000.pdf
Nice!

The iguana bitcoin core implements a parallel download where the vast majority of data goes into read only files. This avoids needing a DB and also allows them to be put into a compressed file system vi mksquashfs. By processing the data in several stages, it is possible to stream data in at bandwidth saturation levels. I am not seeing any bottlenecks until it exceeds 500 mbps. The parallel download is able to get 70 to 120 megabytes/sec, which is 12 minutes for all 60GB blockchain.

Using 8 cores all of the data structures are created in parallel with hash tables and bloom filters built into the read only files. I am seeing about a half hour time to get to where things are ready for the last pass. The last pass does the final processing that is needed.

So, the parallel processing somewhat similar to what you write is already in functioning project and it does remove the bottlenecks the DB oriented approaches incur. The only thing that changes into the past is the state of the unspents, but this is encoded into 6 bytes per unspent by assigning a deterministic 32bit integer to each of the high entropy hashes. So the net result is a relatively compact set of utxo. Even the spends data can be processed in parallel once all the blocks are loaded and create a vector of updates to the unspents. By or'ing together these vectors, it creates a current set of unspents relatively quickly.

The searches using the read-only bundles can also be done in parallel, but I am seeing times of about 2 milliseconds for the equivalent of an importprivkey operation on a 1.4Ghz i5 laptop just serially processing the parallel files.

James
987  Bitcoin / Bitcoin Technical Support / Re: What should the txn fee for a 1550 byte transaction be? on: March 01, 2016, 06:24:37 PM
Use http://cointape.com/ for finding out the best fee for every KB according to the current number of uncomfirmed transaction.

It might be because of the ongoing blockchain attack

Yes, I think that backs up my calculations - but like I say I am really tired and would appreciate someone who is less so to either back my numbers up or show me where I am going wrong. Smiley
most companies probably just have a fixed fee and their customer support isnt usually doing more than repeating standard answers

in recent days (hours), the number of unconfirmed tx spiked, this allows the miners to cherry pick the highest paying tx and still fill a block, so they do.
988  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 05:22:43 PM
Do you want objective analysis, or just unthinking agreement to whatever you post?

If the latter, you can always make some sockpuppets. I just respond with my analysis using the meager resources at my disposal. And to my simplistic thinking, postulating an economically motivated attack that assumes all the victims will mindlessly just give the ability to attack is essentially the "send me all your crypto" attack. Hey, if they do, it works so it is rational and viable.

James

To be honest, I'd prefer actual analysis rather than just hyperbole and denial.

I don't think it's at all reasonable to expect all users of a PoS currency to have to understand the inner workings of blockchain consensus. Such a requirement is to require that real everyday people do not use your currency.
I prefer to add BTC security into PoS chain
989  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 05:13:41 PM
However, an equally ridiculous set of assumptions can be used to take over a PoW chain. So this is not anything specific to PoS, it is social engineering attack mixed in with mass hypnosis. Why not simply the attack where you ask everyone to just send you all their funds? That would work too

What you call 'ridiculous', I call rational behaviour.

The OP shows one example of how this could be profitable, so 'economically unviable' is also unjustified.
Do you want objective analysis, or just unthinking agreement to whatever you post?

If the latter, you can always make some sockpuppets. I just respond with my analysis using the meager resources at my disposal. And to my simplistic thinking, postulating an economically motivated attack that assumes all the victims will mindlessly just give the ability to attack is essentially the "send me all your crypto" attack. Hey, if they do, it works so it is rational and viable.

James
990  Bitcoin / Development & Technical Discussion / Re: Why blocktime decrease instead of blocksize increase is not discussed? on: March 01, 2016, 05:10:02 PM
This was asked, and answered in another recent thread: https://bitcointalk.org/index.php?topic=1378112.msg14031820#msg14031820
I didnt understand the answer of why a 5 or 6 minute block would be bad, other than a very small increase in orphan rate and delaying any txfee auction market for a while
991  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:56:12 PM
Human intervention largely indicates a critical failure.

But the knowledge that it will happen is enough to stop anyone from buying the keys. So it will (likely) never be needed.
I think his point is that once a highly unlikely set of assumptions are accepted as a given then you can correctly make highly unlikely set of conclusions

I actually dont see a flaw with that logic.
992  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:52:36 PM
If you can describe one which doesn't involve something related to a checkpoint, or human intervention, I'd be happy to add that to the OP.

If 10+ block reorgs are made public and require human intervention then it's enough to solve the issue. It's exactly what happened during Bitcoin Fork 2013. The knowledge that humans can intervene is enough to stop anyone buying the keys. All that is possible in this case is an expensive prank. But you decided to exclude "human intervention", well, never mind then, perhaps you have strong arguments to exclude Game theory from the security equation...

Human intervention largely indicates a critical failure, the resolution of which must happen under centralised control, so we arrive back at the original conclusion again.

Yes, bitcoin had just such a critical failure as well, and it nearly destroyed the currency.

Instead of silly hypotheticals, what about using other blockchains as the TTP?
993  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:51:22 PM
You have proven nothing. There is no market for formerly large stakeholding keys. But you claim by declaration that they are easy to get and at significantly below market price. And that the current mainchain will just magically switch to the attackers chain.

Making a wrong statement is not quite the usual standard that comes with the word "proof"

I have submitted a problem statement, which, if satisfied would enable this attack. If you disagree with the statement, let's hear your rebuttal?

I claim it would be 'easy' to acquire a historical key because it would contain no funds, and thus be worthless to the seller. That seems fairly well justified rational behaviour to me.
I thought in crypto economically unviable attacks are not relevant.

Did that change? I must have missed the memo.

Since you dont have any calculations about the cost of actually acquiring the recent keys, nor even a definition of what recent is, nor how even if you magically got those recent keys how you get the big active accounts to switch chains, it does not pass the common sense test.

But if you change it to reflect that you need to fool existing large stakeholders to transfer all their funds to a new account, sell them the newly emptied key. Do this half a dozen to a dozen times. All within a few days. Then create a fake chain and then make the largest accounts, like the central exchanges with lots at stake and long time accounts to all switch to the fake chain, ok, you got me. with those sets of facts, yes you can compromise a chain.

However, an equally ridiculous set of assumptions can be used to take over a PoW chain. So this is not anything specific to PoS, it is social engineering attack mixed in with mass hypnosis. Why not simply the attack where you ask everyone to just send you all their funds? That would work too

James
994  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:34:53 PM
So now they are low intelligence large stakeholders?

The point is the danger of doing something like this is completely non-obvious. Why should anyone think twice about selling something which has 0 value for >0? That sounds like a win to me.

What use are empty private keys other than history attack?

Might as well postulate that miners will just let you use their facilities for a small fee, since you promise not to push any buttons.

Pick a PoS coin, any PoS. Prove this attack is possible in a cash positive way. I am sure you can get many privkeys for a dead coin, but maybe a bit of a problem short selling a dead coin.

I believe I have proved that already. I have no intention of actually carrying this attack out because I have no desire to defraud anyone. However, I think it's very important that people know what they are investing in, and the associated risks, which you have to admit are entirely opaque.

Getting the genesis key seems to not be of any use, so maybe you need to update the OP as being impractical and not having a single documented case of it ever working and its expected return is negative cashflow

The OP describes an attack unrelated to the genesis key.
My estimate is that the danger to a PoS with a relatively short max reorg depth has less to worry about from a history attack than BTC has to worry from miner centralization

You have proven nothing. There is no market for formerly large stakeholding keys. But you claim by declaration that they are easy to get and at significantly below market price. And that the current mainchain will just magically switch to the attackers chain.

Making a wrong statement is not quite the usual standard that comes with the word "proof"

James

If these old keys can indeed be used for easy attacks (I have no confidence they can), then they are not useless and have value. And if it does have value, the people who have them will quickly find out about it
995  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:29:51 PM
So, as we see even "buy keys" attack can do nothing if economic majority keeps an eye on the blockchain and doesn't allow deep reorgs. This is what happens in Nxt with its 720-block rollback limit.

The OP should has included the above text to look non-biased. As a bonus extra analysis on possibility of an eclipse attack that could split the economic cluster and lead to chaos is welcome.

I believe I covered the re-org depth mitigation in the OP? It doesn't help for two reasons:

1. The re-org from this attack could easily be less than the maximum depth
2. Re-orgs greater than this depth will still be accepted by all syncing nodes, and the the attacker can impersonate a majority of nodes for ~0 cost, leading to all syncing nodes accepting his version of history, which eventually leads to it becoming the canonical chain.
Please tell me who your VPS is that allows unlimited use for ~0 cost.

Are you seriously claiming that you can reorg to any depth and just a passage of time will lead to the attacker chain dominating? Because, because nobody in the entire community will notice that just maybe there is a new chain? that their balances are gone?

1. is not possible due to the duration of time it takes for large stakeholders to become non-stakeholders and I think it is fair to assume they wont sell keys to a chain they still have economic interest in. So you make a statement using "easily", when it is most likely quite difficult at best

2. this is just science fiction or is it fantasy. It assumes that nobody in the community notices during the entire attack, including the exchanges which are currently NOT running the fake chain. But of course, they will upgrade to the attacker fork where there balances are gone.

THAT is what you want people to believe? PoW has some advantages over PoS, there is no need to concoct fantasy scenarios, it just looks a bit strange. I made a way for BTC to become the central clock for all the other cryptos, at that point you wont have to worry about BTC going away for a very long time

James
996  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:23:54 PM
How would it be possible for all large stakeholders to go from being large stakeholder to not having any in a very recent history timeframe?

By transferring their stake to another account that they own? The point is, they remain large stakeholders, all they sell are empty private keys.
So now they are low intelligence large stakeholders?

What use are empty private keys other than history attack?

Might as well postulate that miners will just let you use their facilities for a small fee, since you promise not to push any buttons.

Pick a PoS coin, any PoS. Prove this attack is possible in a cash positive way. I am sure you can get many privkeys for a dead coin, but maybe a bit of a problem short selling a dead coin.

So while this history attack is a scary sounding thing, the practical difficulties makes it not anything to worry about. Try it if you dont believe me, just try to get a single valueless empty key. Maybe post an ad somewhere for it? How exactly do you propose to get recent keys?

Getting the genesis key seems to not be of any use, so maybe you need to update the OP as being impractical and not having a single documented case of it ever working and its expected return is negative cashflow

James
997  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:13:25 PM
"It was a bright cold day in April, and the clocks were striking thirteen."

Use this secret phrase to get access to Nxt account holding all the coins. Now you have all the keys you were looking for, what's next?

Sorry, I don't follow you?

In the very beginning Nxt had all the coins kept on a single account that is accessible through that phrase.

This attack doesn't work that way. It relies on contemporary private keys, from very recent history.
And this appears to contradict your conclusion. If you need a matched set of keys all having large balances from very recent history, then this is either impossible or very expensive.

Especially if there is a one day timeframe.

Since it needs to be a recent set of privkeys all with large values, it almost seems to be provable that is it impossible, unless the coin's liquidity is 20% of total marketcap per day. How would it be possible for all large stakeholders to go from being large stakeholder to not having any in a very recent history timeframe?

THAT is the fatal assumption in your attack when combined with being able to buy such keys for below market value.

I can postulate a similar nearly costless attack by saying I will just by all the mining equipment for scrap values from all the large miners right after they upgrade. Since I am buying it from all of them, even though the hardware is slower, I will have more hashpower than any of them. 51% attacker is in the bag. It will be so easy to get them to sell me their useless mining equipment for $500

Or maybe not?

A large stakeholder doesnt immediately become a non-stakeholder. Most all cases it is a gradual process.

James
998  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:04:53 PM
I look forward to the proof of the OP's conclusion "The cost of this attack is very low"
999  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:03:53 PM
"It was a bright cold day in April, and the clocks were striking thirteen."

Use this secret phrase to get access to Nxt account holding all the coins. Now you have all the keys you were looking for, what's next?

Sorry, I don't follow you?
He saved you thousands of dollars for the privkey. that privkey is the one for the original genesis account. with it you can make any new chain you want
1000  Bitcoin / Development & Technical Discussion / Re: Proof that Proof of Stake is either extremely vulnerable or totally centralised on: March 01, 2016, 04:02:40 PM
"It was a bright cold day in April, and the clocks were striking thirteen."

Use this secret phrase to get access to Nxt account holding all the coins. Now you have all the keys you were looking for, what's next?
you could have gotten a BTC for it!

now the history attack is all but completed. Just need to run 1000 nodes with a fake (but somewhat believable history), then make all new accounts use the fake chain, and please ignore the long running nodes on the mainchain, that chain is not relevant anymore. Only the attacker's chain matters, so all the exchanges and blockexplorers will simply move to the attackers chain.

Happens all the time. Wont cost anything at all for this free attack.

James
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 315 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!