Bitcoin Forum
June 22, 2024, 02:43:53 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 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 »
3721  Economy / Economics / Re: Price of gold manipulation on: March 28, 2014, 02:13:51 AM
---snip--
The knowledge of the fundamentals regarding gold is not widely circulating. You have to ask yourself again, and again and again until you reach the right answer. "WHY IS GOLD VALUABLE?". Don't settle for "I don't know" or "others seem to value it now and historically" as a self-circulating answer. If you want to really know the truth you may have to insist a bit more on it.

Because Anunnaki designed humans as their gold miner slaves, ooh and by the way NIBIRU is comming to collect.

Did I got that right Wink

Supposing an answer like the above could spring up, the next logical question would be: Why did Anunnaki want the gold? Why did they considered it valuable to go to all that extent where they would have to engineer an entire species just to mine it with primitive means (instead of applying high-tech and extracting it on their own in a much better fashion)?

It's a "design" issue but not related to any human or ET species.

As scientists zoom to examine the fabric of reality, they will find a universe constructed of information and code - which will inevitably lead them to the conclusion that this is a reality construct, similar to a designed game reality that we create for PC games or other types of simulations.

That reality construct in which we live has variables and constants - many of which have already been "mapped" and are currently in our physics books. Whoever designed / "coded" this reality, used two constants regarding what will be considered value by those immersing in the reality. These two constants were gold and silver. Any human plan to bypass the fundamental "coding" of this reality is simply humans trying to play "god" (ie master coder) and replace pre-existing constants with their own.

This will inevitably lead to problems regarding any replacement scheme (whether it is paper money, copper or nickel coins, electronic money etc). All of these have fundamental flaws and collide with the basic design.

For example paper money is issued as debt to have any form of value, since it's backed by nothing else. So it is given as a loan repayable with paper currency + interest. Thus at any time paper currency is less than the actual loans that are expected to be repaid = endless inflation otherwise the prior debts cannot be repaid without issuing new (and more) paper currency. It's a ponzi scam that needs constant inflation so as not to collapse.

Due to paper price affecting the inflation, copper or nickel coins appreciate more than their face value and are thus forced out of circulation by melters. In other words, the currency loses so much value that the metal of the coin exceeds it (!) in the long run (typically 20-30 years).

Bitcoins have 51% problems, they are not as future proof as gold, etc. It's not a tech that can endure 100-1000-10000 years. It can however effectively troll the bankers imperfect systems and compete with their bullshit money and payment systems. How can they accuse Bitcoin that it's backed by nothing, when they themselves back their own paper by nothing? How can they accuse it of being a ponzi when they are running the biggest ponzi scam (ever) with the knowingly-impossible-to-be-repaid loaned paper money? How can they accuse it of being worthless when its a scarce and rare resource compared to their own endless supply of paper money? Even as a payment service it is faster and cheaper than their bank wires/paypal/visa crap.

On the other hand, the only two real problems of gold and silver are

1. the logistics : You can't carry too much of them with you. Being divisible is not an issue for small denominations (that's why there is silver).

Silver coins = small denominations
Gold coins = large denominations
Gold bars = large money transfers

2. fast transactions in a global / worldwide economy that render long-distance-trade problematic and require gold-silver based equivalents for transfer. For example wiring or paying with a VISA or paypal through a gold-backed currency would solve the issue. The recipient would simply go the bank and cash out his incoming payment directly to gold and silver if he so required.

While we are running a paper money system, gold/silver also have price suppression "problems" but that's not inherent on the metals, rather it's due to the inherent instability of the paper money scam that must be preserved by artificial lowering of gold/silver prices through trading enormous quantities (again on paper) that do not even exist, in order to fix the prices.
3722  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 28, 2014, 12:58:57 AM
Coinmarketcap looks like a bloodbath today but DRK is doing relatively well - jumping other coins and going upwards. From the mineable coins, we've passed megacoin + infinitecoin and are now going after ...primecoin. Nice stuff.
3723  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 27, 2014, 01:26:17 PM
Maybe someone could explain why, when mining with the GPU only, the hash rate is abou 880-900 khash, and when I add the CPU mining I see the GPU rate drop to 810-820 khash?
If I close minerd, the GPU jumps back to original hash rate in a few seconds
If you are using all CPU cores , you will have lower hash rate on gpu. I use 7 out of 8, and dont have problem

Cool, how do you select 7 out of 8 cores?

-t 7 at the end of the line of cpuminer parameters.
3724  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 27, 2014, 11:48:25 AM
this was pushed because it was paraded around as a "CPU coin"
read here.. List of CPU-ONLY AltCoins
https://bitcointalk.org/index.php?topic=379601.0
It's the third coin down and when it was added before there was no gpu miner mentioned.

it's a deceptive game and ploy to get people involved.. been there and done that time after time.

in the beginning it was cpu only, then someone else than the developer made a gpu miner, and your blaming us for being a shitcoin, because someone made a gpu miner for it, come on, thats like saying that bitcoin is a shitcoin because they didnt warn about the asics...

I will give you this much: yes, there are alot of shitcoins, but see innovation, where innovation is, instead of just attacking for the sake of attacking

bingo we have a winner LOL

and i quote..

"in the beginning it was cpu only"

thank you you made my point clearly..
and i want to clarify a little something for you noob idiots..
what you meant to say is "in the beginning it was cpu only and had private gpu miners for coin devs to rape and flash mine it privately"
again Spoetnik ? yeah again.. because the last 20 times they pulled that routine it made them a TON of money so of course their going to keep doing it. lol

such gullable much dumb very propaganda  Roll Eyes

Just so you know, and not making a fool of yourself with your ignorance of the situation, there are quite a few ex-CPU coins out there that are currently having GPU mining precisely because sph-sgminer was developed for DRK, in part by code by Evan (Darkcoins creator) and phm (the man accepting a >3000 DRK bounty to complete the opencl implentation). The bounty was paid so that a GPU mining could be made public and not be kept selfishly by any party that could rape a coin.

After the creation of Darkcoin's GPU miner (mid February) that covered 11 algorithms, it was just a matter of time (weeks) to expand its functionality to cover the other cpu coins which used less, but overlapping hashes.

Essentially, Darkcoin paid dev costs so that itself and a list of ex-CPU coins can be fairly mined by every GPU user, instead of having a "the crowd is using CPU and a few guys are using GPUs" situation.
3725  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 27, 2014, 06:57:05 AM
so where is the GPU miner ?

Here: https://bitcointalk.org/index.php?topic=475795.0

Quote
i guarantee this was setup to hide the gpu miner ..i guarantee one was made at launch and kept private ever since.

Very guarantee, such knowledge, much private, wow  Grin
3726  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 27, 2014, 05:56:50 AM
Quote
--expiry 1 --scan-time 1 --queue 0 --no-submit-stale

Expiry 1 means that you consider any share above 1 second as stale and then with the --no-submit-stale, it's impossible to submit it as well. Unless I'm reading it wrong, you must be losing many shares that are never submitted.

Raise the expiry to something reasonable (>20-30 secs) and the queue as well... 1 sec hashes with 0 queue will create a small lag in feeding the GPU with hashes.
3727  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 26, 2014, 08:59:03 PM
11x % of variance is normal. 13x % and upwards indicates something's wrong (that's not pool cheating necessarily).
3728  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 26, 2014, 04:15:34 AM
I think he is referring to potential puppet nodes that may handle DarkSend transactions in order to "map" the network and what goes where. The 51% issue affects pretty much every bitcoin-based crypto.
3729  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 25, 2014, 08:17:12 PM
I think one of the more mainstream features that we can add at some point is to merge the cpu miners (or their optimized code) with the qt-wallet and automate the process of mining through p2pools.

This is an excellent idea, both in terms of fostering mainstream adoption and in protecting the coin by distributing the hashrate far & wide.

Heavycoin did this well, with the cpu miner integrated into the wallet: http://heavycoin.github.io/mining.html

I'm now checking out the wallet of anoncoin, it's pretty sleek with the cpu miner option (extra button "Mining") to the right (I've clicked to expand it):

http://s30.postimg.org/gidypfsb5/walletanon1.jpg
http://s30.postimg.org/prg4zk175/walletanon2.jpg

...however due to scrypt use, it's practically worthless for them.

Something like that could be used and have 3 options, solo, p2pool (with a ready list of p2pools - perhaps pinging them to show latency) and pool.

Maybe further mining options can be provided in parallel, by allowing the user to run a DarkSend node or an IP obfuscation node etc.
3730  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 25, 2014, 08:02:36 PM
One question for miners Smiley Who or what is that 1st miner on coinmine.pl ? Are asics became familiar with X11 ?

I run about 40 Gpus and I'm at 55-60.000 KH/s, but hey 20x more is too much of the Gpus Smiley

There are whale miners out there with >1000 GPUs that produce more than 1 ghash in scrypt... so 1gh in DRK is small by comparison.
3731  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 25, 2014, 12:01:30 PM
+1. The big D with keyhole is facing the wrong way. Flip the symbol left<-> right.

It is not a big D.. it is big D and big C (as in DarkCoin).. flipping would make it meaningless..

Does the $ have a logo?
Does the EUR?
Does any other currency?
Does Gold, have a logo?

USD -> $ (this is the logo)
EUR -> € (this is the logo)
GBP -> £
Yen -> ¥ (same symbol is used for Yuan as far as I can tell)
Gold -> just Au I am afraid..

http://www.xe.com/symbols.php

More like a symbol than a commercial logo though...

Quote
+ 1 on this. Has to be in the windows wallet to appeal to the masses, clean install and environment detection to allow for switching number of threads / cores depending on usage of pc. Eg full bore if no activity detected and right down to just using one core / idling if it's busy on the pc.

Yes, but activated on demand with a click of a button (mine button), with core adjustment as "advanced settings" (I'm thinking like 2 slide bars that change utilization from 1 to 8 cores and from idle to high priority). So it is both simple and configurable, but also not automatic to bring a machine to its knees leading to complaints.

Why so many people mine this coin right now? I'm not trying to be a dick, I just tried to mine it, got 3200KH/s instead of 1200KH/s on scrypt, but it's like 2 times less profitable to mine than most of the scrypt/scrypt-n coins, ~0.003btc/day against ~0.007btc/day.
Am I missing something? Is it better to mine with CPU maybe?

Are you using the latest sph sgminer? https://bitcointalk.org/index.php?topic=475795.0

Some times it depends on the GPU ratio between x11 and scrypt. Right now my ratio is 3.81x (6850) and 3.80x (5830) respectively compared to scrypt - but that's close to the max ratio that one can get with the older cards (79xx and R9s are closer to 3x). Your ratio is 2.66x (3200kh/1200kh) which could take some improvement.

Note 1: 0.003 btc is too low (?). 0.003 is, with current prices of 0.00152 per DRK, less than 2 coins per day (2 mhash should provide 2 coins unless there is a large and continuous spike in difficulty). If you had a more optimal ratio close to 3x, you should have ~3.6 mhash and ~3.6 coins per day X 0.00152 = 0.0055 BTC. With 3.3x it should be 0.006 BTC. The difference with the theoretical 0.007 should be easily covered by half power draw (check note 3).

Note 2: 0.007 for scrypt is slightly inflated. Doge in particular always pays far less in practice than in theory. I don't know what's going on, but if it's not like 130% compared to LTC I'm not touching it.

Note 3: Half power draw that is not siphoning money out of our wallets (~$0.16 to ~$0.28kw/h here - escalating with increased use). The x11 of dark is really gentle for those who have high electric costs.
3732  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 25, 2014, 07:12:16 AM
Quote
We are in a competition right now with hundreds of other cryptos to try and convince the masses to settle on "our" coin, out of all their other options.  Were determining who is going to survive long enough to have a chance to be taken up on a major scale.  And for that to be us, the masses will require some shinies.

Bitcoin got to 10bn marketcap with no bling bling though Grin

I think if you do well what you ought to do, then recognition and adoption is inevitable. If you hype yourself beyond what you can deliver (that's what all altcoins do) the situation can only crash due to disillusionment. Darkcoins survival, for me at least, is not dependent on whether doge goes to the moon or vert tries to chew the ltc market. Do they have anything to offer? I mean for real? I say no. We'll see in time if I'm right or not.

I also believe our "survival" is guaranteed through the anonymity characteristics because it's an enormous market cap right there - but it'll have to be constantly patched for issues and developed further (IP obfuscation should be next after DarkSend - otherwise coins with DarkSend + IP obfuscation will overtake Darkcoin as a more complete package).

On a totally different note, I was thinking that a nice incentive for marketing is giving something to people - not asking them to put their money like we are some kind of ponzi that expects them to buy our coins that we would be "unloading" to them. For example, "want money? Mine darkcoins". Make people earn it and thus appreciate them for how hard they are to get. It also helps to acquaint them with the whole cryptocurrency landscape or even one user saying to another "you know what, I'm making money with my pc", the other will be "how??", "through mining"... "and is it easy?"... "yeah peace of cake, install that, click that and you are making money, wooohooo". Right now it's more like: "no it's not easy, you must be an expert to do it, so don't even bother..."

Mining sounds ok for most of us who know what mining is and how it's done, but for noobs mining = hell. I've had trouble introducing mining even to people with technical background and I was encountering difficulties in the start myself. This HAS to change and we can change it.

Bitcoin lost it with the solo mining thing. Pools took over, solo mining is dead (no chance in hell you'll find a block solo-ing with most altcoins let alone bitcoin), the wallet miner is inefficient, so... everything went south. But cryptocurrencies in general lost it with specialized miners and centralized pools and stuff. Mining should be easy. Load the client and let it run - so that all users can help to secure the network.

I think one of the more mainstream features that we can add at some point is to merge the cpu miners (or their optimized code) with the qt-wallet and automate the process of mining through p2pools. Cpu code is generally ok, not so much complexity as the opencl gpu stuff with drivers, crashes, settings etc. Thus one can start getting darkcoins with their cpu right away, via p2pools, also helping to decentralize the network. There'll be a list of 5-10 p2pools already in the client and the client will automatically opt for what is closest to the user, parsing a newly generated user address (labeled "darkcoin mining income" or something) so that the generated money can flow to it.

Darkcoin is still cpu-friendly and it can give something like 15 coins per month (0.023 BTC) / for a pc with a good cpu running 24/7.... I think resurrecting one of Bitcoin's primary attributes (cpu mining through the client but not solo) and making it easier / almost automated with a single click and more accessible to people can be a good way to introduce people to any coin.
3733  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | ASIC Resistant on: March 25, 2014, 05:58:45 AM
Omg, we do not have a logo, we have a coin design.  It isn't the same thing.

It's like saying that a picture of an Air Jordan is the Nike logo.

What's this then?



Looks like a logo to me. Anyway, the "coin design" is pretty much fine as it is (except the line in the middle of the D should be horizontal, just looks annoying otherwise). Perhaps a more distictive font could be used, but it's a waste of a bounty for a whole new design.

Like I said a few pages back:


This is a logo.  It is for use in multimedia branding and marketing.

This is not a logo.  It is not for use in multimedia branding and marketing.


A logo is something that is unique.  A coin with a D on it is nothing of the sort (in the grand scheme of things - certainly no offense intended to the designer).  To John Q. Cryptocurious it's just another coin in a sea of coins.  

A logo is simple, clean and concise.  The design on the OP is not simple, clean and concise.  

Above all, a logo is instantly recognizable, at any size or from any distance.  Shrink the OP image down to icon size and nobody would be able to tell WTF it is or how it is different from any other alt coin render - especially someone who doesn't know what Darkcoin is to begin with.  

While the coin on the OP is very well done, it is absolutely not a logo.  The Nike swoosh is a logo.  An Air Jordan is not.  The Mercedes emblem is a logo.  A 300SD is not.  The AT&T globe is a logo.  An AT&T smart phone is not.

Here is a photo of some of the most iconic logos in the world:



Notice what they all have in common: clean, simple, limited number of colors, no minute details to get lost in the design, instantly recognizable, each is distinct and unique, each has a high degree of differentiation from any other brand you can think of.  I could go on.

Notice how each and every one of them is not simply a circle with a letter in the middle of it.  That is because these logos were made by people who have a clue what they are doing.

The coin is not a suitable logo for branding or marketing.  Period.  I know people like it, but it will not serve for those purposes.
After reading what eltito has said and this here http://www.coindesk.com/bitcoin-needs-got-milk/ I have changed my mind. I used to believe that the coin image was itself enough for the logo but that is no longer the case. we do need something with more of a marketing edge to it. Sleek or whatever that may be. I started thinking about logos and the one's that came to mind are simple yet distinctive...jaguar, bmw, nike, etc.. I like the coin logo design, but we do need something else.

When I'm seeing the logo of mcdonalds and apple, I think to myself: "Yes, but is a currency a "product" to be marketed?"

Does the $ have a logo?
Does the EUR?
Does any other currency?
Does Gold, have a logo?

I can understand the logo only in the context of a "service" of payments, like "paypal accepted" / "darkcoin accepted", but other than that, not really (for a currency).
3734  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | No Premine | DGW | ASIC Resistant on: March 24, 2014, 12:52:30 AM
When did the max coins get changed from 80 mil to 20 mil?

Evan asked the other day whether it's better to reduce future coins through a poll and the decision was taken. Thus darkcoin now has increased store-of-wealth characteristics.

The number I think is based on an estimate since the rewards (between 5 and 25) are not a given.
3735  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | No Premine | DGW | ASIC Resistant on: March 23, 2014, 10:13:48 PM
Depends on the bounty. Some of them I decide, some of them the dev team decides, some the community will decide on. Generally each is marked as such. It's difficult to put bounties to vote because money is on the line, and psudonymous voting can be gamed.

This one was more of a fun bounty, hence the low amount. I'm not going to enter into debate about the decisions though, let's just congratulate the winners and move onto the next target.

If you and the devs are ok: I think we need a public english wiki for Darkcoin, just like wiki.darkcoin.fr (good job there Cool ), to include

-laymen information (Google-able) until Wikipedia finally accepts Darkcoin, so that when they hit "darkcoin wiki" they'll go into it

In other pages of the same wiki one should be able to find:

-all relevant and in-depth information
-all programs related to darkcoin with links etc
-development changes, future stuff, running projects (like marketing bounties) etc
-hardware configuration and performance database for miners where we can point them for settings, relative performances etc
-list of every exchange and discussion point (forums, reddit, irc places etc)

In sort this should be the one-stop-info for all information darkcoin related that even the main site can link to, or get info from.

Thing is I'm quite slow with using wiki format but I can write lots of content in text/doc that can be submitted if we can set it up (which can be edited/improved by interested members).

What we'll need is a server/domain (whether in the existing domain of darkcoin or elsewhere) that has both wiki and darkcoin in its name. We'll mention it often in this thread to create google backlinks that raise it in relevant searches.

I could set up the wiki to be English & French (or I could setup the English wiki on darkcoin.eu which I also own).
I didn't thought nobody would make a Wiki in English, that's why I focused on the French one.

Sounds good to me, if the devs and the marketing department have no argument. We really need an english / international wiki.
3736  Alternate cryptocurrencies / Mining (Altcoins) / OpenCL Scrypt improvement (~2.6% on AMD 5830 - unknown % in others) on: March 23, 2014, 09:58:51 PM
I've tried some small OpenCL improvements that got my card from 255 khash to 262khash. While it's a minor improvement I think it could be quite significant for GPU farms (2.6% = 26 cards working for free in a 1000 GPU farm).

Now, to the chase, this is the modified scrypt130511.cl (which you must use to replace the scrypt130511.cl or other similar scryptxxxxx.cl of the cgminer 3.7.2 source directory)

Code:
/*-
 * Copyright 2009 Colin Percival, 2011 ArtForz, 2011 pooler, 2012 mtrlt
 * 2012-2013 Con Kolivas.
 * All rights reserved.
 *
 *"Unrolled edition" v1.00 for 2.6% gain (AMD 5xxx) by AlexGR (2014)
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This file was originally written by Colin Percival as part of the Tarsnap
 * online backup system.
 */

__constant uint ES[2] = { 0x00FF00FF, 0xFF00FF00 };
__constant uint K[] = {
0x428a2f98U,
0x71374491U,
0xb5c0fbcfU,
0xe9b5dba5U,
0x3956c25bU,
0x59f111f1U,
0x923f82a4U,
0xab1c5ed5U,
0xd807aa98U,
0x12835b01U,
0x243185beU, // 10
0x550c7dc3U,
0x72be5d74U,
0x80deb1feU,
0x9bdc06a7U,
0xe49b69c1U,
0xefbe4786U,
0x0fc19dc6U,
0x240ca1ccU,
0x2de92c6fU,
0x4a7484aaU, // 20
0x5cb0a9dcU,
0x76f988daU,
0x983e5152U,
0xa831c66dU,
0xb00327c8U,
0xbf597fc7U,
0xc6e00bf3U,
0xd5a79147U,
0x06ca6351U,
0x14292967U, // 30
0x27b70a85U,
0x2e1b2138U,
0x4d2c6dfcU,
0x53380d13U,
0x650a7354U,
0x766a0abbU,
0x81c2c92eU,
0x92722c85U,
0xa2bfe8a1U,
0xa81a664bU, // 40
0xc24b8b70U,
0xc76c51a3U,
0xd192e819U,
0xd6990624U,
0xf40e3585U,
0x106aa070U,
0x19a4c116U,
0x1e376c08U,
0x2748774cU,
0x34b0bcb5U, // 50
0x391c0cb3U,
0x4ed8aa4aU,
0x5b9cca4fU,
0x682e6ff3U,
0x748f82eeU,
0x78a5636fU,
0x84c87814U,
0x8cc70208U,
0x90befffaU,
0xa4506cebU, // 60
0xbef9a3f7U,
0xc67178f2U,
0x98c7e2a2U,
0xfc08884dU,
0xcd2a11aeU,
0x510e527fU,
0x9b05688cU,
0xC3910C8EU,
0xfb6feee7U,
0x2a01a605U, // 70
0x0c2e12e0U,
0x4498517BU,
0x6a09e667U,
0xa4ce148bU,
0x95F61999U,
0xc19bf174U,
0xBB67AE85U,
0x3C6EF372U,
0xA54FF53AU,
0x1F83D9ABU, // 80
0x5BE0CD19U,
0x5C5C5C5CU,
0x36363636U,
0x80000000U,
0x000003FFU,
0x00000280U,
0x000004a0U,
0x00000300U
};

#define rotl(x,y) rotate(x,y)
#define Ch(x,y,z) bitselect(z,y,x)
#define Maj(x,y,z) Ch((x^z),y,z)

#define EndianSwap(n) (rotl(n & ES[0], 24U)|rotl(n & ES[1], 8U))

#define Tr2(x) (rotl(x, 30U) ^ rotl(x, 19U) ^ rotl(x, 10U))
#define Tr1(x) (rotl(x, 26U) ^ rotl(x, 21U) ^ rotl(x, 7U))
#define Wr2(x) (rotl(x, 25U) ^ rotl(x, 14U) ^ (x>>3U))
#define Wr1(x) (rotl(x, 15U) ^ rotl(x, 13U) ^ (x>>10U))

#define RND(a, b, c, d, e, f, g, h, k) \
h += Tr1(e); \
h += Ch(e, f, g); \
h += k; \
d += h; \
h += Tr2(a); \
h += Maj(a, b, c);

void SHA256(uint4*restrict state0,uint4*restrict state1, const uint4 block0, const uint4 block1, const uint4 block2, const uint4 block3)
{
uint4 S0 = *state0;
uint4 S1 = *state1;

#define A S0.x
#define B S0.y
#define C S0.z
#define D S0.w
#define E S1.x
#define F S1.y
#define G S1.z
#define H S1.w

uint4 W[4];

W[ 0].x = block0.x;
RND(A,B,C,D,E,F,G,H, W[0].x+ K[0]);
W[ 0].y = block0.y;
RND(H,A,B,C,D,E,F,G, W[0].y+ K[1]);
W[ 0].z = block0.z;
RND(G,H,A,B,C,D,E,F, W[0].z+ K[2]);
W[ 0].w = block0.w;
RND(F,G,H,A,B,C,D,E, W[0].w+ K[3]);

W[ 1].x = block1.x;
RND(E,F,G,H,A,B,C,D, W[1].x+ K[4]);
W[ 1].y = block1.y;
RND(D,E,F,G,H,A,B,C, W[1].y+ K[5]);
W[ 1].z = block1.z;
RND(C,D,E,F,G,H,A,B, W[1].z+ K[6]);
W[ 1].w = block1.w;
RND(B,C,D,E,F,G,H,A, W[1].w+ K[7]);

W[ 2].x = block2.x;
RND(A,B,C,D,E,F,G,H, W[2].x+ K[8]);
W[ 2].y = block2.y;
RND(H,A,B,C,D,E,F,G, W[2].y+ K[9]);
W[ 2].z = block2.z;
RND(G,H,A,B,C,D,E,F, W[2].z+ K[10]);
W[ 2].w = block2.w;
RND(F,G,H,A,B,C,D,E, W[2].w+ K[11]);

W[ 3].x = block3.x;
RND(E,F,G,H,A,B,C,D, W[3].x+ K[12]);
W[ 3].y = block3.y;
RND(D,E,F,G,H,A,B,C, W[3].y+ K[13]);
W[ 3].z = block3.z;
RND(C,D,E,F,G,H,A,B, W[3].z+ K[14]);
W[ 3].w = block3.w;
RND(B,C,D,E,F,G,H,A, W[3].w+ K[76]);

W[ 0].x += Wr1(W[ 3].z) + W[ 2].y + Wr2(W[ 0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[15]);

W[ 0].y += Wr1(W[ 3].w) + W[ 2].z + Wr2(W[ 0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[16]);

W[ 0].z += Wr1(W[ 0].x) + W[ 2].w + Wr2(W[ 0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[17]);

W[ 0].w += Wr1(W[ 0].y) + W[ 3].x + Wr2(W[ 1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[18]);

W[ 1].x += Wr1(W[ 0].z) + W[ 3].y + Wr2(W[ 1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[19]);

W[ 1].y += Wr1(W[ 0].w) + W[ 3].z + Wr2(W[ 1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[20]);

W[ 1].z += Wr1(W[ 1].x) + W[ 3].w + Wr2(W[ 1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[21]);

W[ 1].w += Wr1(W[ 1].y) + W[ 0].x + Wr2(W[ 2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[22]);

W[ 2].x += Wr1(W[ 1].z) + W[ 0].y + Wr2(W[ 2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[23]);

W[ 2].y += Wr1(W[ 1].w) + W[ 0].z + Wr2(W[ 2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[24]);

W[ 2].z += Wr1(W[ 2].x) + W[ 0].w + Wr2(W[ 2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[25]);

W[ 2].w += Wr1(W[ 2].y) + W[ 1].x + Wr2(W[ 3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[26]);

W[ 3].x += Wr1(W[ 2].z) + W[ 1].y + Wr2(W[ 3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[27]);

W[ 3].y += Wr1(W[ 2].w) + W[ 1].z + Wr2(W[ 3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[28]);

W[ 3].z += Wr1(W[ 3].x) + W[ 1].w + Wr2(W[ 3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[29]);

W[ 3].w += Wr1(W[ 3].y) + W[ 2].x + Wr2(W[ 0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[30]);

W[ 0].x += Wr1(W[ 3].z) + W[ 2].y + Wr2(W[ 0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[31]);

W[ 0].y += Wr1(W[ 3].w) + W[ 2].z + Wr2(W[ 0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[32]);

W[ 0].z += Wr1(W[ 0].x) + W[ 2].w + Wr2(W[ 0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[33]);

W[ 0].w += Wr1(W[ 0].y) + W[ 3].x + Wr2(W[ 1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[34]);

W[ 1].x += Wr1(W[ 0].z) + W[ 3].y + Wr2(W[ 1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[35]);

W[ 1].y += Wr1(W[ 0].w) + W[ 3].z + Wr2(W[ 1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[36]);

W[ 1].z += Wr1(W[ 1].x) + W[ 3].w + Wr2(W[ 1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[37]);

W[ 1].w += Wr1(W[ 1].y) + W[ 0].x + Wr2(W[ 2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[38]);

W[ 2].x += Wr1(W[ 1].z) + W[ 0].y + Wr2(W[ 2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[39]);

W[ 2].y += Wr1(W[ 1].w) + W[ 0].z + Wr2(W[ 2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[40]);

W[ 2].z += Wr1(W[ 2].x) + W[ 0].w + Wr2(W[ 2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[41]);

W[ 2].w += Wr1(W[ 2].y) + W[ 1].x + Wr2(W[ 3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[42]);

W[ 3].x += Wr1(W[ 2].z) + W[ 1].y + Wr2(W[ 3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[43]);

W[ 3].y += Wr1(W[ 2].w) + W[ 1].z + Wr2(W[ 3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[44]);

W[ 3].z += Wr1(W[ 3].x) + W[ 1].w + Wr2(W[ 3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[45]);

W[ 3].w += Wr1(W[ 3].y) + W[ 2].x + Wr2(W[ 0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[46]);

W[ 0].x += Wr1(W[ 3].z) + W[ 2].y + Wr2(W[ 0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[47]);

W[ 0].y += Wr1(W[ 3].w) + W[ 2].z + Wr2(W[ 0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[48]);

W[ 0].z += Wr1(W[ 0].x) + W[ 2].w + Wr2(W[ 0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[49]);

W[ 0].w += Wr1(W[ 0].y) + W[ 3].x + Wr2(W[ 1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[50]);

W[ 1].x += Wr1(W[ 0].z) + W[ 3].y + Wr2(W[ 1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[51]);

W[ 1].y += Wr1(W[ 0].w) + W[ 3].z + Wr2(W[ 1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[52]);

W[ 1].z += Wr1(W[ 1].x) + W[ 3].w + Wr2(W[ 1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[53]);

W[ 1].w += Wr1(W[ 1].y) + W[ 0].x + Wr2(W[ 2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[54]);

W[ 2].x += Wr1(W[ 1].z) + W[ 0].y + Wr2(W[ 2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[55]);

W[ 2].y += Wr1(W[ 1].w) + W[ 0].z + Wr2(W[ 2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[56]);

W[ 2].z += Wr1(W[ 2].x) + W[ 0].w + Wr2(W[ 2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[57]);

W[ 2].w += Wr1(W[ 2].y) + W[ 1].x + Wr2(W[ 3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[58]);

W[ 3].x += Wr1(W[ 2].z) + W[ 1].y + Wr2(W[ 3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[59]);

W[ 3].y += Wr1(W[ 2].w) + W[ 1].z + Wr2(W[ 3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[60]);

W[ 3].z += Wr1(W[ 3].x) + W[ 1].w + Wr2(W[ 3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[61]);

W[ 3].w += Wr1(W[ 3].y) + W[ 2].x + Wr2(W[ 0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[62]);

#undef A
#undef B
#undef C
#undef D
#undef E
#undef F
#undef G
#undef H

*state0 += S0;
*state1 += S1;
}

void SHA256_fresh(uint4*restrict state0,uint4*restrict state1, const uint4 block0, const uint4 block1, const uint4 block2, const uint4 block3)
{
#define A (*state0).x
#define B (*state0).y
#define C (*state0).z
#define D (*state0).w
#define E (*state1).x
#define F (*state1).y
#define G (*state1).z
#define H (*state1).w

uint4 W[4];

W[0].x = block0.x;
D= K[63] +W[0].x;
H= K[64] +W[0].x;

W[0].y = block0.y;
C= K[65] +Tr1(D)+Ch(D, K[66], K[67])+W[0].y;
G= K[68] +C+Tr2(H)+Ch(H, K[69] ,K[70]);

W[0].z = block0.z;
B= K[71] +Tr1(C)+Ch(C,D,K[66])+W[0].z;
F= K[72] +B+Tr2(G)+Maj(G,H, K[73]);

W[0].w = block0.w;
A= K[74] +Tr1(B)+Ch(B,C,D)+W[0].w;
E= K[75] +A+Tr2(F)+Maj(F,G,H);

W[1].x = block1.x;
RND(E,F,G,H,A,B,C,D, W[1].x+ K[4]);
W[1].y = block1.y;
RND(D,E,F,G,H,A,B,C, W[1].y+ K[5]);
W[1].z = block1.z;
RND(C,D,E,F,G,H,A,B, W[1].z+ K[6]);
W[1].w = block1.w;
RND(B,C,D,E,F,G,H,A, W[1].w+ K[7]);

W[2].x = block2.x;
RND(A,B,C,D,E,F,G,H, W[2].x+ K[8]);
W[2].y = block2.y;
RND(H,A,B,C,D,E,F,G, W[2].y+ K[9]);
W[2].z = block2.z;
RND(G,H,A,B,C,D,E,F, W[2].z+ K[10]);
W[2].w = block2.w;
RND(F,G,H,A,B,C,D,E, W[2].w+ K[11]);

W[3].x = block3.x;
RND(E,F,G,H,A,B,C,D, W[3].x+ K[12]);
W[3].y = block3.y;
RND(D,E,F,G,H,A,B,C, W[3].y+ K[13]);
W[3].z = block3.z;
RND(C,D,E,F,G,H,A,B, W[3].z+ K[14]);
W[3].w = block3.w;
RND(B,C,D,E,F,G,H,A, W[3].w+ K[76]);

W[0].x += Wr1(W[3].z) + W[2].y + Wr2(W[0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[15]);

W[0].y += Wr1(W[3].w) + W[2].z + Wr2(W[0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[16]);

W[0].z += Wr1(W[0].x) + W[2].w + Wr2(W[0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[17]);

W[0].w += Wr1(W[0].y) + W[3].x + Wr2(W[1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[18]);

W[1].x += Wr1(W[0].z) + W[3].y + Wr2(W[1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[19]);

W[1].y += Wr1(W[0].w) + W[3].z + Wr2(W[1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[20]);

W[1].z += Wr1(W[1].x) + W[3].w + Wr2(W[1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[21]);

W[1].w += Wr1(W[1].y) + W[0].x + Wr2(W[2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[22]);

W[2].x += Wr1(W[1].z) + W[0].y + Wr2(W[2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[23]);

W[2].y += Wr1(W[1].w) + W[0].z + Wr2(W[2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[24]);

W[2].z += Wr1(W[2].x) + W[0].w + Wr2(W[2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[25]);

W[2].w += Wr1(W[2].y) + W[1].x + Wr2(W[3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[26]);

W[3].x += Wr1(W[2].z) + W[1].y + Wr2(W[3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[27]);

W[3].y += Wr1(W[2].w) + W[1].z + Wr2(W[3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[28]);

W[3].z += Wr1(W[3].x) + W[1].w + Wr2(W[3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[29]);

W[3].w += Wr1(W[3].y) + W[2].x + Wr2(W[0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[30]);

W[0].x += Wr1(W[3].z) + W[2].y + Wr2(W[0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[31]);

W[0].y += Wr1(W[3].w) + W[2].z + Wr2(W[0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[32]);

W[0].z += Wr1(W[0].x) + W[2].w + Wr2(W[0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[33]);

W[0].w += Wr1(W[0].y) + W[3].x + Wr2(W[1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[34]);

W[1].x += Wr1(W[0].z) + W[3].y + Wr2(W[1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[35]);

W[1].y += Wr1(W[0].w) + W[3].z + Wr2(W[1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[36]);

W[1].z += Wr1(W[1].x) + W[3].w + Wr2(W[1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[37]);

W[1].w += Wr1(W[1].y) + W[0].x + Wr2(W[2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[38]);

W[2].x += Wr1(W[1].z) + W[0].y + Wr2(W[2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[39]);

W[2].y += Wr1(W[1].w) + W[0].z + Wr2(W[2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[40]);

W[2].z += Wr1(W[2].x) + W[0].w + Wr2(W[2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[41]);

W[2].w += Wr1(W[2].y) + W[1].x + Wr2(W[3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[42]);

W[3].x += Wr1(W[2].z) + W[1].y + Wr2(W[3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[43]);

W[3].y += Wr1(W[2].w) + W[1].z + Wr2(W[3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[44]);

W[3].z += Wr1(W[3].x) + W[1].w + Wr2(W[3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[45]);

W[3].w += Wr1(W[3].y) + W[2].x + Wr2(W[0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[46]);

W[0].x += Wr1(W[3].z) + W[2].y + Wr2(W[0].y);
RND(A,B,C,D,E,F,G,H, W[0].x+ K[47]);

W[0].y += Wr1(W[3].w) + W[2].z + Wr2(W[0].z);
RND(H,A,B,C,D,E,F,G, W[0].y+ K[48]);

W[0].z += Wr1(W[0].x) + W[2].w + Wr2(W[0].w);
RND(G,H,A,B,C,D,E,F, W[0].z+ K[49]);

W[0].w += Wr1(W[0].y) + W[3].x + Wr2(W[1].x);
RND(F,G,H,A,B,C,D,E, W[0].w+ K[50]);

W[1].x += Wr1(W[0].z) + W[3].y + Wr2(W[1].y);
RND(E,F,G,H,A,B,C,D, W[1].x+ K[51]);

W[1].y += Wr1(W[0].w) + W[3].z + Wr2(W[1].z);
RND(D,E,F,G,H,A,B,C, W[1].y+ K[52]);

W[1].z += Wr1(W[1].x) + W[3].w + Wr2(W[1].w);
RND(C,D,E,F,G,H,A,B, W[1].z+ K[53]);

W[1].w += Wr1(W[1].y) + W[0].x + Wr2(W[2].x);
RND(B,C,D,E,F,G,H,A, W[1].w+ K[54]);

W[2].x += Wr1(W[1].z) + W[0].y + Wr2(W[2].y);
RND(A,B,C,D,E,F,G,H, W[2].x+ K[55]);

W[2].y += Wr1(W[1].w) + W[0].z + Wr2(W[2].z);
RND(H,A,B,C,D,E,F,G, W[2].y+ K[56]);

W[2].z += Wr1(W[2].x) + W[0].w + Wr2(W[2].w);
RND(G,H,A,B,C,D,E,F, W[2].z+ K[57]);

W[2].w += Wr1(W[2].y) + W[1].x + Wr2(W[3].x);
RND(F,G,H,A,B,C,D,E, W[2].w+ K[58]);

W[3].x += Wr1(W[2].z) + W[1].y + Wr2(W[3].y);
RND(E,F,G,H,A,B,C,D, W[3].x+ K[59]);

W[3].y += Wr1(W[2].w) + W[1].z + Wr2(W[3].z);
RND(D,E,F,G,H,A,B,C, W[3].y+ K[60]);

W[3].z += Wr1(W[3].x) + W[1].w + Wr2(W[3].w);
RND(C,D,E,F,G,H,A,B, W[3].z+ K[61]);

W[3].w += Wr1(W[3].y) + W[2].x + Wr2(W[0].x);
RND(B,C,D,E,F,G,H,A, W[3].w+ K[62]);

#undef A
#undef B
#undef C
#undef D
#undef E
#undef F
#undef G
#undef H

*state0 += (uint4)(K[73], K[77], K[78], K[79]);
*state1 += (uint4)(K[66], K[67], K[80], K[81]);
}

__constant uint fixedW[64] =
{
0x428a2f99,0xf1374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,
0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf794,
0xf59b89c2,0x73924787,0x23c6886e,0xa42ca65c,0x15ed3627,0x4d6edcbf,0xe28217fc,0xef02488f,
0xb707775c,0x0468c23f,0xe7e72b4c,0x49e1f1a2,0x4b99c816,0x926d1570,0xaa0fc072,0xadb36e2c,
0xad87a3ea,0xbcb1d3a3,0x7b993186,0x562b9420,0xbff3ca0c,0xda4b0c23,0x6cd8711a,0x8f337caa,
0xc91b1417,0xc359dce1,0xa83253a7,0x3b13c12d,0x9d3d725d,0xd9031a84,0xb1a03340,0x16f58012,
0xe64fb6a2,0xe84d923a,0xe93a5730,0x09837686,0x078ff753,0x29833341,0xd5de0b7e,0x6948ccf4,
0xe0a1adbe,0x7c728e11,0x511c78e4,0x315b45bd,0xfca71413,0xea28f96a,0x79703128,0x4e1ef848,
};

void SHA256_fixed(uint4*restrict state0,uint4*restrict state1)
{
uint4 S0 = *state0;
uint4 S1 = *state1;

#define A S0.x
#define B S0.y
#define C S0.z
#define D S0.w
#define E S1.x
#define F S1.y
#define G S1.z
#define H S1.w

RND(A,B,C,D,E,F,G,H, fixedW[0]);
RND(H,A,B,C,D,E,F,G, fixedW[1]);
RND(G,H,A,B,C,D,E,F, fixedW[2]);
RND(F,G,H,A,B,C,D,E, fixedW[3]);
RND(E,F,G,H,A,B,C,D, fixedW[4]);
RND(D,E,F,G,H,A,B,C, fixedW[5]);
RND(C,D,E,F,G,H,A,B, fixedW[6]);
RND(B,C,D,E,F,G,H,A, fixedW[7]);
RND(A,B,C,D,E,F,G,H, fixedW[8]);
RND(H,A,B,C,D,E,F,G, fixedW[9]);
RND(G,H,A,B,C,D,E,F, fixedW[10]);
RND(F,G,H,A,B,C,D,E, fixedW[11]);
RND(E,F,G,H,A,B,C,D, fixedW[12]);
RND(D,E,F,G,H,A,B,C, fixedW[13]);
RND(C,D,E,F,G,H,A,B, fixedW[14]);
RND(B,C,D,E,F,G,H,A, fixedW[15]);
RND(A,B,C,D,E,F,G,H, fixedW[16]);
RND(H,A,B,C,D,E,F,G, fixedW[17]);
RND(G,H,A,B,C,D,E,F, fixedW[18]);
RND(F,G,H,A,B,C,D,E, fixedW[19]);
RND(E,F,G,H,A,B,C,D, fixedW[20]);
RND(D,E,F,G,H,A,B,C, fixedW[21]);
RND(C,D,E,F,G,H,A,B, fixedW[22]);
RND(B,C,D,E,F,G,H,A, fixedW[23]);
RND(A,B,C,D,E,F,G,H, fixedW[24]);
RND(H,A,B,C,D,E,F,G, fixedW[25]);
RND(G,H,A,B,C,D,E,F, fixedW[26]);
RND(F,G,H,A,B,C,D,E, fixedW[27]);
RND(E,F,G,H,A,B,C,D, fixedW[28]);
RND(D,E,F,G,H,A,B,C, fixedW[29]);
RND(C,D,E,F,G,H,A,B, fixedW[30]);
RND(B,C,D,E,F,G,H,A, fixedW[31]);
RND(A,B,C,D,E,F,G,H, fixedW[32]);
RND(H,A,B,C,D,E,F,G, fixedW[33]);
RND(G,H,A,B,C,D,E,F, fixedW[34]);
RND(F,G,H,A,B,C,D,E, fixedW[35]);
RND(E,F,G,H,A,B,C,D, fixedW[36]);
RND(D,E,F,G,H,A,B,C, fixedW[37]);
RND(C,D,E,F,G,H,A,B, fixedW[38]);
RND(B,C,D,E,F,G,H,A, fixedW[39]);
RND(A,B,C,D,E,F,G,H, fixedW[40]);
RND(H,A,B,C,D,E,F,G, fixedW[41]);
RND(G,H,A,B,C,D,E,F, fixedW[42]);
RND(F,G,H,A,B,C,D,E, fixedW[43]);
RND(E,F,G,H,A,B,C,D, fixedW[44]);
RND(D,E,F,G,H,A,B,C, fixedW[45]);
RND(C,D,E,F,G,H,A,B, fixedW[46]);
RND(B,C,D,E,F,G,H,A, fixedW[47]);
RND(A,B,C,D,E,F,G,H, fixedW[48]);
RND(H,A,B,C,D,E,F,G, fixedW[49]);
RND(G,H,A,B,C,D,E,F, fixedW[50]);
RND(F,G,H,A,B,C,D,E, fixedW[51]);
RND(E,F,G,H,A,B,C,D, fixedW[52]);
RND(D,E,F,G,H,A,B,C, fixedW[53]);
RND(C,D,E,F,G,H,A,B, fixedW[54]);
RND(B,C,D,E,F,G,H,A, fixedW[55]);
RND(A,B,C,D,E,F,G,H, fixedW[56]);
RND(H,A,B,C,D,E,F,G, fixedW[57]);
RND(G,H,A,B,C,D,E,F, fixedW[58]);
RND(F,G,H,A,B,C,D,E, fixedW[59]);
RND(E,F,G,H,A,B,C,D, fixedW[60]);
RND(D,E,F,G,H,A,B,C, fixedW[61]);
RND(C,D,E,F,G,H,A,B, fixedW[62]);
RND(B,C,D,E,F,G,H,A, fixedW[63]);

#undef A
#undef B
#undef C
#undef D
#undef E
#undef F
#undef G
#undef H
*state0 += S0;
*state1 += S1;
}

void shittify(uint4 B[8])
{
uint4 tmp[4];
tmp[0] = (uint4)(B[1].x,B[2].y,B[3].z,B[0].w);
tmp[1] = (uint4)(B[2].x,B[3].y,B[0].z,B[1].w);
tmp[2] = (uint4)(B[3].x,B[0].y,B[1].z,B[2].w);
tmp[3] = (uint4)(B[0].x,B[1].y,B[2].z,B[3].w);

#pragma unroll
for(uint i=0; i<4; ++i)
B[i] = EndianSwap(tmp[i]);

tmp[0] = (uint4)(B[5].x,B[6].y,B[7].z,B[4].w);
tmp[1] = (uint4)(B[6].x,B[7].y,B[4].z,B[5].w);
tmp[2] = (uint4)(B[7].x,B[4].y,B[5].z,B[6].w);
tmp[3] = (uint4)(B[4].x,B[5].y,B[6].z,B[7].w);

#pragma unroll
for(uint i=0; i<4; ++i)
B[i+4] = EndianSwap(tmp[i]);
}

void unshittify(uint4 B[8])
{
uint4 tmp[4];
tmp[0] = (uint4)(B[3].x,B[2].y,B[1].z,B[0].w);
tmp[1] = (uint4)(B[0].x,B[3].y,B[2].z,B[1].w);
tmp[2] = (uint4)(B[1].x,B[0].y,B[3].z,B[2].w);
tmp[3] = (uint4)(B[2].x,B[1].y,B[0].z,B[3].w);

#pragma unroll
for(uint i=0; i<4; ++i)
B[i] = EndianSwap(tmp[i]);

tmp[0] = (uint4)(B[7].x,B[6].y,B[5].z,B[4].w);
tmp[1] = (uint4)(B[4].x,B[7].y,B[6].z,B[5].w);
tmp[2] = (uint4)(B[5].x,B[4].y,B[7].z,B[6].w);
tmp[3] = (uint4)(B[6].x,B[5].y,B[4].z,B[7].w);

#pragma unroll
for(uint i=0; i<4; ++i)
B[i+4] = EndianSwap(tmp[i]);
}

void salsa(uint4 B[8])
{
uint4 w[4];

#pragma unroll
for(uint i=0; i<4; ++i)
w[i] = (B[i]^=B[i+4]);

#pragma unroll
for(uint i=0; i<4; ++i)
{
w[0] ^= rotl(w[3]     +w[2]     , 7U);
w[1] ^= rotl(w[0]     +w[3]     , 9U);
w[2] ^= rotl(w[1]     +w[0]     ,13U);
w[3] ^= rotl(w[2]     +w[1]     ,18U);
w[2] ^= rotl(w[3].wxyz+w[0].zwxy, 7U);
w[1] ^= rotl(w[2].wxyz+w[3].zwxy, 9U);
w[0] ^= rotl(w[1].wxyz+w[2].zwxy,13U);
w[3] ^= rotl(w[0].wxyz+w[1].zwxy,18U);
}

#pragma unroll
for(uint i=0; i<4; ++i)
w[i] = (B[i+4]^=(B[i]+=w[i]));

#pragma unroll
for(uint i=0; i<4; ++i)
{
w[0] ^= rotl(w[3]     +w[2]     , 7U);
w[1] ^= rotl(w[0]     +w[3]     , 9U);
w[2] ^= rotl(w[1]     +w[0]     ,13U);
w[3] ^= rotl(w[2]     +w[1]     ,18U);
w[2] ^= rotl(w[3].wxyz+w[0].zwxy, 7U);
w[1] ^= rotl(w[2].wxyz+w[3].zwxy, 9U);
w[0] ^= rotl(w[1].wxyz+w[2].zwxy,13U);
w[3] ^= rotl(w[0].wxyz+w[1].zwxy,18U);
}

#pragma unroll
for(uint i=0; i<4; ++i)
B[i+4] += w[i];
}

#define Coord(x,y,z) x+y*(x ## SIZE)+z*(y ## SIZE)*(x ## SIZE)
#define CO Coord(z,x,y)

void scrypt_core(uint4 X[8], __global uint4*restrict lookup)
{
shittify(X);
const uint zSIZE = 8;
const uint ySIZE = (1024/LOOKUP_GAP+(1024%LOOKUP_GAP>0));
const uint xSIZE = CONCURRENT_THREADS;
uint x = get_global_id(0)%xSIZE;

for(uint y=0; y<1024/LOOKUP_GAP; ++y)
{
#pragma unroll
for(uint z=0; z<zSIZE; ++z)
lookup[CO] = X[z];

#pragma unroll
for(uint i=0; i<LOOKUP_GAP; ++i)
salsa(X);
}
#if (LOOKUP_GAP != 1) && (LOOKUP_GAP != 2) && (LOOKUP_GAP != 4) && (LOOKUP_GAP != 8)
{
uint y = (1024/LOOKUP_GAP);

#pragma unroll
for(uint z=0; z<zSIZE; ++z)
lookup[CO] = X[z];

#pragma unroll
for(uint i=0; i<1024%LOOKUP_GAP; ++i)
salsa(X);
}
#endif

for (uint i=0; i<1024; ++i)
{
uint4 V[8];
uint j = X[7].x & K[85];
uint y = (j/LOOKUP_GAP);
#pragma unroll
for(uint z=0; z<zSIZE; ++z)
V[z] = lookup[CO];

#if (LOOKUP_GAP == 1)
#elif (LOOKUP_GAP == 2)

if (j&1)
salsa(V);
#else
uint val = j%LOOKUP_GAP;
#pragma unroll
for (uint z=0; z<val; ++z)
salsa(V);
#endif

#pragma unroll
for(uint z=0; z<zSIZE; ++z)
X[z] ^= V[z];
salsa(X);
}
unshittify(X);
}

#define SCRYPT_FOUND (0xFF)
#define SETFOUND(Xnonce) output[output[SCRYPT_FOUND]++] = Xnonce

__attribute__((reqd_work_group_size(WORKSIZE, 1, 1)))
__kernel void search(__global const uint4 * restrict input,
volatile __global uint*restrict output, __global uint4*restrict padcache,
const uint4 midstate0, const uint4 midstate16, const uint target)
{
uint gid = get_global_id(0);
uint4 X[8];
uint4 tstate0, tstate1, ostate0, ostate1, tmp0, tmp1;
uint4 data = (uint4)(input[4].x,input[4].y,input[4].z,gid);
uint4 pad0 = midstate0, pad1 = midstate16;

SHA256(&pad0,&pad1, data, (uint4)(K[84],0,0,0), (uint4)(0,0,0,0), (uint4)(0,0,0, K[86]));
SHA256_fresh(&ostate0,&ostate1, pad0^ K[82], pad1^ K[82], K[82], K[82]);
SHA256_fresh(&tstate0,&tstate1, pad0^ K[83], pad1^ K[83], K[83], K[83]);

tmp0 = tstate0;
tmp1 = tstate1;
SHA256(&tstate0, &tstate1, input[0],input[1],input[2],input[3]);

#pragma unroll
for (uint i=0; i<4; i++)
{
pad0 = tstate0;
pad1 = tstate1;
X[i*2 ] = ostate0;
X[i*2+1] = ostate1;

SHA256(&pad0,&pad1, data, (uint4)(i+1,K[84],0,0), (uint4)(0,0,0,0), (uint4)(0,0,0, K[87]));
SHA256(X+i*2,X+i*2+1, pad0, pad1, (uint4)(K[84], 0U, 0U, 0U), (uint4)(0U, 0U, 0U, K[88]));
}
scrypt_core(X,padcache);
SHA256(&tmp0,&tmp1, X[0], X[1], X[2], X[3]);
SHA256(&tmp0,&tmp1, X[4], X[5], X[6], X[7]);
SHA256_fixed(&tmp0,&tmp1);
SHA256(&ostate0,&ostate1, tmp0, tmp1, (uint4)(K[84], 0U, 0U, 0U), (uint4)(0U, 0U, 0U, K[88]));

bool result = (EndianSwap(ostate1.w) <= target);


if (result)
SETFOUND(gid);
}

...you "make clean", "make", remove old .bin files from your cgminer dir (rm *.bin) and run cgminer again to create new .bins.

Check your current speed and intensity to see where you are at right now and then please report back with results of the new kernel. I'm curious what it does for 6xxx / 7xxx and R9's which have a different architecture than series 5xxx.

If it worked for you and you liked it, well, my donation addresses are listed below Tongue
3737  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | No Premine | DGW | ASIC Resistant on: March 23, 2014, 06:29:29 PM
Even so, if an ASIC complex enough to mine DRK is ever invented, it's contributions to other sciences would be huge...

I suspect the problematic acceleration on GPUs compared to CPUs is a hint that ASICs might suck at it.
3738  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | No Premine | DGW | ASIC Resistant on: March 23, 2014, 06:20:37 PM
Depends on the bounty. Some of them I decide, some of them the dev team decides, some the community will decide on. Generally each is marked as such. It's difficult to put bounties to vote because money is on the line, and psudonymous voting can be gamed.

This one was more of a fun bounty, hence the low amount. I'm not going to enter into debate about the decisions though, let's just congratulate the winners and move onto the next target.

If you and the devs are ok: I think we need a public english wiki for Darkcoin, just like wiki.darkcoin.fr (good job there Cool ), to include

-laymen information (Google-able) until Wikipedia finally accepts Darkcoin, so that when they hit "darkcoin wiki" they'll go into it

In other pages of the same wiki one should be able to find:

-all relevant and in-depth information
-all programs related to darkcoin with links etc
-development changes, future stuff, running projects (like marketing bounties) etc
-hardware configuration and performance database for miners where we can point them for settings, relative performances etc
-list of every exchange and discussion point (forums, reddit, irc places etc)

In sort this should be the one-stop-info for all information darkcoin related that even the main site can link to, or get info from.

Thing is I'm quite slow with using wiki format but I can write lots of content in text/doc that can be submitted if we can set it up (which can be edited/improved by interested members).

What we'll need is a server/domain (whether in the existing domain of darkcoin or elsewhere) that has both wiki and darkcoin in its name. We'll mention it often in this thread to create google backlinks that raise it in relevant searches.
3739  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | No Premine | DGW | ASIC Resistant on: March 23, 2014, 05:56:57 PM
I decided to dump half my Darkcoins today because of this coin. I fear if legit it could make Darkcoin obsolete and holding it will be toxic. I'm gonna be on the sidelines until I know anything different.

https://bitcointalk.org/index.php?topic=525419

Agree or Disagree?

IPO scamcoin LOL!


Officially the most tedious response to all things people don't understand and have no intelligent response to on Bitcoin Talk. Just copy and paste your opinions gathered from the masses and fax it in next time.

Put your money into Spark and get happy. That's all I have to say after reading your comments. See you!

So you don't fear another coin having lots of features and also having the main feature than Darkcoins price is based solely on. Uh ok....See you!

Problem with forums people get caught up in their little sector and get so damn defensive about their precious coin and simply can't have a discussion that is balanced. Who knows you could of successfully defended an opinion that had value, instead its hey get off our land your not welcome approach. So you can't mention altcoins on bitcoin section you cant mention NXT to miners, you cant mention NEM on NXT, it simply becomes a kiddie gang thing, kind of retarded but whatever....

If people feel nervous that a proof of stake can ever overtake a proof of work coin, than they don't have a sound understanding of what proof of work actually provides and why Bitcoin became a smash.
3740  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN] Greececoin (GRCE) - LAUNCHED GET MINING! - NET HASH OVER 8GH!! PROFITABLE! on: March 23, 2014, 05:32:48 PM
This has 50 percent more coins than aphroditecoin.  Even at a very overinflated market valuation of $2 per coin, it would have a total market cap of over $64 million , putting it at 5th spot on coinmarketcap, right under aurora.

This will plummet just like all the other national coins.  IMO, all these national coins are nothing but a joke.  Just neckbeard devs in their basement with not a shit clue of how inconceivable a 'real world' airdrop actually is to any community larger than the friends list on their AIM messenger.

Investors and hypers of these coins could give a rats ass less about 'benefiting the country or its economy,' either.  They just wanna make out like bandits praying for a 100x profit like aurora, then dump on the rest of the fools.  Lol don't let them tell you otherwise.  

This.

Spot on.

I'm from Greece and I can tell you

1. People don't know what cryptocurrencies are - there's no way for a dubious cryptocoin to get ANY traction whatsoever. I can't imagine a single merchang accepting ...greecoins. People don't even know what bitcoin is, or if they do, they are highly skeptical.

2. Greece is not a small island like iceland or cyprus. You can't just "airdrop" money. It has a vast surface compared to iceland or cyprus. What this means is that there can be no serious coin distribution in the form of paper.

This is pump & dump. I know I'm spoiling it for those who are buying and saying "oh this could help them" etc etc, but the only thing it'll happen is for some people to lose money and some others to gain money from those who lost it.

Initially we had a meme coin that got traction and then there was 100 meme-clones, animal-clones etc etc. Then we had a country coin that got traction and now there are 5-10 clones. WTF.
Pages: « 1 ... 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 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!