Bitcoin Forum
May 27, 2024, 01:11:15 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 »
101  Bitcoin / Development & Technical Discussion / Re: Minimal Python address generator on: September 12, 2014, 11:03:31 PM
The majority of the python code is "classic Joric" address-from-user-passphrase generation, defaulting to a single round of SHA256 to coerce a passphrase into a key. It looks like the program itself wisely ignores all this and simply uses OpenSSL's random keygen functionality. So for example the function `generate` is 14 lines long but only the very last one is actually ever used, the rest is just there to compromise your security in case you call the function wrong.
102  Bitcoin / Development & Technical Discussion / Re: Do SIGHASH_ALL and SIGHASH_NONE sign all inputs? on: September 12, 2014, 10:59:27 PM
Quote
Thank you for your answer! I'm still a little confused about the sequence number being blanked out. What does that mean? Does that mean the order of the inputs doesn't matter anymore?

No, the sequence number is a hint to miners; usually it is set to 255 (its maximum value). If not, you can sign a transaction where the signed input has sequence number 0, tweak it and increment to sequence number 1, tweak it again with sequence number 2, and so on. Each tweak requires a new signature, so the sequence number tells miners which of the conflicting transactions is the "real" one.

How useful this is, I don't know. You can't enforce miners respecting the sequence number, so any protocol depending on it can be trivially broken by colluding with miners. Maybe somebody will step in with a usecase, but I suspect this feature was not well-thought-out when it was introduced.

The ordering of inputs within a transaction is always fixed; if you reorder the inputs, then any non-SIGHASH_ANYONECANPAY inputs will need to be resigned.
103  Bitcoin / Development & Technical Discussion / Re: Do SIGHASH_ALL and SIGHASH_NONE sign all inputs? on: September 12, 2014, 06:27:50 PM
Yes, except for the SIGHASH_ANYONECANPAY flag (which causes only one input to be signed), the sighash type does not affect which inputs are signed. In all cases, the current script is replaced by the scriptPubKey of the output it's spending, and the remaining scripts are blanked out.

An extra oddity is that in the SIGHASH_NONE and SIGHASH_SINGLE cases, the other inputs also have their sequence number blanked out.
104  Bitcoin / Development & Technical Discussion / Re: Fundamentals of a decentralized Bitcoin network on: September 11, 2014, 05:04:05 PM
The patterns are not known publicly. Only after a block was solved the new one is published.
so the attacker who wants to mine on the same location with a different pattern, has to calculate the delays very good. The delays have to be matched to all incoming requests
to generate the right pattern.

Imagine you are a new user presented with two blockchains. The user cannot make any sense of the "response time patterns" encoded in them because the user is not in contact with any miners, she just sees a static blockchain. So she will select the one with the most work, just like today.

Now consider from the attacker's point of view. If the "honest miners" are using some mining method that requires communication for PoW (note that Bitcoin's proof of work does not require any such communication, it can be done totally offline, and is done offline --- mining hardware does not have network connections, they are devices where you give them a blockheader and they give you a nonce), while the attacker is simply making up response times to satisfy whatever rules you have added, then the attacker has a huge advantage and will be able to create a chain with much more work.

Can you explain why this is wrong? Can you also explain the incentive to honestly mine when you can get much more work per time from "dishonest" mining?
105  Bitcoin / Development & Technical Discussion / Re: Fundamentals of a decentralized Bitcoin network on: September 11, 2014, 01:41:06 PM
Slowing down the receiving of packages would slow down the mining process.
Why? I don't believe this is true period, and I definitely don't believe it is true when the delays needed to forge location are on the order of milliseconds.

For that matter, how does this timing translate into any sort of location data? How do you determine network weather conditions? How do you compensate for slowed links?

And you haven't touched the issue of public verification at all. Here is an easy first question: how do you define location for multiple observers? You cannot use relative distances, those are not well-defined. A less easy question is, how can you define location in a way that can be feasibly measured by participants long after the fact?

Quote
If done, the swarm intelligence of the rest of the network could countermeasure.
This is not a solution. This is magical thinking.

Quote
Yes the blockchain produces order. I mean here an implementation into the calculation of a block. It it is necessary to implement the "position" pattern into the blocks so that it is sure where someone has already mined and from where mining is not allowed at the moment or anymore.

Again, a restatement of your earlier thoughts. It is not at all clear how to do this or whether it can be done.

Quote
If it shows up so often, please give sources.I have not read about anything which works similar to this kind of proof of location. And in a sense it is not proof of
a real location. It is a proof of response patterns. Please provide me the paper or other sources you´re talking about.

Perhaps jl2012 has something specific in mind. But it is common sense that it is impossible to prove location in a decentralized way because the laws of physics do not admit a way to even measure it. (This is Mach's principle.) You would therefore have to localize to earth and attempt to prove location relative to earth. Well, the earth is an extremely noisy place and is occupied by attackers, so you would likely need to use some sort of proof of early knowledge of astronomical data...but now you require extremely specialized equipment to verify proofs, and all independent verifiers need to be collecting historical data for as long as they want to verify these proofs. So this is a no-go.

Quote
I gave you an answer to that, why I think it is still a workable solution and your answer is you don´t want to reply anymore?

The problem is that you didn't give any answer as to why you think it's a workable solution, and it seems that you have a fundamental misunderstanding of what the problem is. It is not clear where this misunderstanding is, so the result is that communication becomes very difficult. I encourage you to develop a layman's understanding of relativity, and to spend some time studying cryptography to get a feel for what an argument for security needs to look like. The first such argument I read was Hash function requirements for Schnorr signatures, which operates in the absurdly-unrealistic "generic group model" but as I recall, is self-contained and the core argument is easy to follow. I'm not asking you to produce an academic cryptographic proof of your ideas (as I've indicated, I believe you can't because this problem is impossible), but to at least outline what your attack model is and how your system is secure under this model.
106  Bitcoin / Development & Technical Discussion / Re: More Confusion Regarding Public Keys - Statistical Questions on: September 10, 2014, 09:42:58 PM
the only reason to change your address is to keep making it harder for someone to steal your private keys

This is false. Key management is the job of wallet authors, and ordinary users do not need to be aware of them at all. The mapping between ECDSA keys and addresses is an implementation detail of the Bitcoin scripts used to support pay-to-address transactions, and should not affect decisions on the level of user behaviour. At the UI level, addresses are simply opaque payment identifiers. You use a new one for each payment you receive so that you can distinguish between them -- they are more akin to an invoice number than any sort of key. Reusing addresses is at best shoddy accounting, but likely indicates a deeper confusion about their semantic meaning.

And as others have said, address reuse is bad for the privacy of all users of the Bitcoin network, because it shrinks the set of ownership classes visible to an outside observer.

Quote
you dont absolutely have to rely on a properly operating wallet if you have generated the private key's offline, keep

You absolutely need to rely on a wallet to manage your keys. Even if you are a professional cryptographer, Bitcoin requires the active use of dozens or hundreds of keys, which cannot be revealed or lost. Manually managing these is a recipe for disaster.
107  Bitcoin / Development & Technical Discussion / Re: How to get the information about a bitcoin address without 3rd-pard services? on: September 10, 2014, 11:55:27 AM
Addresses do not send funds. This is a dangerous misconception covered on the wiki.
108  Bitcoin / Development & Technical Discussion / Re: Energy efficiency. on: September 10, 2014, 03:50:07 AM
Hello,

i've been thinking about how much energy proof of work stage uses why dont they just let it be proof of stake to use alot less energy, wasnt that the point? I've heard it may go up. Grin

Because Bitcoin needs a distributed consensus to function, and the only known way to achieve this is through proof of work. I've heard claims from parts of the Internet (as may have you) that you can use a proof-of-stake system to get a distributed consensus. As section six of my document on altcoins shows, this is fundamentally incorrect.
109  Bitcoin / Development & Technical Discussion / Re: Provisioning multiple wallets via code? - bitcoind in server mode on: September 09, 2014, 11:28:09 PM
Let me just cut off this train wreck of a thread.

@cloverme The technical problems around storing users' money are by far the easiest --- getting the appropriate legal protection and authorization, security audits, accounting, backup/recovery, etc. systems in place are much much harder. But you seem to be struggling at a very fundamental level with the technical problems. These are also problems with traditional payment mechanisms, but Bitcoin makes them much more serious because it requires the programmer to deal in low-level cryptographic primitives, and its transfers are irreversible. So I implore you to not write code handling other peoples' money.

Managing multiple users by giving them each different wallets is not only a terrible idea from a scalability perspective, it does not make conceptual sense. The money you are holding is in your possession, and that means you need to track all of the keys material, track transactions, etc. Smearing this stuff across hundreds or thousands of files is insane.

Addresses are ephemeral: you generate a new one for each payment you intend to receive, and it identifies that specific payment. It is like an invoice number. Having one per user is also a conceptual confusion.

The correct way to do this involves a proper delegated key management setup (using BIP32, for example) designed and audited by experts in this field. It is possible to use bitcoind to manage keys, though this adds quite a bit of complexity to creating a secure system. The majority of your funds at all times should be "cold", as some other users are saying. This means that no network-connected system is in possession of cryptographic keys required to move them.
110  Bitcoin / Development & Technical Discussion / Re: Fundamentals of a decentralized Bitcoin network on: September 09, 2014, 08:44:58 PM
Yes a miner could slow down the ping response. But it would also effect mining.

How could this be done?

Quote
And I would implement the pattern of the pingresponses into the Blockchain. So it is difficult for an attacker to be able to fake a response pattern.

Blockchains only do one thing: produce an ordering. They do not enable unforgeability.

Quote
He has to recreate the response pattern which was generated by a lot of clients/miners byte response of him.

I'm not sure what this means.

Quote
But if you feel this is not new please quote a site/forum where it was already suggested?

Proof of location shows up on #bitcoin and ##crypto every so often. There was a paper recently related to privately verifiable proof-of-location, but I can't seem to track it down. It's not clear to me that publically verifiable proof-of-location even makes sense --- "location" is not defined consistently and simultaneously for more than one observer!
111  Bitcoin / Development & Technical Discussion / Re: Fundamentals of a decentralized Bitcoin network on: September 09, 2014, 05:37:13 PM
If I have a miner at location x, and 4 different clients or miners send the miner at location x, request response requests, and then we have 4 different round trip delay time domains. From this time domains the miner x gets a timedomain pattern. If the miner switches position he gets different timedomains.

That's not publically verifiable. As jl2012 observes it is not even privately verifiable because it is trivially forgeable (and definitely attacker controllable even if the actual miner is honest).
112  Bitcoin / Development & Technical Discussion / Re: Fundamentals of a decentralized Bitcoin network on: September 09, 2014, 03:01:22 PM
Quote
I would send out “ping” requests from each client and miner to each other. So basicly all clients and miners are measuring the round trip delay. By the mass of information of the roundtrip delay they can calculate the “position” stamp. Through this response time pattern we could map them on a virtual location map.

There is no way to prove past geographic location in a publically verifiable way. You definitely cannot prove geographic location of mining, which has variance on the order of minutes, since the earth is something like 100 milliseconds in circumference.
113  Bitcoin / Development & Technical Discussion / Re: On The Longest Chain Rule and Programmed Self-Destruction of Crypto Currencies on: September 08, 2014, 09:22:03 PM
A very interesting paper. But I don´t think that the crypto currencies will self destruct themselfes if we can make the right adjustments.
I have thought about a way to guarantee the decentralization of a crypto currency or Bitcoin on the long term. I have written an article and would like to hear what you think about it:
http://techreports2014.wordpress.com/2014/09/07/fundamentals-of-a-possible-new-bitcoin-fork-bitcoin-2-0/

Hope it can help and I would love discuss it with you guys.

Hi Andrew,

In future it is better to create a new thread rather than resurrecting an old one, especially one as vivacious as this one.

As to the content of your article, I briefly skimmed it. A few comments -- your concerns about ASIC monopolies are largely addressed in my ASICs and Decentralization FAQ, and secondly, the "anti-monopoly" scheme by Sirer and Eyal is seriously and fundamentally broken by being progress-free. It seems to me that these authors are more concerned with promoting themselves with doomsday headlines than they are getting the fundamentals of what they write about correct, and it's best for the Bitcoin world if they not be given attention.

Andrew
114  Bitcoin / Development & Technical Discussion / Re: Unique Ring Signatures using secp256k1 keys on: September 07, 2014, 06:44:06 PM
Another interesting use could be a type of ring signature coinjoin? A group gets together and determines the inputs. The ring signatures are used for each person to pick their outputs and can even have multiple outputs of different values. Once the group has enough messages specifying the output addresses the coinjoin transaction is created and signed. If any party of the group cheats the output values will total to be too high and the transaction is discarded.

This is a good idea. In the original coinjoin thread gmaxwell described a blinding scheme wherein users would initially provide their outputs in blinded form, have them blindsigned by the central server (or the "leader" node in a p2p setup) (or all participating parties, which is bandwidth-heavy), then reconnect anonymously to unblind them. For a p2p setup this means that somebody has to produce the blind signatures: either a leader must be selected, which adds complexity to the protocol, or every party signs every output, which leads to O(n^2) scaling.

With a ring signature on the other hand, each party would anonymously sign only their own outputs -- all nodes participate equally, with O(n) signatures. (Of course, the ring signatures are O(n) in size, so you might say this is still O(n^2) scaling. But since every signature uses the same keyring, this doesn't need to be passed around. Just the signature itself plus a blinding factor Q (one per signature, no need to use different ones per key in this case) as described in an earlier post.)
115  Bitcoin / Development & Technical Discussion / Re: Unique Ring Signatures using secp256k1 keys on: September 07, 2014, 04:45:30 AM
I did all of the writing but none of the ideas Smiley So I think it's fair to give gmaxwell all the credit.
116  Bitcoin / Development & Technical Discussion / Re: Unique Ring Signatures using secp256k1 keys on: September 06, 2014, 06:05:26 PM
It's even stronger than that, isn't it? If the signer used gmaxwell's blinding scheme, than none of the 1,000,000 (including the actual signer) are capable of proving that they either did or didn't sign it (even if any of them wanted to), correct?

Almost. If the signer actually threw away her q value, then yes. There is no way to enforce this. (But why wouldn't you? I dunno, depends on the context I guess..)
117  Bitcoin / Development & Technical Discussion / Re: Unique Ring Signatures using secp256k1 keys on: September 06, 2014, 01:14:12 PM
Could a ring signature set of several million people be created? Is there a limit to how many people mix together?
Only that it has linear scaling. Such a signature would be many megabytes in size and would take minutes to verify with state of the art ECC code.

So if we had 1,000,000 people apart of this signature, you could never find out who voted or released/leaked info unless the other 999,999 admitted it wasn't them?

If you used the blinding scheme gmaxwell described above, all 1,000,000 could "admit" it wasn't them and nobody would be able to prove otherwise.
118  Bitcoin / Development & Technical Discussion / Re: Pay to contributors on: September 05, 2014, 11:00:39 PM
If there isn't one I am sure you can find someone to make you one if you pay them.
He cannot. As I have said twice now, it is not possible to do what he is asking.
119  Bitcoin / Development & Technical Discussion / Re: Confirmation with dust output: insta-confirmed! on: September 05, 2014, 04:04:50 PM
Confirmation of valid transactions is always at the discretion of the miner. The dust output rules are part of the relay policy of most nodes, so it is difficult to transmit such a transaction to miners using the p2p network, but there is no reason you cannot contact them out of band.

Quote
Does anyone know how the below transaction just got confirmed without any problems or delays?

How can you tell if there are problems or delays?
120  Bitcoin / Development & Technical Discussion / Re: Pay to contributors on: September 05, 2014, 12:11:29 PM
If you try refunding transactions given only the information available in your receiving transactions, you will be wrong a significant amount of the time. You cannot tell "the most common transactions" from others.
Pages: « 1 2 3 4 5 [6] 7 8 9 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!