wireshark packet analysis missing checksum in version msg

I’m trying to send a raw bitcoin transaction through a raw socket connection in python. To debug I’m using wireshark to sniff the packets.

Wireshark figures out that the packet is for Bitcoin and that it’s a ‘version’ message, and gets the first couple fields right, but then neglects the checksum field and instead assigns what should be the checksum to the protocol version, throwing everything else off. I can’t seem to get to the bottom of it.

Other message types, like ‘tx’, include the checksum but have other issues (I’ll get to later). Any ideas why wireshark isn’t picking up on the checksum for the version message?

Using Onboard Video but Mining with nVidia Geforce 8400GS

So, after much struggling and a few reinstallations, I got my nVidia Geforce 8400 GS mining by installing the correct drivers, nvidia-cuda-toolkit, openssl, automake/autoconf, and cudaminer. The trouble is, while mining I can do hardly anything else efficiently. The next thing I’m going to try is doing it it another terminal screen using ctrl+alt+F2.

So I had the idea that I could use the onboard video for actual video and then just mine with the card. It really wouldn’t change my life too much to do so. So I enabled the IGN on BIOS and then restarted, and tried to run Cudaminer again. No good result there. So I reenabled the nVidia card and what happened? Still no Cudaminer working. And now I’m reinstalling Xubuntu 14.04 again to recreate the situation where I had it mining (47KHs was nice compared to the 1.87 I was getting with just the CPU before — I know, I know, I’m buying some mining equipment soon.)

So what I want to know is if there is a way to do what I had in mind, that is utilize the onboard video for video output but still mine with the the Geforce?

Let me know if any part of this didn’t make sense.


How to sell bitcoins for cash?

If I want to sell bitcoins, assuming I was successful in either buying them or selling a service or a product and accepting bitcoins instead of normal cash. How can I convert the bitcoins back to cash ?

The Bitcoin scripting system is purposefully not Turing-complete – why?

Can somebody explain to me why the Bitcoin scripting system is purposefully not Turing-complete? To make malicious programs difficult to develop (I guess)? Or because it was difficult to make it Turing-complete?

Bitcoin uses a scripting system for transactions. Forth-like, Script
is simple, stack-based, and processed from left to right. It is
purposefully not Turing-complete, with no loops.

Retrieved from: https://en.bitcoin.it/wiki/Script.

Who are Alice and Bob?

Simply: who are Alice and Bob, and why are they mentioned in every Bitcoin-related article I read about that talks about Bitcoin transactions?

What is the history or mystery of these two?

Can the blockchain be outpaced by a chain of low-difficulty blocks?

Let’s say someone creates a blockchain fork starting from the genesis block, when the difficulty was absurdly low compared to today; then he starts mining new blocks from there up to the current block index.

Normally, this would require such an amount of time to make it completely impossibile to catch up with the real blockchain; even if he used today’s powerful mining hardware, the difficulty increase would compensate for it quickly. But, here’s the catch: he customizes his mining software to not ever increase the difficulty, even if it’s mining hundreds of blocks per second; block timestamps are simply faked in order to make it seem they were generated at ~10 minutes interval.

When the fake blockchain is longer then the real one (currently ~300000 blocks), he starts broadcasting it; it appears to conform to all rules, and it’s longer than the current one, thus all clients and miners treat this as a winning fork and switch to working on it. Of course, difficulty increases abruptly as soon as the full network hashing power is thrown at it, and after some time block generation resumes normal levels.

But now the creator of the fake blockchain owns all Bitcoins that have been generated from the genesis block to when he released it.

Is this scenario actually possible? If not, why? How would Bitcoin nodes reacts to a 300000-blocks-long fork? Is there a limit on how long a fork can be?

How do you get a Bitcoin Public Key from a Private Key

How do I, in extreme specificity, convert a given private bitcoin key into a public bitcoin key (Talk to me like I’m 5 and I have to do this step by step or the evil witch will cook me alive in her oven). NOT where can I find a program that will do this, but if I were to do it myself, what would I do?

Private Key:


supposedly results in the public key:


Others have asked how to get private to public, I haven’t seen a really specific answer, just more general direction, but no answers explain all the variables. I understand this is rather complex and if a given individual thinks its too much work to answer, I totally respect that. Note: I do not care for the Bitcoin Address, just interested in Privatekey to Publickey and the specifics of how.

Variables such as the “a” and “b” in the ECDSA Curve Algorithm are already designated by Bitcoin (according to https://en.bitcoin.it/wiki/Secp256k1). the “base point” aka “G” is also specified on that page. the “private exponent” or “k”, I have yet to find. Some of these variables are supposedly “random” which appears to be false as every generator that you can put a private key into seems to always spit out the same public key…so…. all the variables are either already preset or are derived from the private key.

Thanks for any help on this. I’ve been trying to research and understand this for days, but it seems sometimes I don’t understand the terms and or notations, but I think I’ve gotten past that and now am just missing parts of the equation.

This is the previous stated private key in Decimal:


This is the previous stated public key (x and y values) in decimal:


All I want to know is how to go from that private key to the public key. Supposedly it is a simple equation that doesn’t involve bit shifting or xor etc. It may include “point multiplication” (which I don’t see how you can multiply a point defined as having both an x and a y). No one seems to understand the intricacies of this. Do you guys suggest I actually offer some fraction of a bitcoin to whoever explains it clearly?