As an Amazon Associate I earn money from qualifying purchases.

Thursday, July 10, 2014

Urocoin: Real or Scam?

The past 24 hours saw Urocoin (URO) go from just another alt-coin into being the heaviest traded alt-coin at several exchanges (Bittrex and Mintpal), totaling thousands of BTC worth of trading during the day. It looks like a classic pump-and-dump, but there are still people defending the coin as being legit. So what exactly is it that URO is supposed to offer?

The big "hurrah" this time is about linking a cryptocurrency directly to a commodity, and in this case it's Urea. Never heard of it? It's basically fertilizer. Why would they need to use a cryptocurrency instead of, say, regular money? (Answer: they wouldn't.) But I digress; the announcement post says 1 URO will be worth 1 metric ton (tonne if you prefer) of Urea, and there will be a total of 1 million URO. Okay, how much is 1 MT of Urea worth then? How does $300 strike you?

So let's get this straight: company (Green Earth Systems in Australia, with offices in Hong Kong, India, Pakistan, and a few other locations) is going to create a new cryptocurrency, have no premine, and they're going to back it with the value of Urea? Yeah, that's the gist of it, which means the earliest miners were finding blocks of 12 URO in a matter of seconds that would "one day" be worth $3600 or more. And to help all this happen, URO has...a completely vanilla wallet that could have been copied from any number of X11 alt-coins. Hmmm....

AltCoinHerald has already posted much of what I would have said, so let me just add a few comments. First, notice that I'm totally not anonymous, and also note that I posted the following in the AltCoinHerald article: "If altcoinherald isn't correct in his assessment -- which matches mine -- I will close shop on HolyNerdvana.com as well. We've seen this same story with a bit less panache several times now. Guarantcoin (GTC) is one example." Yes, that's me putting my web site on the line to say that this is a scam. Why would I do such a thing? Am I just trying to get in on a lower buy price for URO? Nope -- I do it because I'm a blogger and thus traffic benefits me, and by publicly showing I'm right about this (and many others are right as well), maybe I can get a bit more respect/traffic. And if this totally backfires, I guess I'm just not cut out for looking at alt-coins any longer.

Rather than rehash AltCoinHerald, though, I decided to try something more interesting. Archive.org has old copies of the information on GreenEarthSystems.com.au, so I looked for details there. That also brought me to GESCommodity.com, a related site which hasn't been updated lately. Since Urea is a commodity, I checked the Contact Us page, which of course is quite different from the current Local Offices page at the "main" site. Note that all of the email addresses have been changed, so instead of sales@greenearthsystems.com.au they are now [country]@greenearthsystems.com.au, but there are no phone numbers listed. Anyway, I decided to try calling those old phone numbers from the GESCommodity pages; any guess as to what I found?

The two numbers for Australia gave me a disconnected line and a "no one is available" voice mail after 15 seconds of ringing. All of the other numbers I tried were disconnected, except for Germany where I was able to talk with a nice gentleman for a few minutes. He used to work with Green Earth Systems (apparently as a local consultant/point of contact), but he has not done anything with them since February 2014. He does not know what the company is doing now, but I gather that he didn't do too much with them earlier either. More than anything, his attitude was curiosity: "What is Green Earth Systems doing that makes you want to talk with me!?" So, the one phone number that I was able to speak with someone basically confirmed that the information on their web pages is at best woefully outdated.

All of this points to the company having gone kaput, letting their domains sit idle, and along comes a group of ne'er-do-wells who are able to grab the old domain (but perhaps not GESCommodity.com yet, though it appears that domain was just updated July 7 so it's not likely to be far behind if the scam continues) and perpetrate a huge scam. Looking at the main site's domain registration, it was apparently last updated in April 2014 by "IMPACT INVESTIGATIONS AND SECURITY PTY LTD". The Twitter account meanwhile was virtually dead until June of this year, right before URO came into being.

In short, this looks ever more like an elaborate scheme by pump and dumpers (and alt-coin designers) to create a coin with a huge amount of hype and then cash in on it. All we need now is a hidden premine or something to that effect, but at least there's no indication that happened. What I do know is that I called at least six of the countries listed on the GES Commodity contact page, and either had a disconnected line or no answer for Australia, RSA, Hong Kong, Fiji, the UK, and I think Jordan as well; Germany answered and is no longer working for the company.

I've seen less elaborate scams (GTC and AC come to mind), but bottom line is that if this were true, some company would be looking at investing $300 million into a new alt-coin (in order to cover 1 million URO that are each worth $300 of Urea). Why would a company think that making a new coin and funding it with that much money would be better than, say, using Bitcoin? Why would farmers in India and other locations want to buy Urea with URO instead of fiat? Occam's Razor basically points to this being a scam, as the alternative (i.e. that it's real) requires far more assumptions and uncertainty.

Feel free to start calling the phone numbers if you'd like to verify my story, but please be kind to the German gentleman and don't call him again -- let a couple alt-coin sites call him, if they want (and tell him I'm sorry for starting this phone calling business!), but if individuals start calling he's going to have a hundred out of country calls in a day, and that would be horrible. UK and Australia's phone numbers appear dead, so those are easy enough to confirm. And if you can prove that this isn't a scam... well, give me a number listed on the Archive.org web page that actually works. Yeah, that can probably be done as well given enough incentive.

It looks like the bubble is already mostly past so I don't think much more will happen. We'll see small volumes of trade as the price goes up, then big volumes going down as anyone still holding tries to get out. A see-saw pattern downwards is going to be the order of the day for URO is my bet. Good luck if you want to bet against me, and if I'm wrong... well, I'll stop posting about alt-coins on HolyNerdvana and find something else to do with my time.

As a final thought, there are many saying, "But BTC isn't backed by anything and it continues plugging along. Doesn't that mean all cryptocurrencies are a scam!?" The problem with that reasoning is that Bitcoin never promised to be anything more than Bitcoin -- 1 BTC is worth 1 BTC, and if you trade it for something else than the market will determine how much it's worth, be that $1, $32, $260, $1250, or the current $625. URO is claiming to be tied to 1 ton of Urea, but if you can't actually redeem your URO for Urea then it becomes a scam. 1 URO is worth exactly 1 URO, and however much that is worth is up to the markets to determine. Not surprisingly, URO reached a peak price of 0.035 (give or take) and has now dropped to 0.007 -- and it continues to fall. In a few months it won't be that difficult to collect 12500 URO, but good luck redeeming that for $3,750,000 worth of Urea!

Monday, July 7, 2014

Proof of Stake Interest Scaling: WYSINWYG!

So I've bagged on Proof of Stake "minting" before, and I've said numerous times that I don't expect much to happen. Blackcoin has 1% nominal annual interest, but other coins are promising much higher rates. What if I told you that the actual interest you'll receive may be far less than the stated PoS interest rate? You'd probably think, "That's terrible -- there's no reason to hold any PoS coin unless you're simply speculating!" Well, it appears after further review that this is exactly the case with some of the PoS coins out there! Case in point: Piggycoin 2.0 (PIGGY).

Let me give you an example of what I previously thought was happening, then some numbers that prove this is absolutely not the way it works. (I've been digging through the source code, and frankly it's tough to follow so I have not yet quite figured out where things "go wrong".) Let's start with something simple: 15% annual interest.

If you have $1000, at the end of the year if it's compounded yearly, you'll have $1150. With PoS I assumed things would function in a similar manner, but with more frequent compounding, and that seems to be the way most people expect it to work. So if you have 1000 coins and the PoS rate is 15% yearly, then if your coins hit a PoS block and their coin age is 1 day, you'd receive (1000 coins * 0.15 /365) coins from PoS daily on average, which would be ~0.411 coins. What happens if you don't hit a block for a day is that your coins continue to age, so if they don't hit a PoS block for 10 days then their coin age is 10, so you'd get 10X the PoS reward -- 4.11 coins every ten days. Thus, in theory at the end of a year you'll average out to the 15% figure -- and if you hit a block every day, you're effectively getting compounded daily interest, so slightly more than 15% yearly.

Here's the problem with PIGGY: that's not actually what's happening! I know this because I mined about 212K PIGGY, and I talked about the features of the wallet. PIGGY is basically yet another alt-coin, with the biggest claim to fame being that it has a somewhat more advanced/useful wallet. (It has things like an integrated block explorer, a Statistics page, and even a chat client.) My analysis is that, despite the improved wallet, I just don't see PIGGY going anywhere. Naturally, the staunchest PIGGY supporters think I'm an idiot/jerk/[insert derogatory name]. I posted my "review" in their ANN thread, which obviously doesn't help much, but here's where things take a turn for the worse.

One of the users said something to the effect of, "I just bought 500K PIGGY and I should be getting around 205 PIGGY every day from PoS, but I'm not. What's going on?" Someone tried to explain what was happening ("The difficulty of PoS blocks is higher now!"), but their explanation didn't make sense. Then I looked at my wallet, and what do you think I found? I mined PIGGY initially on IPOminer and then transferred 212,192.5036 PIGGY to my personal wallet at 2014-6-19 12:12:43 (feel free to look that up in the block explorer). On 2014-6-19 23:53:10 I hit my first PoS block, which means according to my previous understanding I should have seen a PoS block reward of 42.42033355. (The 212K coins had accrued precisely 0.486458 days of coin age, and with 15% annual interest that would be 0.019991% interest for the time elapsed.) My actual block reward from that first "minted" block after just under half a day: 2.06481019 PIGGY. The rewards are about 5% of what I was expecting to see, or off by a factor of 20X, just like the other user!

I dug through the source code at this point and still didn't come up with a clear understanding of what's going wrong, but since we have coins that have been doing PoS minting for a while, I figured I'd go check one of those. Enter Asiacoin. (Why Asiacoin? Well, it's 100% annual interest, and the block explorer shows the number of outstanding coins quite clearly.) Let's start first with the end of the PoW phase, at block 20160. The total number of AC mined in the PoW phase is 171370113.067912, and that was on 2014-05-01 06:47:30. Asiacoin was created by a complete scammer, but the PoS transition went more or less smoothly and so the first PoS block of 20161 came at 2014-05-01 07:53:44. The block reward from PoS? A whopping 3.562109 AC from 137.55704 AC that was mined/transferred in on 2014-04-17 04:44:56 -- so it had a coin age of around 14 days. 100% * 14 / 365 = 3.83%, so I would have expected 5.27616 for the PoS block reward. The returns get worse as time goes by, unfortunately.

Asiacoin launched at 2014-04-16 16:00, and the PoS phase has been going on for around 9.5 weeks now. During that time, the total number of AC has increased from 171,370,113 to 182,981,295 (at the time I write this we're on block 114262). That represents an increase in the total number of coins of just 6.77%, and 9.5 weeks (slightly more) represents 18.2% of the year. So, even if only half of coins are staking (which is possible) the returns from PoS minting are less than one half of the stated 100% nominal annual interest. That's actually not bad if we were dealing with fiat where the value is more or less static, but that's not the case with cryptocurrencies obviously. AC was still valued at over 500 satoshi after the scam was discovered, back on May 13. Today, AC is valued at roughly 150 satoshi (give or take 10 satoshi). So even if you were getting 100% returns annually, in just one month the value has dropped by by half, fully offsetting (and then some!) any returns from interest.

Let's do another example with AC, though. Here's an address with 1.945 million AC. The AC was added after being purchased from MintPal, it appears, in two large chunks of 1.25M and .45M. Since then, the wallet has mostly been offline, with only a couple online sessions to get some of the coins due from staking. On 5/30, the 1.25M AC staked and became 1.34M AC. The next time that chunk of coins staked was on 7/5 when the 1.34M AC became 1.43M AC. Looking at that second transaction, 35 days had passed so the interest should have been 9.59%; the actual interest was 7.14% -- it's not off by a massive amount, but again it's still not giving the expected 100% annual returns (plus compounding interest).

I strongly suspect if I were to take the time and check on the dozens of other PoS coins I'd find similar problems with many of them. After all, many of these coins are simply taking an existing coin, cloning the source, modifying a few parameters, setting up some seed nodes (and a premine), and calling it a day. If the original source has some bad logic, all of the clones inherit those flaws.

Bottom line on PoS coins: it's definitely not at all about the PoS interest -- that's basically worthless on most coins to begin with (hello 1% Blackcoin, 2% Whitecoin, etc!). What will make PoS coins profitable is if they somehow become useful. That's not really happening with any that I can really see -- BC is doing "okay" perhaps, but it's one of the best examples and it's not even really healthy in my book. NXT is pretty much a joke as far as I'm concerned, and everyone holding NXT hoping it will increase in value would be better off trading it and figuring out ways to get more places to accept NXT for goods/services. But wait...why would you want to accept NXT if you could just accept BTC, LTC, or any number of other cryptocurrencies instead? Hmmm.... What's really driving the price on all of these PoS coins seems to be pure speculation more than anything, not to mention market manipulation.

Again, I want to note that not all PoS coins have problems with the amount of interest they're generating. Blackcoin seems to be on target, and CAIx looks right as well. HBN scales the PoS rewards, but it's clearly visible in the code and it's part of the specifications. If someone wants to figure out precisely why the returns from PoS on AC and PIGGY are broken and drop me a note about where in the source code it's happening, I'll be happy to update this. Personally, I feel if a coin promises 15% interest yearly, that's what it needs to deliver -- let the market dictate the price, but the interest rate should be set in stone -- WYSIWYG (What You See Is What You Get). This business of scaling interest rates without publicly stating how the scaling happens is just one more shady practice that will result in people getting burned.

Tuesday, July 1, 2014

Vertcoin Introduces Stealth Addresses

It seems like forever ago that I was talking about Vertcoin (VTC), and sadly the coin has been slowly fading away -- in terms of mining profitability, coin value, and the amount of discussion oriented around the cryptocurrency. Certainly VTC is far from being dead, but with all the (empty) hype around the various PoW->PoS coins during the past couple of months, not to mention things like X11 and X13 proving to be far more popular than Scrypt-N (they're not as hard on the hardware or power bill, and hash rates are higher which some people take as being "better"), the original Scrypt-N coin has been languishing.

That all changes as of today (yesterday technically, depending on your time zone), with Vertcoin's introduction of Stealth Addresses. What exactly are Stealth Addresses, and how do they work? Well, that's where things get interesting. Let's start with a screenshot:
First things first, there was a typo (it says "Monocle" rather than "Vertcoin") in the first version of the client to support Stealth Addresses; it was fixed with an updated binary later in the day, and as the devs work on both Monocle and Vertcoin this isn't really a problem (plus they did the initial testing of Stealth Addresses on Monocle). Now, what exactly is a Stealth Transaction?

Some have erroneously labeled Stealth Addresses as just a form of transaction mixing, but that's not accurate. Put simply, there is now a new type of transaction that can take place, which uses a Stealth Address instead of a regular address, and others will not be able to see all of the transactions going into/out of these Stealth Addresses. They'll be able to see the transaction on the block chain, but they will not be able to link up the address to any specific user.

Think of it this way: if I write you a check, you can see my account number; if you write me a check, I can see your account number. However, neither of us is able to see the balance, deposits, and withdrawals that are in the account because we don't have the appropriate key. This is basically what Stealth Transactions are trying to do with Vertcoin.

The way it works is that when you create a Stealth Address and someone sends coins to that address, your client generates a one-time normal VTC address but the transaction gets tagged as a Stealth Transaction (SX). Embedded in the transaction is a marker that flags it as an SX, and your client can scan these SX to see if any match one of its Stealth Address; if they do, it can use the locally stored private key to retrieve the coins.

If you prefer a slightly more technical explanation -- understanding that this is currently closed-source code, so we don't actually know the specifics of how Vertcoin is doing things -- there is some information avaialble here. The short summary is that each Stealth Address is associated with two private keys, a Private Scan Key and a Private Spend Key. Presumably (though this isn't entirely clear), the counterpart Public Scan/Spend keys are embedded within the Stealth Address. When someone generates a Stealth Transaction using a Stealth Address, a Public Ephem Key is generated along with the standard Vertcoin address, and this becomes part of the block transaction. Using the Public Ephem Key, Private Scan Key, and Public Spend Key a receiving wallet can test a transaction to see if the Vertcoin address belongs to one of the wallet's Stealth Addresses; if it does, the Public Ephem Key, Private Scan Key, and Private Spend Key allow the wallet to retrieve the coins.

In terms of how it works with Vertcoin, at present coins from SX don't just show up in your wallet -- you have to manually tell your wallet to scan for any SX that belong to you. A future client update might make scanning for SX automatic, or something that runs every few minutes; I'm actually not quite sure what the purpose is to not have them show up automatically right now, but I think it's an effort to reduce the load on servers and exchanges. The good thing with Stealth Addresses and Stealth Transactions is that all the regular block explorer tools still work. This is in contrast to Darkcoin's DarkSend and things like Ring Signatures -- go look at the "awesome" block explorers for Monero for example and you'll find they're not particularly useful.

[Update: After redownloading the block chain, I was able to properly retrieve the SX. The text below has been edited.]

Let's walk through an example set of transactions, just to make things a bit easier to understand. I went ahead and sent a Stealth Transaction to a test address (vJmtKDHvgLV5SD1KQ2a9BhUeZaBBNhhSrkrCvfTy7cZ16pjEAnEGii1kL35FzGGeGy6g64BCErHGbczfExwcADZU43n8Y44fCGT9H9 if you're wondering). The coins disappeared from my wallet, so that went well, and I can now see the "real" one-time VTC address they were sent to (VoehMYgeLy8UAAj5TQh17fv5iRQNkSu2Ep):
So far so good; now let's see if I can find the transaction on the Vertcoin block explorer. It actually took a bit longer than I was expecting, but about 30 minutes later (ten blocks later) it showed up:
It took some time to sort things out (basically my initial block chain was somehow corrupted and I had to download it again), but once the transaction is visible on the block chain I was able to then press the "Import Stealth Address Transactions" button to collect the coins.

The first time you press this button, it appears your wallet has to scan the entire block chain looking for any matching SX; it took a couple minutes on a Core i7-4800MQ, but subsequent runs are much faster (nearly instant). And if you're wondering, the "Reset Private Keys Status" button is used to reset the scan index for SX back to the default (block 0?), but normally there shouldn't be any need to use that. One issue that remains is that there's no progress indicator or any form of feedback when you press the Import... or Reset... buttons, so hopefully that gets addressed in a future wallet update.

You'll notice that on the receiving end, it shows the original Stealth Address along with the one-time address. Interesting to note is that while my Stealth Address listed above may no longer appear very "stealthy", having that address be public knowledge still doesn't allow others to see the actual SX associated with it! Others could send me coins (donations always welcome!), but each new SX will generate a new one-time VTC address, so unless I go out of my way to publish those, no one can see what's happening inside my wallet.

Ultimately, despite a small hiccup along the way, I like the option to do these Stealth Transactions. It doesn't make things truly anonymous, but I'm not sure most people really want that level of anonymity. Right now, the SX implementation in Vertcoin is certainly better than some of the cryptic and user unfriendly stuff that needs to be done with CryptoNote coins. Could this mark a change in the global ranking of various coins? Will we see VTC valuation continue to rise while some of the other alternatives like DRK and XMR drop? I don't think that's really likely, especially considering the difficulty of mining Scrypt-N (it's simply more demanding on your GPUs and consumes more power than X11 and Cryptonight), but at least right now VTC is looking better than it has for the past couple weeks.


If you like reading these blog posts but don't want to subscribe to my thrice-weekly newsletter, please consider making purchases through my Amazon Affiliate links!

Mining CryptoNote Coins with NVIDIA - Settings and Performance

[Update: You can also just use Nicehash, with there auto-switching NiceHashMiner. That's what I'm doing these days, and it pays out in BTC.]

I'm going to assume most people are already aware of the AMD GPU miner for CryptoNote coins, so I'm not going to discuss that for now -- though it's probably worth its own post in the near future. Instead, I want to look at mining CryptoNote coins with NVIDIA hardware, since we now have an open source (thanks TSIV!) version of ccMiner for just that purpose. First things first, grab the Windows binaries (or if you're doing Linux, use the source code and compile it). But now that you have the executable, how do you get it running?

The good news is that all of the CryptoNote coins that I've looked at where you can use a pool just rely on your wallet's address. As Monero is currently the most profitable of the coins (AFAICT), I'm going to use that as my example, but other CryptoNote coins should be similar in practice. Before you can get mining, you'll need the wallet, and you'll want to download and sync with the blockchain. For Monero, that means grabbing the latest files and then running them. Assuming this is your first time running, do the following:

  1. Download the wallet and daemon files and extract them to an appropriate folder (e.g. C:\Mining\Monero).
  2. You'll save yourself a lot of time by downloading the partial blockchain that's available on the main thread -- get the appropriate chain for Windows, OS X, or Linux (64-bit only), or else you'll just need to run the daemon and wait for it to finish syncing (which can take hours the first time). For Windows, put the blockchain.bin file in %AppData%/bitmonero; on Linux/OS X put the blockchain.bin in ~/.bitmonero.
  3. Now start up the bitmonerod.exe daemon and wallet; I use the batch file below to accomplish this. If you want this to auto-start when you boot up the PC, create a shortcut to the batch file and put it in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
@echo off
tasklist /FI "IMAGENAME eq bitmonerod.exe" 2>NUL | find /I /N "bitmonerod.exe">NUL
if not %ERRORLEVEL% == 0 (
  echo Starting node...
  start /MIN /LOW bitmonerod.exe
) else (
  echo Node already started.
)

tasklist /FI "IMAGENAME eq simplewallet.exe" 2>NUL | find /I /N "simplewallet.exe">NUL
if not %ERRORLEVEL% == 0 (
  if exist wallet.bin.keys (
    echo Starting previous wallet...
    start simplewallet.exe --wallet wallet.bin
  ) else (
    echo Starting new wallet...
    start simplewallet.exe --generate-new-wallet wallet.bin
  )
) else (
  echo Wallet already started.
)
At this point, you should have a wallet, which really is just an EXE that talks to the daemon and can send certain commands. The daemon is in charge of downloading the blockchain and staying in sync with the network, while the wallet holds your coins and had a key (which is password protected, so you need to input the password each time you start the wallet).

To get mining, you need to know your Monero address, so go to the wallet window and type in "address" (without the quotes). Other commands you can use are available by typing "help", and thankfully there are only a few commands you need to know. Now take that address and go to one of the Monero pools -- I'd suggest monero.crypto-pool.fr as the best candidate, though you're free to use others. With that address in hand, and a pool (or two or three) selected, it's time to start mining.

For mining, you now have three options: CPU, AMD GPU, or NVIDIA GPU. The basic settings are similar for each -- you use the miner with the pool address and your wallet address. For CPUs, use the number of CPU cores you have (real cores without Hyper-Threading is usually best on Intel, while for AMD you can use all available cores). For AMD, there's no real configuration to speak of right now -- fire and forget, with the knowledge that you're donating 5% of coins to the developer (Claymore), at least until an open source version becomes available. For NVIDIA, you can just run with the defaults as well, but my whole reason for this post is to tell you not to do that! The default syntax is as follows:
ccminer.exe -l 8x64 -o stratum+tcp://mine.moneropool.org:80 -u 48JM22E3ZfPSoFCukcizpSR2hCsBnAExT4ACvrpYx5czFgEyR12LWwK9JpgYRZKjsRHp8ynDcQegbhCspvjHd7gaL8qbzYy -p x
Okay, the addresses are really long, but the real item you want to pay attention to is the "-l [threads]x[blocks]" setting. Here's what I know: the default setting is 8x40, and on most NVIDIA GPUs that I've tried it absolutely sucks. That may be a bit harsh, but basically it's not doing any sort of tuning so you're going to get anywhere from decent to mediocre to terrible performance, but very likely not optimal performance. On one GPU (GTX 860M), the defaults gave me 50 H/s, but with fine tuning I got up to nearly four times that hash rate. So how do you tune the settings?

I suggest starting by trying to find a good thread setting; anything between 6 and 12 is potentially good, so start with 6x64 and then try 7x64, 8x64, etc. up to 12x64. Find whichever setting gives the best starting performance. Then start trying different values for the blocks setting. I started at 32 and then tried 48, 64, 80, 96, 112, and 128 -- so basically increments of 16. You'll likely find that many of these result in similar performance, but somewhere in that range you should see better results. Choose the two highest results and then try a thread settings half-way between those, and continue narrowing things down until you find what appears to be an optimal setting. It doesn't need to be an even number either, so just give it a whirl. Note that the first score you get will probably be a bit lower than your average hash rate, but it's consistent so if you get 150 H/s and then things level off at 180 H/s, a starting score of 180 H/s will likely reach an average speed of 210 H/s (give or take).

So far everything is simple enough, but there are a few final items to note. First, on most systems running the ccMiner for CryptoNote makes the system useless for doing much else -- it becomes extremely laggy. The exception is if you have a laptop with NVIDIA Optimus, as the Intel iGPU can still happily run the Windows code and stay responsive while your GPU gets pounded. But laptop GPUs are slower, so I don't really recommend that route -- I suppose a desktop with the display connected to the Intel port would also work similarly.

The second item to note is that on most systems I've tried, the NVIDIA drivers will "time out" and give you a crash message. This is Windows basically detecting that the drivers haven't responded properly for a while, and so it stops them and of course your mining quits as well. You can usually get around this via a registry edit, but in some cases even that may not work all the time so be prepared to fiddle around a bit. The registry hack is easy enough:

  1. Run "regedit.exe" from the Start Menu.
  2. Navigate to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers"
  3. Right-click on the right panel and create a new 32-bit DWORD value.
  4. Name the key "TdrDelay" and assign it a value of anywhere from 10 to 30 (decimal -- 0A to 1E hex).
  5. Reboot and you should be set.
I've found that not all systems give the same hash rates, even with the same clocks, and there's certainly more investigating to be done. Here's what I'm running so far along with the approximate hashing rate, if you're interested. This is listed in order of increasing performance.
  1. GT 750M: -l 8x64 = ~56 H/s
  2. GTX 860M: -l 8x32 = ~200 H/s
  3. GTX 870M: -l 8x63 = ~205 H/s
  4. GTX 780M: -l 7x71 = ~210 H/s
  5. GTX 780M #2: -l 8x72 = ~225 H/s
  6. GTX 880M: -l 8x64 = ~245 H/s
  7. GTX 770: -l 8x72 = ~280 H/s (probably can do better with more tuning)
  8. GTX 780: -l 8x96 = ~380 H/s
As you can see, there's no clear rhyme or reason to what settings will work best, so you'll need to use some trial and error to figure it out. There are also some real oddities, for example the GTX 780 is rocking along at 380 H/s but I can't get anywhere close to that with the GTX 770 -- in theory, the 780 is only about 25% faster, but here I'm seeing a 35% increase. Maxwell also does reasonably well on the laptop side of things, bringing in 200 H/s despite being in theory quite a bit slower than GTX 870M and 780M.

What's interesting is that for desktop GPUs, most people are talking about getting around 260-280 H/s with the GTX 750 Ti, a Maxwell GPU with 640 cores running at 1020 MHz. The GTX 760M by comparison is the same 640 cores at a similar clock speed, but I can't get the same level of performance. The faster desktop VRAM (5.4GHz vs. 5GHz) might help some, but unless people are doing some decent overclocking to hit 260+ H/s I don't know why there's such a gap.

Obviously, TSIV and others are going to continue to improve performance over time, so I don't expect things to end at the above results, and I also suspect we'll see some auto-tuning implemented at some point. In the meantime, just know that for many of the GPUs I've played around with, specifying a launch configuration isn't just helpful, it's absolutely necessary.

Donations are welcome:
XMR: 48JM22E3ZfPSoFCukcizpSR2hCsBnAExT4ACvrpYx5czFgEyR12LWwK9JpgYRZKjsRHp8ynDcQegbhCspvjHd7gaL8qbzYy
BTC: 153qS9Ze32hnV3fwirZLWNka4wBAowc21E


If you like reading these blog posts but don't want to subscribe to my thrice-weekly newsletter, please consider making purchases through my Amazon Affiliate links!