Bitcoin Forum
June 21, 2024, 02:31:46 AM *
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 »
81  Bitcoin / Bitcoin Discussion / Re: Why is bitcoin proof of work parallelizable ? on: October 04, 2011, 09:20:14 PM
IMHO, the short answer is that Bitcoin is a distributed network. If you want lots of people around the world to work on the same problem, you need to parallelize it one way or another.

You are aware that they are not working on the same problem? Every miner is working on a different problem (with a different bounty transaction, different time stamp etc.). This cannot be the reason.

This question has already been asked in many ways. If you can limit mining to a single network node (CPU), dedicated miners will just set up multiple nodes for themselves.

Exactly. This improves the probabilistic convergence speed of the algorithm. That's just my claim. Hopefully I can come around to produce a more formal proof for this the next days.

Moreover, limiting generation per person throws away all incentives for developing the network. In its current form, the network is stronger against attacks, because people are rewarded for spending computational power on it. In other words, who is going to do any work, if you just give everyone a big chunk of money?

The point is: The current proof of work scheme makes it possible to parallelize and have pools. A pool could thus become a very strong adversary which is not what we want - right? A non-parallelizable proof of work scheme has the consequence that nobody can become stronger than a, say, 4.5 GHz overclocked single core pentium. This is what we want.
82  Bitcoin / Bitcoin Discussion / Re: Why is bitcoin proof of work parallelizable ? on: October 04, 2011, 09:12:26 PM
A  parallelizable problem also makes it easy to tune the difficulty.

Why would parallelizability and tunability relate to each other? In the Rivest Shamir paper I cited above there is a nice non-parallelizable puzzle which explicitly contains the "number fo computational seconds" as tuning parameter.

If you were able to claim a block reward by finding large primes, the block interval would be a lot less predictable.

Finding large primes would be a very bad non-parallelizable proof-of-work because most prime-finding algorithms are very nicely parallelizable - especiall the probabilistic algorithms. Thus: Non-parallelizable proof-of-works usually are not based on finding large primes.

Also, the chosen method (cryptographic hashing with a result below a target value) is a problem that is difficult to solve, but easy to verify. The hash serves a dual prupose: poof-of-work and integrity verification. Combining the two makes pre-computing the work ahead of time nearly impossible (exception: block-chain fork).

Which is true for all proof-of-work concepts by definition and also for the non-parallelitable ones we find in the literature.
83  Bitcoin / Bitcoin Discussion / Re: Why is bitcoin proof of work parallelizable ? on: October 04, 2011, 06:21:48 PM
How is this whine about pools related to parallelization? 1 cpu or 1 gpu, nothing would change, we would still have pools with cpu, cause otherwise to find a block in solo it will take us years.

The incentive aspect can be solved by adapting difficulty as written in my original post.
84  Bitcoin / Bitcoin Discussion / Re: Why is bitcoin proof of work parallelizable ? on: October 04, 2011, 06:19:27 PM
If you used a non-parallelizable test, the same person would win every time: the person with the fastest single serial processor.  That would be an even dumber distribution than the existing one.

No. This is not specific for non-parallelizable.

The current Bitcoin proof of work leads to a stochastic situation since the solution algorithm is stochastic in nature and every miner (rather: pools) works on a different task.

Both aspects of course must be built into the non-parallelizable proof of work. This can be done, for example by extending the algorithm in the Rivest shamir Wagner paper (see above) by nonce aspects. I have not yet worked out the details or implemented this, but assume it is straight forward.
 
85  Bitcoin / Bitcoin Discussion / Re: Why is bitcoin proof of work parallelizable ? on: October 04, 2011, 06:13:48 PM
Provide any example of
Quote
"A non-parallelizable proof of work would still serve the same goals as a parallelizable proof of work but would solve these problems."

Very few things can't be parallelized.  A mining pool is one example of that.  Provide an example of a problem that an individual can solve but a group of individuals can't solve more quickly.

The problem to solve must, of course, be inherently serial. Searching (guessing) a nonce for a single hash condition is not. Thus we should think more along the lines of hash chains.

There is some literature on this although it is not so widely known.

Colin Boyd presented a talk at the CANS 2007 conference on "Toward Non-parallelizable Client Puzzles"

The classical reference if from Rivest, Shamir, wagner: Timelock puzzles and timed release crypto.

Green, Juen, Fatemieh, Shankesi et al discuss the GPU issue in "Reconstructing Hash reversal based Proof of Work Schemas".

All in all, there are some 20 papers on this and the math is straight forward.
86  Bitcoin / Meetups / Re: EUROPEAN BITCOIN CONFERENCE 2011, PRAGUE NOV 25-27 on: October 03, 2011, 10:53:07 PM
Academic guys *need* a stable program of talks online at the site before they have a chance to secure funding to attend such an event.

So...looking forward to a more complete program.

Also, some info on how to submit contributions would be *really* helpful.

Just some nice pictures of confirmed speakers are not enough...
87  Bitcoin / Bitcoin Discussion / [ANSWERED] Why is bitcoin proof of work parallelizable ? on: October 03, 2011, 10:42:16 PM

I am trying to understand why Bitcoin has a parallelizable proof of work.

The task of the proof of work in Bitcoin is to make it increasingly difficult for an attacker to "change" the "past" and to ensure some kind of convergence in the concept of the "longest chain" in the block structure. Also, the block bonus provides some incentive to the miner, which keeps the system running.

The currently employed proof of work schemes are parallelizable.

As a result of this, pooled mining is faster than GPU mining (250 cores) is faster than iCore 7 mining (8 cores) is faster than Celeron mining (1 core). In my opinion, this is a disadvantage, for a number of reasons:

* Larger pools have a significant share of the total hash capacity. This increases their chances for a 50% attack.
* The speed with which the block chain "converges" (or in the case of a fork "heals") is faster, when many competitors with small computing power are in competition, as compared to the situation, when there are less competitors or competitors with higher (aggregated) computing power.
* Bitcoin was meant to be peer 2 peer; pooling is in contradiction to this. The pools are the banks of tomorrow.

A non-parallelizable proof of work would still serve the same goals as a parallelizable proof of work but would solve these problems.

Of course, at the current difficulty, chances to "win" a block for a single miner would be small. This issue however can be solved easily:

* By increasing block speed and apropriately reducing the bounty, the economics could be kept the same in the long run, but the granularity of the block bounty would be adapted.
* If we want to keep block speed and bounty, we could still have miners operate several computers or GPU work on blocks, but every core would work on its own block variant. This would still increase the return on investment for the miner linearly, but it would not show the problems outlined above.

Therefore my question: Why are we having a parallelizable proof of work ??

Is there a good reason which I do not see or is it merely a historical accident (possibly waiting to be cured?) ?






88  Bitcoin / Bitcoin Discussion / Re: I need help tranlating Satoshi's design paper into as many languages as possible on: October 03, 2011, 07:22:49 PM
The main reason why I got involved with bitcoin was because of Satoshi's PDF.  Can you help translate?

+1 for the first part.
-1 for the second part.

I got interested in undstanding Bitcoin by Satoshi's paper, i.e. I did not at all understand the true concept in Satoshi's paper but it served as a good cliff hanger and appetizer.

5 weeks later, having read Bitcoin source code and having hacked my way to my own block explorer tool, I had a better understanding of the way Bitcoin works. Thus, I do not understand why u suggest a translation of the paper; a reenginered, improved paper with more precision giving the complete picture would be much more important.

 
89  Local / Anfänger und Hilfe / Re: Diplomarbeit über Bitcoin on: September 25, 2011, 03:51:12 PM
Ich schreibe derzeit an einem längeren Text über Bitcoin. Die Extremkurzversion erscheint hoffentlich bei einer wiss. Zeitschrift und für die Langversion suche ich gerade einen Verlag. Zudem ist es ein Thema im Seminar bei uns an der Uni. Da könnte man sich ja mal zusammensetzen und plaudern. Bei Interesse bitte Message über das Forum senden. Danke.
90  Bitcoin / Bitcoin Discussion / Re: Is a distributed private key possible? (for poker) on: September 14, 2011, 10:41:57 PM
Google for "How to share a secret", a paper by Shamir. Might answer your question.
91  Bitcoin / Development & Technical Discussion / Re: Question about transaction outputs. on: August 17, 2011, 09:06:40 PM
Somebody who knows the source better than I can correct, but it looks like the output for "change" is inserted at a random position in the transaction.  See CWallet::CreateTransaction(), wallet.c:969.  So, there shouldn't be any deterministic clues.

From my point of view it is a correct reading of the source but an incorrectly drawn conclusion.

Example: Assume a transaction hat the outputs X and Y. Then usually ONE is the recipient of the payment and the OTHER is the original owner of the coins. Now assume that X is a well known bitcoin address (for example a donation address mentioned here in the forum). In this case you can safely conclude that Y belongs to the original owner of the coins.





92  Bitcoin / Wallet software / Re: Request for Standardization on: August 17, 2011, 07:40:28 PM
As someone who is teaching advanced level computer science for a living (and is fairly fluent in C++) my thoughts on this are:

The Satoshi client contains a particularly advanced style of C++ programming which occasionally is hard to read but is very refined, highly thought through and very efficient.

Currently I am working on source code documentation, reading line by line, adding some assertions and test and peek and debug code and writing down what each line really does. I did so for some 60-70% of the code. In parallel I am working on a documentation which describes the code in plain language; there are some 80 pages now, in draft version. This is a description, not an RFC-like spec.

Originally I also felt the strong desire of reimplementing this, also in a different language. Right now, after some 400 hours spent in reading BTC C++ code, I have reversed my opinion: Reimplementing BTC is probably a bad idea, since the client has a very large number of tricky details which one is likely not to see upon first or second reading (and which are not documented, neither in the code nor in the wiki nor in the rules). Moreover, these aspects are hard to describe in a specification of RFC-like style (which is the reason that I recently introduced a "advanced p2p concepts" chapter in my book on BTC).

However, some reworking of C++ would help the client. The problems I see are:

* Too many classes in one file, bad source code to file mapping
* Too much global state, bad encapsulation and isolation
* Many preprocessor constructions which make the code hard to read
* The class structure is smart and efficient but not quite well adapted to the conceptual elements of BTC. Obviously, the code was growing throughout the project and there was no clear object oriented analysis at the beginning. This probably is the biggest problem since this would require some far reaching code refactoring completely accross the current object structure.

Moreover, I think that C++ is the exactly right language for this (although it leads to a much larger code base than in a Python implementation). Python is the "wrong way of thinking" for this type of code - and there is the efficiency argument as well.

I am happy to share thoughts and drafts of my book at a bit later stage but advice that currently the text is in German. There will be an english version later, but currently it is in German since I need it in German :-)
 
93  Bitcoin / Mining support / Re: Weird: 3x 6990 but Phoenix mines only one, distributing the load on: August 07, 2011, 10:27:09 PM
I assume under linux, each instance of your miner pointed to the correct GPU number?

How do I do that correctly?

What I did was set DISPLAY to :0, turn off xfire and then set DEVICE=0 (1, 2, 3, 4, 5).

Is that the way to do it?

Because...it sounds like a quite plausible explanation that I was only using ONE card. And if I addressed them with atitweak incorrectly as well...I also might be getting the funny performance figures.

if you are getting 1600 from 3 6990s, it's a little low there at 266 Mhashes per GPU...  you should be getting 400 Mhashes per GPU with very modest overclocking.

Yes. But that's fine for me. I am still grilling my steak on the stove and not on the GPU :-)

I am mildly underclocking the cards, a bit intentional. Moreover, it is summer here and when I did some modest overlocking the cards locked up on me. 
94  Bitcoin / Mining support / Re: Maximum gpus supported by windows? on: August 07, 2011, 01:16:35 PM
I can confirm this.

I am running Windows 7 enterprise with 3x 6990 cards, which is 6x GPUs, using the 11.8 preview driver. The rig does some 1600 MHash/s which I currently split between solo and pool.
95  Bitcoin / Mining support / Re: Weird: 3x 6990 but Phoenix mines only one, distributing the load on: August 07, 2011, 01:14:01 PM
How much juice does your power supply have?

3x6990's in switch position 2 will take ~1500 watts, that's before the CPU, motherboard, harddrive, ram, possible fans

That's plural. TWO power supplies adding up to 1650 watts. So it should be fine.

However, I got the rig running now under Windows 7. Looks like the 11.8 preview driver is indeed able to accommodate 6 GPUs (the one I used before did not - windows complained about the driver of the third 6990 having insufficient ressources). And I get 1600 MH/s and am quite happy :-)

Also it looks like 11.8 preview leads to a thermal improvement. I am running at 5 - 8 deg celsius less with the same hash rate per GPU, if compared to earlier drivers.

The sad side, of course, is, that something I did not achieve under Linux now is working fine under Micro$oft. To me, this is rather irritating  Angry

96  Other / Beginners & Help / Re: How do I know if I find a block mining solo? on: August 07, 2011, 10:55:01 AM
Really at this point for most miners, you could go your entire mining cards lifetime and not find a block.

So what?

Bitcoin is not about printing your own money but about collectively building up a peer-2-peer value transfer system.

97  Other / Beginners & Help / Re: Warning - GUIMiner virus hit with Bitdefender on: August 07, 2011, 10:27:35 AM
@Kiv, just as information: Now it is Norton Internet Security, which also reports your 2011-07-11 version of GUIMiner, downloaded from Github.


98  Other / Beginners & Help / Re: NEW GUIMINER with TROJAN ??!!!! on: August 07, 2011, 10:23:22 AM
+1

guiminer-2011-07-11.exe from github user Kiv reports as virus on Norton Internet Security; no further useful details.
99  Local / Projektentwicklung / Re: Findet statt: Bitcoin Meeting Hamburg 30. Juli 16:00 on: August 06, 2011, 08:21:57 PM
Wie war es mit der Location ? Musstest du viel aus eigener Tasche zahlen - oder hielt es sich in Grenzen ?

Die Location war ok. Ich konnte dafür Unterstützung gewinnen - aber nur für dieses Mal. Für das nächste Mal sollten wir da eine bessere Lösung finden.

Hat da jemand ne Idee?
100  Local / Projektentwicklung / Bericht vom Meeting on: August 06, 2011, 06:34:12 PM
Das Meeting fand also statt  Cheesy

Wir waren zu viert: LetBit, harm, Jeff und Forp - und haben dreieinhalb Stunden spannend gefachsimpelt.

Die Themen, die wir hatten, waren dabei:
  • Mining
  • Bitcoin Tausch
  • Meetings in Deutschland
  • Funktionsweise des Transaktions-Netzes, Wechselgeld-Verfahren im Client
  • Sicherheit beim Bitcoin Tausch und bei Kauf und Verkauf mit Bitcoins
  • Weitere Meetings

Die Frage ist nun: Wie geht es weiter.

Wer würde denn zu einem nächsten Meeting kommen.

Dabei stand die Idee im Raum, zu einem Thema einen Referenten zu suchen, für ein Impulsreferat - und dann in die Diskussion einzusteigen.

Pages: « 1 2 3 4 [5] 6 7 8 9 10 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!