Posts

Showing posts with the label bitcoin

Minting Money with Monero ... and CPU vector intrinsics

Image
I woke up on May 28th, 2014, on vacation with my family in the middle of the desert, to find a copy of my private source code plastered across the bitcointalk message board.  Announced as a "new optimized version" of the Monero currency miner, it was enthusiastically adopted by cryptocurrency miners across the world.  And in the process of doing so, my daily profit from the Monero Mining Project dropped by over five thousand dollars per day. But let's start at the beginning, when I started getting in to a loose collaboration with three people I've never met---one whose name I'm not even confident I really know---with hundreds of thousands of dollars worth of a nebulous new cryptocurrency at stake. It started with a cryptic note from someone I'd met online, with a link to a bitcointalk.org message board discussion for a new currency called "bitmonero".  His note said only:  "this looks interesting." From prior collaborations with him...

A Public Review of Cuckoo Cycle

In the ongoing experiment that is crypto-currencies, several "Proof-of-Work" functions are commonly used as mechanisms to decentralize control of the currency.  These PoW functions, as they are typically referred to, require a participant to prove that they expended (in expectation) a certain amount of computational effort, such as finding a partial collision in a cryptographically strong hash function.  Many have been introduced to counter the gradual ASIC-ificiation of the dominant PoW, partial collisions in SHA256, used in Bitcoin.  I've discussed several in prior posts that try to require random memory accesses in order to favor general-purpose CPUs over specialized devices such as GPUs or ASICs. In this post, I'll take a look at one called Cuckoo Cycle that combines two of my interests:  Cuckoo Hashing and memory-hard PoW functions.  Its author and a few other people asked me to take a look, and it finally seemed like enough people were looking at it t...

To Krugman: Finding the Intrinsic Value of Bitcoin

Recently, Paul Krugman has been writing a series of blog posts about the Bitcoin cryptocurrency.  I'm still on the fence about Bitcoin and friends, despite my recent dabbling in their technical aspects, but I'm honestly surprised to see someone ordinarily so smart be so far off the mark.  So, let's start: Krugman comments that " . .. it remains completely unclear why BitCoin should be a stable store of value " while leaving open the question of whether Bitcoin may  (emphasis added) be a useful medium of exchange.  But he then notes that "[ he hasn't]  been able to get [his] correspondents to recognize that these are different questions. " The answer, of course, is because they aren't different questions.  The intrinsic value of Bitcoin is entirely  derived from its utility as a medium of exchange. Let's do a little thought experiment and assume that Bitcoin replaces Visa.   According to Nerdwallet , US$3.273 trillion was processed by Vi...

Briefly profitable alt-coin mining on Amazon through better code

Image
Over the past three weeks, I've been running crypto-coin mining software on between 20 and 60 Amazon EC2 GPU instances at a (very small) profit, with the goal of understanding the currencies, exchanges, and algorithms in more detail.  This is post #1 of 2 discussing scrypt coin mining on Amazon.  In the follow-up post, I'll go into the algorithmic and engineering details of building a better CUDA-based miner. A few weeks ago, Gün and colleagues wrote a paper describing a new collusion attack against Bitcoin .  I hadn't thought much about BTC before that, but he got me curious.  As I explored, I discovered Litecoin ,  an alternative to Bitcoin that is designed to reduce the comparative advantage of using custom ASICs (or GPUs) for mining it relative to using a conventional CPU.  Its future is even less certain that BTC, of course, as a later comer, but the technically interesting bits lie in its proof-of-work hash function:   Scrypt .  Scryp...