public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: solar <solar@heliacal.net>
To: bitcoin-development@lists.sourceforge.net
Subject: Re: [Bitcoin-development] Deprecating "midstate" in getwork?
Date: Thu, 29 Sep 2011 12:49:46 +0000	[thread overview]
Message-ID: <A5A4F15F-4934-43A8-938B-8ECF8A2238E6@heliacal.net> (raw)
In-Reply-To: <4E845B09.8040400@justmoon.de>

It's just simple SHA2, you can implement the whole thing easily without dragging in a huge lib like OpenSSL.  I guess I haven't looked at it recently but the original CPU miner was just implemented locally in bitcoin and didn't use any libs.

It's just that because it's block based, there is no need to ever recalculate the first half since the brute forcing value is in the second half of the block..

This was the original prototype for the OpenCL miner without eliminating redundant calculations and it shows the block1 and block2 calculations clearly.

http://heliacal.net/~solar/bitcoin/sha256.cl

Laszlo

On Sep 29, 2011, at 11:48 AM, Stefan Thomas wrote:

> BitcoinJS uses OpenSSL to calculate midstate:
> 
> https://github.com/bitcoinjs/node-bitcoin-p2p/blob/master/native.cc#L380
> 
> 
> On 9/29/2011 1:40 PM, Nils Schneider wrote:
>> Yes, that's possible and what
>> https://github.com/bitcoin/bitcoin/pull/535 does. However, deprecating
>> midstate (and hash1) would allow for much cleaner code.
>> 
>> A pull request for marking midstate (and hash1) as deprecated can be
>> found at https://github.com/bitcoin/bitcoin/pull/538
>> 
>> On 29.09.2011 12:23, John Smith wrote:
>>> Nils,
>>> 
>>> Sounds good. I'm also doubtful of depending on two crypto libraries when
>>> OpenSSL does perfectly well.
>>> 
>>> However, losing compatibility with miners is not very nice. Is there
>>> really not a way to compute midstate with OpenSSL?
>>> 
>>> JS
>>> 
>>> On Mon, Sep 26, 2011 at 7:42 PM, Nils Schneider<nils@nilsschneider.net
>>> <mailto:nils@nilsschneider.net>>  wrote:
>>> 
>>>     Hey,
>>> 
>>>     I'd like to simplify the internal reference miner and remove all
>>>     dependencies on cryptopp (it's the only place we use cryptopp instead of
>>>     OpenSSL).
>>> 
>>>     Unfortunately, cryptopp is also used to calculate getwork "midstate".
>>>     This field is redundant and the miner could easily calculate it from the
>>>     blockheader so I'd like to remove it.
>>> 
>>>     Any thoughts? Where should such a change should be announced so all
>>>     miners can be upgraded?
>>> 
>>>     ------------------------------------------------------------------------------
>>>     All the data continuously generated in your IT infrastructure contains a
>>>     definitive record of customers, application performance, security
>>>     threats, fraudulent activity and more. Splunk takes this data and makes
>>>     sense of it. Business sense. IT sense. Common sense.
>>>     http://p.sf.net/sfu/splunk-d2dcopy1
>>>     _______________________________________________
>>>     Bitcoin-development mailing list
>>>     Bitcoin-development@lists.sourceforge.net
>>>     <mailto:Bitcoin-development@lists.sourceforge.net>
>>>     https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>>> 
>>> 
>> 
>> ------------------------------------------------------------------------------
>> All the data continuously generated in your IT infrastructure contains a
>> definitive record of customers, application performance, security
>> threats, fraudulent activity and more. Splunk takes this data and makes
>> sense of it. Business sense. IT sense. Common sense.
>> http://p.sf.net/sfu/splunk-d2dcopy1
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>> 
> 
> 
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development




  reply	other threads:[~2011-09-29 12:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-26 19:42 [Bitcoin-development] Deprecating "midstate" in getwork? Nils Schneider
2011-09-28  3:45 ` Jeff Garzik
2011-09-28  3:54   ` Luke-Jr
2011-09-29 10:23 ` John Smith
2011-09-29 11:40   ` Nils Schneider
2011-09-29 11:48     ` Stefan Thomas
2011-09-29 12:49       ` solar [this message]
2011-10-02  7:52         ` John Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A5A4F15F-4934-43A8-938B-8ECF8A2238E6@heliacal.net \
    --to=solar@heliacal.net \
    --cc=bitcoin-development@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox