Bitcoin Forum
June 30, 2024, 06:23:06 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 »
1  Economy / Services / Re: Tutoring / Distance learning — Computer Science, Mathematics on: August 07, 2013, 03:31:34 PM
There is already coursera, udacity etc, I doubt this is needed.
Having some new things available does not necessarily obviate older or other things. Interestingly, right now many of the largest universities in the world (in terms of enrollment) are in fact Open, distance-learning institutions.

We have books, so physical schools aren't really needed; having a personal instructor to talk to, however, is something different.
I think one needs all of the above (including some physical schools, physical books, physical industry, etc.) We need the "virtual" equivalents, too; each complements the other. The same goes for instruction, in fact: as you note there is no substitute for talking to an actual (competent) instructor, but you also need to spend an equal number of hours by yourself reading / doing homework.
2  Economy / Services / Re: Computer Science, Mathematics on: August 06, 2013, 11:51:49 AM
Consultation (research projects, industry, academic): $500 / day (bitcoin equivalent)
3  Economy / Services / Re: Tutoring / Distance learning — Computer Science, Mathematics on: May 23, 2013, 01:01:51 PM
bump for finals!
4  Bitcoin / Development & Technical Discussion / Re: Bitcoin addon: Distributed block chain storage on: May 07, 2013, 10:26:45 AM
Why not adapt existing solutions for this? Plenty of distributed key-value storage software is freely available. Is there some special requirement in your case that is not satisfied?
5  Bitcoin / Development & Technical Discussion / Re: Bitcoin network structure on: May 06, 2013, 03:36:38 PM
I wonder if it wouldn't be a good idea for several P2P networks to share the purely network-related parts of their protocols and networks. That should give us both strength in numbers and synergy. For instance, some have speculated that Satoshi's initial goal was to provide a currency that could be used to provide a financial incentive for running Tor nodes.

Nothing (except resource limits) stopping you from running multiple protocols over the same pipe...

As for Gnutella, you can fit a power law with cut-off to the degree distribution but I do not recall how statistically significant it is (p-value).
6  Bitcoin / Development & Technical Discussion / Re: Entropy during private key generation on: April 30, 2013, 01:58:16 PM
There was a similar thread not long ago, in which the poster initially expressed mistrust in using the PRNGs provided by Linux and MS Windows to generate private keys. As in your case, it turned out that the concern was not some supposed design flaw in the cryptographic PRNG, but rather that it takes time for a freshly-installed system to seed itself with enough initial entropy. One thing you could do is simply to do random things with the mouse and keyboard and wait a while before generating important keys (the OS's estimate of "entropy available" is only a rule of thumb of course, but certainly at the very least that long). Another is to note that on Linux you can write to /dev/random to feed it entropy from an external source, so if you want you can pipe in an image of a lava lamp, radio static, electronic noise from the CPU, etc.
7  Bitcoin / Development & Technical Discussion / Re: Private key Generation and how public key derived from Private Key on: April 25, 2013, 02:33:26 PM
It should be mentioned that the group law/multiplication on an elliptic curve has a simple geometric interpretation: roughly speaking, if you draw any line in the (projective) plane, it will intersect your curve in three points, say P, Q, and R. Then  P + Q + R = 0. See any textbook or Wikipedia for a picture.
8  Bitcoin / Development & Technical Discussion / Re: Bitcoin Address creation on: April 25, 2013, 02:20:30 PM
All the addresses "exist". You will find it difficult to spend the coins without an associated private key, though.
9  Bitcoin / Development & Technical Discussion / Re: Generating key pairs in Linux from a passphrase? on: April 23, 2013, 06:18:23 PM
Thanks - but can you tell me what the actual commands/steps would be though for Linux to get from seed passphrase to the private/public key?

Sorry I almost posted this to newbie section but thought the folks here would know how to answer.
NB Zeilap's comment. That said, look at https://bitcointalk.org/index.php?topic=133220.0 to see how to string the commands together.
10  Bitcoin / Development & Technical Discussion / Re: Bitcoin network structure on: April 23, 2013, 05:54:40 PM
For anyone interested in pursuing this, here is a preliminary exercise:

Devise a method to obtain a "random" sample of steadily-connected Bitcoin nodes (I suggest at the very very least 100) and for each one record the number of connections to the network (this information should be visible in the default client's Debug Window). What can you infer about the distribution of this quantity?
11  Bitcoin / Development & Technical Discussion / Re: Bitcoin network structure on: April 22, 2013, 12:03:50 PM
Thanks for the links and comments. A client modified to gather info and statistics, and persuading enough people to run it, seems like the way to go. Schemes to compute accurate statistics for dynamically changing peer-to-peer networks, based on local measurements, have indeed been researched for at least a decade or so, but it seems no one has yet applied them to the Bitcoin network (even if someone had, such results should be independently reproducible).
12  Bitcoin / Project Development / Re: Cryptographic rock-paper-scissors on: April 10, 2013, 03:09:42 PM
cf https://en.wikipedia.org/wiki/Mental_poker
13  Bitcoin / Project Development / Re: [BOUNTY: 10+BTC] Open Source (CC) Paper Wallet Kit for safe offline coin storage on: April 10, 2013, 03:07:37 PM
Hi aantonop

I assume your kit is meant for "average" users? If so, isn't the software arguably the most delicate component of this? Since I do not see that it has been explicitly mentioned here, your kit should include something like a bootable DVD or USB stick with secure software pre-installed on it, together with easy-to-follow instructions on how to verify the checksum. Also do not forget that since you are booting into a more-or-less known state it is absolutely essential to introduce enough entropy before generating any random numbers, etc.
14  Bitcoin / Development & Technical Discussion / Re: How are signatures confirmed? on: April 06, 2013, 05:01:25 PM
https://en.wikipedia.org/wiki/Elliptic_Curve_DSA
15  Bitcoin / Development & Technical Discussion / Re: How to generate a private key? on: April 05, 2013, 09:29:39 AM
I do trust /dev/random or CryptGenRandom. The question is, what is the harm in adding additional bits of entropy from other sources?
No harm; on some (most?) systems you can write data to /dev/random for this purpose.

Quote
If you get any of them compromised (for whatever reason), the additional bits might help, won't it?
Yes, entropy is supposed to be gathered from multiple independent sources and processed to reseed the generator. As long as there is at least one source that is unpredictable to the attacker you should be OK. Did you read the chapter on the implementation of Fortuna?

Note, if your entire system is compromised, you have other things to worry about than the random-number generator. What a cryptographic PRNG is designed to deal with are cryptographic attacks, like reconstructing its internal state, though I am not sure which attack scenario you are envisioning where you have to worry about such attacks on your RNG but your system isn't otherwise completely owned anyway.

Quote
I read that one password generating program uses the high performance counter or high resolution timer. Specifically PWGen uses these two (in order of descending priority):

1. Time stamp counter (RDTSC instruction): The RDTSC processor instruction returns the number (64-bit) of cycles since reset.
2. QueryPerformanceCounter (Windows API function): According to the Windows SDK, this function returns the current value (64-bit) of the high-performance counter. This is probably just a wrapper for the time stamp counter on most systems, but the return value may be different on multicore computers. Calling this function is slower than executing RDTSC.
That's it? No keystrokes, mouse movement, etc?

Quote
I mean, maybe there is no reason for me to use anything else aside from CryptGenRandom, and possibly add one or two readings of the high resolution timer.

All I want to do is generate a 256 bit number, then check if that is a valid private key, and go from there.
Just use CryptGenRandom. Or, if you do not trust Microsoft, a different OS/implementation; I gave you at least one reference.
16  Bitcoin / Development & Technical Discussion / Re: How to generate a private key? on: April 04, 2013, 10:50:49 AM
Actually, I've had this idea of using frequently changing websites, including the random number websites, however, they are all still on the internet. No matter what anyone says, even if it were through a secure session (SSL, TLS) it still came from somewhere else.
Whether you are just generating a couple of keys for your personal experimental use or running a commercial site that needs a secure wallet, the poster did not mean you need to or should rely on external web sites to get random numbers. The point is that you can obtain data from multiple sources (web sites, stock prices, your own hardware/software) and then "distill" the resulting entropy.

Quote
Random numbers can be generated from hashes of all of those, and then include local (specific to the computer you are using) unpredictable numbers, such as mouse input, keyboard input, hard drive input, operating system input, pictures of lava lamps, pictures of the sky or the ocean or your aquarium. But these are all already provided for by CryptGenRandom or /dev/random.
So the issue is that you do not trust the PRNG provided by the operating system (/dev/random, CryptGenRandom) even with a truly random entropy source seeding it??

Quote
How about, I use a fast PRNG together with the slow CryptGenRandom as the seed? Or I do something like this:

1. Get a 256-bit number seed from CryptGenRandom.
2. Hash this number with SHA256
3. add 1 to the original number
4. Hash this next number with SHA256.
5. Rinse, Repeat.

Basically use CryptGenRandom as the basis for the next bunch of operations, which can be a hash, or blum blum shub or mersenne or something.

According to some other internet something I read somewhere:
Quote
One good trick for generating very good non-random-but-nearly-random bits is to use /dev/random's entropy to seed a fast symmetric stream cipher, and redirect it's output to the application that needs it.

I could also use AES in some sort of counter mode.

For purposes of discussion, can I safely assume that CryptGenRandom on Windows is equivalent to /dev/random on Linux ?

For truly secure purposes, I am guessing that I will have to call CryptGenRandom for each brand new private key I want to generate.
One can use SHA or AES-CBC-MAC or whatever to distill/condition entropy, but... so you do trust the OS-provided CryptGenRandom or /dev/random to gather entropy from electronic thermal noise, OS latency, pictures of lava lamps, but do not trust their conditioning or PRNG? Why use it at all then?

I re-iterate what was said about not "rolling your own", but if you want to implement the PRNG yourself then look up e.g. the Fortuna algorithm in Practical Cryptography. Add a couple of lava lamps and you will be good to go...
17  Bitcoin / Development & Technical Discussion / Re: How to generate a private key? on: April 03, 2013, 12:09:35 PM
I am glad to see you are taking randomness seriously Smiley

How many random bits do you need? Unless you are generating many, many keys, the PRNG should not be a bottleneck. There are also hardware-based RNGs.

The order of the base point of secp256k1 is not quite 2^256, as you noticed, but it is so close that generating 256 random bits and throwing away out-of-range values (on the remote chance you ever get one) is not a problem, and that way (after doing all the arithmetic) you will end up with a point uniformly distributed on the curve.
18  Bitcoin / Development & Technical Discussion / Re: coin mixing using Chaum's blind signatures on: March 10, 2013, 04:06:33 PM
Let's agree that, no matter what goes on inside the mixer, coins go in and later coins come out; what achieves anonymity is the inability to connect inputs with outputs. Therefore small batches and a small latency window will reduce anonymity. Consider the case of a coin sent to the mixer and a coin that comes out 36h later, or a couple of weeks later - could they be connected? Seems better not to set short time limits.

Also do not forget that an attacker will be spamming the server with their transactions, both for DoS and to fill up any small batches. Of course for each "real" input there will be a probability that the mixer adds a dummy input and output. (And of course all communication with the server is encrypted and dummy traffic generated.)
19  Bitcoin / Development & Technical Discussion / Re: How many OPs for £1 on BTC and other clouds? on: March 09, 2013, 09:06:43 PM
How many operations per second, or perhaps more precisely FLOPS can I buy for £1, or if you prefer $1?
Some crude back-of-the-envelope guesstimation shows that £1 should buy you more than 5 GFLOPS (general purpose) these days, meaning to buy the hardware. There are also operations costs and overhead to keep running; you can get a few GFLOPS per watt or even much more.

How much are you really going to pay? More guesstimation indicates your £1 will buy you a TFLOPS for an hour. But I have no confidence in that unless people chime in with how much they are really paying.

Quote
Is there a chart showing the price history for thease idearly together?
FLOPS on Wikipedia, also "Performance per watt"
20  Bitcoin / Development & Technical Discussion / Re: coin mixing using Chaum's blind signatures on: March 09, 2013, 04:09:32 PM
Since your scheme is separate from Bitcoin, it seems that it would be cumbersome for users: they would need to run a special client

Well, it might be sort of a plugin for one of clients...
There are different clients, though, and many people use online wallets. Just something to keep in mind (eg you would not want the online wallet to know which addresses are yours and therefore link them!) That said, an easy-to-use plugin or standalone application is probably the way to go, sure.

Quote
Not necessary. If a lot of people use mixing, one round can be done in less than a minute.

not sure if that fast, don't forget that the batches will be queued up and broadcast in some random order. And it will take time before "a lot of people" are using the service on a regular basis!

Quote
Quote
Also, how is the resulting mixing more secure than the server simply selling people Chaumian cash?

Isn't it obvious? You can keep your bitcoins securely in your wallet. Service simply helps to negotiate a transaction which sends Bitcoins from your wallet to your wallet. There is no risk whatsoever.
I meant secure as in indistinguishability of outputs. You are right, of course.

Quote
"Simply selling people Chaumian cash" would require people to trust that server, develop a way to pay with them etc.

In which sense it is simpler than running a "mix my coins" plugin for your wallet?
Not simpler, but having some of the mixing bypass the Bitcoin network completely is potentially more secure.
Pages: [1] 2 3 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!