Bitcoin Forum
May 04, 2024, 01:38:47 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 [184] 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 ... 288 »
3661  Bitcoin / Development & Technical Discussion / Re: CoinJoin: Bitcoin privacy for the real world on: October 15, 2013, 07:23:39 AM
On this general subject, I've been enjoying Peter Todd's dust-b-gone: https://github.com/petertodd/dust-b-gone/

It works with Bitcoin-qt / bitcoind and scans your wallet for tiny coins and signs them off to be joined away... both thwarting dust payment deanonymization attempts and defragmenting your wallet a bit.  I wish Peter would do the last bit of effort to figure out how to produce a windows binary like p2pool has to make it easier for people to use. Smiley

(I've audited it and test it, and I consider it perfectly safe to use as of the current version)
3662  Bitcoin / Development & Technical Discussion / Re: Isn't the output of SHA256 *slightly* too big to use for a private key? on: October 15, 2013, 07:05:46 AM
I did read a very interesting thread before, where it was shown brainwallets with common passphrases like "password" and "love" had transactions sweeped out of them quickly.
"brainwallets" far more elaborate than those (e.g. ones with 60+ character inputs) have been compromised. Humans are not an acceptable source of randomness.

Quote
Using a salt definitely would make the security better.
If the salt is large enough to provide adequate security you can just use the password to encrypt the salt instead, and then you don't have the key management nightmare of a password which can never really be changed.
3663  Other / CPU/GPU Bitcoin mining hardware / Re: What to do with BFL FPGA singles now? on: October 15, 2013, 05:37:07 AM
Let me say, I do not think they are scrap.  They do have a value, it is just pretty low.  They can be used as an FPGA dev platform.  That is why I say I would buy a few for $30 each.  But I will never get that $30 back mining BTC. 
Last I checked they were cryptographically locked to BFL's FPGA images and BFL won't provide the info needed to reprogram them. IIRC they also can't be reprogramed over the USB bus.
3664  Alternate cryptocurrencies / Altcoin Discussion / Re: Scrypt Bitcoin Threads NOT Allowed on: October 15, 2013, 03:30:07 AM
True, if the powers that be ban BTC2 based on name, then are they violating the open source concept of Bitcoin?
I'm willing to bet they will ban ALL alt coins here before just banning BTC2 and becoming the very thing this forum and BTC rails against, censorship and central control.
Yea! If I make a BTC3 that removes all the inflationary limits and transfers everyone's private keys to me and does whatever else I like then this forum has NO RIGHT to prevent me from posting all over it telling people to use it!  DOWN WITH CENSORSHIP.
3665  Bitcoin / Hardware / Re: HashFast launches sales of the Baby Jet on: October 15, 2013, 02:12:39 AM
We realized that a bit of confusion was raised yesterday in regard to the MPP. So this is the official post concerning the MPP:
Great.  Sorry for my confusion, I missed that it was referring to the blog post and instead though it was referring to the post shortly before on the forum. Smiley
3666  Bitcoin / Development & Technical Discussion / Re: How exactly were comments sent to FBI's SilkRoad coins address? on: October 15, 2013, 12:53:20 AM
So, how were the comments sent to the FBI's SilkRoad address?
As far as I know, they wern't. They're just comments posted to the public blockchain.info website. Because of the unfortunate naming of that service the media (and many Bitcoin users) mistake it for a formal part of the Bitcoin system.
3667  Bitcoin / Development & Technical Discussion / Re: Bitcoin Client with User Defined Difficulty and Stratum Support? on: October 15, 2013, 12:36:05 AM
So I can just tell my miner to use the GBT protocol?
If it has a sufficiently complete one. Last I checked cgminer's implementation couldn't be used for solo mining but bfgminer could.

ummm, What about the ASICminer blades? aren't strictly getwork? Yeah, i know about the stratum proxy. I'm pretty sure that this is about fallback mining solo. If Bitcoin-QT could keep up it would be a help.
They're not even getwork they're kind of a bastard half implementation of getwork that does things like ignores difficulty and spams results. You really need to use them with some kind of proxy. I believe bfgminer can be used as a proxy for them.
3668  Bitcoin / Development & Technical Discussion / Re: Bitcoin Client with User Defined Difficulty and Stratum Support? on: October 14, 2013, 11:32:38 PM
Solo mining against the Bitcoin-QT client results in allot of shares being leaked over to backup pools.
Ah, you're trying to getwork mine against bitcoin-qt? With an asic miner? Crazy.  Getwork is depricated.

We support getblocktemplate in bitcoind. This is how you should be solo mining against it.

(And yea, vardiff wouldn't make any sense for solo mining. It would only be useful for stats collection, and bitcoind does no stats collection for mining)
3669  Bitcoin / Development & Technical Discussion / Re: Bruce Schneier: Insecurities in the Linux /dev/random on: October 14, 2013, 11:29:09 PM
Does this effect any bitcoin address created from a wallet on Linux?

Insecurities in the Linux /dev/random


No. It is not indicating any insecurity in any meaningful sense. It basically says that if an attacker captures your kernel internal random number state (how?) and then controls the input into the RNG (how?) the problems with the entropy estimator can make the output remain deterministic to them.

It's interesting from a cryptography perspective, but they are not suggesting that this is a weakness which matters in any normal application.

(It's also worth pointing out that their suggested "fix" is to replace /dev/random with what is fairly similar to AES-GCM with the galois counter perturbed by input randomness. Considering people's violently negative response to Intel's bull mountain AES based rng, I can't see something like their proposal being adopted anytime soon)
3670  Bitcoin / Development & Technical Discussion / Re: Detecting an address collision? on: October 14, 2013, 10:03:07 PM
Ok. But the old public key ("pubkey1") is still stored somewhere in the blockchain but the clients would just ignore this inconsistency?
The node may not even have that data at all.  It's not an inconsistency. The scriptpubkey in the spent transaction required you to satisfy certain rules, and the transaction did.
3671  Bitcoin / Bitcoin Technical Support / Re: Risk of accepting 0-confirmation transactions with Bitcoin-QT? on: October 14, 2013, 07:01:16 PM
I agree those would work, but the downside is that you couldn't be pseudonymous.
You can have a trivial protocol for multisignature assignment with an anti-replay oracle.

An anti-replay oracle is just some dumb trusted program which signs anything anyone gives it, with a constraint that it only signs once (or a finite number of times) for a given key.

You write a transaction sending your coin to a multisig You+Anti-replay-oracle, you ask the oracle to write you a refund nlocked to some expiration time in the future.

The oracle signs, and then you announce the payment into the escrow.

After that confirms you can pay people from the escrow instantly and they can trust that you will not double spend them before the published expiration time so long as they trust the anti-replay oracle to behave faithfully.

There are many ways to address these cases... just requires some UI innovation to make good software to make it practically usable for people.
3672  Bitcoin / Development & Technical Discussion / Re: NSA and ECC on: October 14, 2013, 05:56:13 PM
Seed has a generic meaning. Is that the best FUD you can do to avoid addressing the point?
There is nothing in the scheme that we use which can be generically described as a seed either.  Our curve meets the SafeCurves definition of "Fully Rigid" (as I explained to you elsewhere by comparison to curve25519).

Edits:
Quote from: AnonyMint
Btw, I guess you forgot that is the first time you've told me that.
It isn't:

I specifically addressed your transparency FUD when you were spewing it elsewhere on the forum:
The parameters in secp256k1 (which is not a NIST selected curve, contrary to your repeated instance) are fixed entirely by performance considerations, similar to the Ed25519 work which you lauded up-thread. There (far) are fewer degrees of freedom in secp256k1 than in SHA1.

As an aside: I've now removed AnonyMint from this thread. (Also, note that he edited the message after I responded to it, my quote is the version at the time I responded)
3673  Bitcoin / Development & Technical Discussion / Re: NSA and ECC on: October 14, 2013, 05:46:44 PM
Came across this on HN, thought it would be useful here: SafeCurves: choosing safe curves for elliptic-curve cryptography.
Their rigidity page doesn't appear to explain the choice of generator for any of their "Fully rigid" cases.  See upthread that it would be preferable for the generator to be rigid too, if not essential.
3674  Bitcoin / Bitcoin Discussion / Re: 512 qbit quantum computer is here... on: October 14, 2013, 05:05:05 PM
512 qbit quantum computer is here...
This device is not the same class of device that computer scientists are speaking about when they say "quantum computer". It's analogous to building a digital computer that can only perform addition: An add-only-machine "computes", but it's not turing complete. The DWAVE devices are not quantum turing complete: they cannot perform the fast quantum period finding algorithms which would are apparently needed to recover a private key from a public key. It is a quantum computer only in the sense that it computes and (maybe) uses some quantum effect. Nor does their device appear to have any clear way to generalize to quantum turing completeness in the future, nor are they claiming that it does.

Moreover, you asked for an even harder problem: Converting an address to its private key requires finding the pre-image to RIPEMD160+SHA256 (and its discrete log), and this wouldn't be efficiently computable on a real quantum computer.

The noospheer guy has been all over the place trying to collect money for his batshit craziness. He emits a lot of technobabble that doesn't have any credibility. If he actually could do what he claims he could trivially prove it to anyone (e.g. by finding a discrete log of a nothing-up-my-sleeve point).

It won't even seem like a computer as it will have superhero abilities, such as breaking encryption.
People frequently exaggerate the capabilities of quantum computers. Indeed, such a device would be magical and a breakthrough and would help solve many interesting problems. But quantum computers are not even conjectured to break _all_ encryption, they only break some classes of cryptography (such as asymmetric cryptography based on the hardness of hidden subgroup problem in abelian groups, like factoring and discrete log), and even then only if the QC is sufficiently large (in terms of gates and coherence length).
3675  Bitcoin / Bitcoin Technical Support / Re: PHP jsonRPPClient sendmany --- trouble it is not working. bitcoind 80500 on: October 14, 2013, 03:16:03 PM
You are specifying your value as a string.
3676  Bitcoin / Development & Technical Discussion / Re: Understanding elementary bitcoin signature scripts on: October 14, 2013, 03:15:09 PM
Now the first operation is OP_DUP
The results from the scriptSig are already on the stack when the scriptPubKey executes. So the signing party is providing the pubkey, and thats whats getting duplicated by that OP_DUP.
3677  Bitcoin / Development & Technical Discussion / Re: Bitcoin Client with User Defined Difficulty and Stratum Support? on: October 14, 2013, 03:11:12 PM
When will there be variable or use defined difficulty and stratum support in the Bitcoin client?  It seems it is needed very badly.
I can't actually figure out what you're asking about. Can you try again with some more context, especially please describe what you're trying to accomplish.
3678  Bitcoin / Bitcoin Technical Support / Re: Multiple payments in single transaction on: October 14, 2013, 12:19:02 AM
I have seen peoples sending bulk payments/funds to different wallets in a single transaction.
Whats the easiest way to do that ?
Easiest?  Press the +add destination button in Bitcoin-QT and type in the additional destination.
3679  Bitcoin / Development & Technical Discussion / Re: Proof of Storage to make distributed resource consumption costly. on: October 14, 2013, 12:07:04 AM
So each node requires a gigabyte for their own storage table, plus one gigabyte for each peer they connect to?
One gigabyte (assuming that security level, it was a random number) per peer that they are using a storage proof to get priority access to. So they don't necessarily need to have one per outbound peer.  The idea would be the your peers would prioritize inbound connections that were providing a storage proof, everyone else's connectivity would depend on other criteria.

There is no "their own" storage requirement the whole basis of this idea is to be memorless on the server.

Node could pick their favorite couple peers to use storage proofs on, and if they get bumped off other peers during a dos attack, it's not the end of the world.

Quote
Would a node only require a storage proof for new nodes and drop the requirement after they have established a certain amount of good behaviour?
The problem there is that an attacker could just slowly build up proof free connections to the whole network and still saturate things.

Long term I expect our behavior with inbound connections to look something like:  When a new connection comes in and we're full, randomly drop a peer (including, possibly, the new one) based on a priority scheme.  The priority scheme could reserve a number of slots for each of several different kinds of priority.  For example, some slots should be reserved for the longest connected nodes— since having a long uptime connection is a kind of scarce resource and some attackers come in bursts.  Other slots should be reserved for peers which have the lowest minimum round trip time (because being close to you on the network can't be faked), come from the same subnet as you, come from many distinct subnets, are often the first to relay you new blocks, have an IP that when hashed with a secret is a low value, etc.  You can list out a bunch of different groups to protect... then randomly (weighed by goodness or whatever) kick nodes that don't make the cut.

One problem with that kind of litany of criteria is that you'll still end up with clients that just don't meet any of the protected classes— they won't appear to be highly useful good nodes, because they're not highly useful (esp SPV clients). They may not be near any of their peers on the network, they may be freshly started and so have low uptime.  So it would be good to have a way for nodes to opt into priority without creating an easy avenue for attackers.... thus ideas like a proof of storage.
3680  Bitcoin / Development & Technical Discussion / Proof of Storage to make distributed resource consumption costly. on: October 13, 2013, 11:28:40 PM
Motivation:
Consider a mutually distrusting decentralized network where each node has some finite capacity, like Bitcoin's P2P network, with 100,000 nodes.

An attacker wants to soak up all the connection capacity of the all the nodes in order to funnel new peers to malicious nodes the attacker controls.  Each node can perform actions to make resource usage costly. For example, each node could reject additional connections from single IPs or subnets, requiring the attacker to have access to more address space (a scarce resource) in order to use up that nodes' capacity. Or they could prioritize peers that present a costly Bitcoin bond (e.g. a Fidelity bond/SIN).

The problem there is that the attackers effectiveness scales with the number of victims— e.g. each IP or bond or whatever lets them use 100k sockets—, since the nodes are mutually distrusting and thus can't collaborate to reject an attacker who makes one connection per IP to every single node in the network.

The network could respond by requiring a scarce resource to connect— e.g. a POW or a Bitcoin fee. But an on-connect fee doesn't really map well to a ongoing resource utilization.  You could require a periodic fee (e.g. intermittent POW), but setting the rates so that it doesn't favor attackers (e.g. an attacker might not mind spending a half bitcoin to attack the whole network, but regular users might not tolerate a 0.0001/per connect cost).

Also, most POW schemes are subject to huge speedups by more efficient implementations. E.g. a FPGA or even GPU implementation will be enormously faster than a java one used in most clients.  A memory hard function may narrow the gap, but common memory hard functions are just as memory hard to validate as they are to produce (though it's possible to do otherwise), and increasing the server's resource utilization is not a great way to address a resource exhaustion attack.

What might be useful is a POW function which maps well to the kind of resource usage that holding a connection represents and is also less vulnerable to speedup for specialized attackers.

One idea that has been suggested for this would be to have a storage hard function: Some function that forces you to store a bunch of data and continue to prove you're still storing it while the connection is up.  Making one that is storage hard for the client but not the server seemed pretty tricky and eluded a number of people for some time. I had a prior idea, which required fully homorphic encryption to create a sequential function with a trap-door property to allow random access... which might have worked but it was so complicated that no one would ever bother with it. Fortunately I've since had a better idea:

A proof of storage system:

Take some fast cryptographically strong pseudorandom function, e.g. like Blake2 or another hash function H().

The server gives the client a random seed and a target size. The client repeatedly applies H() in a tree, e.g.  {Left, Right} = H(seed) and so on, to build up the target size worth of data.  The client takes the final leaves of this tree-structured pseudo-random function and appends their index and sorts the data (or, equivalently, stores it in a binary search tree).

The server then can periodically pick a random index and perform log2(size) hash operations to determine the value at that index and then can challenge the client to provide the corresponding index for that value.

The tree structuring of the function means that you can cheaply lookup the value for a given index,  but looking up the index for a given value requires computing the whole thing (and storing it, if you want to efficiently perform multiple lookups).

(There are some possible optimizations in the client, like common prefix compression, but they're only small optimizations because the function is strongly pseudorandom)

A gigabyte table wouldn't be too insanely burdensome for many kinds of clients, but would require a terabyte for an attacker to use resources on 1000 nodes. Such a scheme could be offered optionally to clients (e.g. if you perform a storage proof you get a preferred connection slot) and so it might provide some value in making some attacks ineffective.
Pages: « 1 ... 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 [184] 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 ... 288 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!