Git Product home page Git Product logo

ates's Introduction

#ATES# C# (.Net/Mono) Bitcoin CPU/GPU Alternative Mining Program

##Introduction## This is a C# (.Net/Mono) Bitcoin CPU/GPU mining program which also analyzes the incoming/computed data. That data is then analyzed with the goal to find a "pattern" to streamline the Bitcoin hashing algorithm and get an advantage over the ASICs.

In reality there is no "pattern" since SHA256 is secure and random, but the method in which the Bitcoin protocol "mines" for the block header is such that it looks for a 256bit value of the computed hash and compares below a certain target number. The pattern I was looking for was to find a method in which an algorithm can be used to guess at the probability that a given blockheader would compute to less then a certain number, thus skipping the brute force method of attempting all 2^32 nonce values.

Program in action: Alt text Alt text

There's not a lot of documentation because I started this project off as a side project to try some stuff out. Once the program grew to what it is now I went back and started documenting but never finished. Here's what I have of the mining program portion: Alt text Alt text

Unfortunately the data analysis portion was completely mad scientist and almost no documentation. Here's some outputs of analyzed data in a visual representation:

Visual representation of the Bitcoin hashing protocol on block height 267593: Alt text

Data analyzed showing dots for "Zero" and "One"

  • One = A block header that had at least one nonce value resulting in a difficulty 1 or higher
  • Zero = A block header that had no nonce value capable of generating a hash value greter then difficulty 1 Alt text

##Builds## Refer to SOFTware folder. I used Visual Studios 2010, but I also opened up the solution in SharpeDevelop and it worked. I built the Mono equivalent with the MCS compiler and it also worked, but some boxes looked a little funny.

I included some windows executable in the SOFTware folder that can be used on a Windows machine with >.NET 4.0. I included 64 and 32bit versions of the mining program and the data analyzer

##Progress## Dead project (2014)

Other priorities came up and I had to abandon this project.

##License## GPL v3

ates's People

Contributors

mr-ee avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.