Why does the default miner implementation use pay-to-pubkey?


Pay-to-PubKey (P2PK) and pay-to-PubKey-Hash (P2PKH) were both introduced in the original Bitcoin 0.1 release. P2PK was used by default for mining and payments received using the interactive IP-to-IP payment protocol; P2PKH was intended for use in non-interactive payments---but P2PKH transactions take up more space in the blockchain than P2PK.

Is this space savings why Nakamoto chose to use P2PK for mining and interactive payments even when he had P2PKH available, or did he have some other reason for using different transaction types? I think only he knows.

In a situation where you don't need the shorter P2PKH addresses, such as mining, interactive payments, or paying to your own pubkey for change, using a P2PK may be the better option, although there is a security advantage to P2PKH if you don't reuse addresses and if ECDSA someday gets broken in a certain way that makes attacks possible but slow to execute.

Type Output Input Total Bytes ...
0 0

1) You can try this:

gpg --keyserver keyserver.ubuntu.com --recv E084DAB9

and then:

gpg --export --armor E084DAB9 | sudo apt-key add - && sudo apt-get update

2) If "1" doesn't work (you're not alone) then you can use this:

"Some people have reported difficulties using [the first approach]. The issue was usually related to a firewall blocking port 11371. An alternative approach is to search for the key at http://keyserver.ubuntu.com:11371/ and copy the key to a plain text file, say key.txt. Then, feed the key to apt-key with

sudo apt-key add key.txt


As explained here.

To make it easy for this specific case:

Searching for Michael Rutter lead us to:

Public Key Server -- Get ``0x51716619e084dab9 '' -----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.0.10 mQENBEy9tcUBCACnWQfqdrcz7tQL/iCeWDYSYPwXpPMUMLE721HfFH7d8ErunPKPIwq1v4Cr NmMjcainofbu/BfuZESSK1hBAItOk/5VTkzCJlzkrHY9g5v+XlBMPDQC9u4AE/myw3p52+0N...
0 0

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.

A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them. The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide

a public key that, when hashed, yields destination address D embedded in the script, and a signature to show evidence of the private key corresponding to the public key just provided.

Scripting provides the flexibility to change the parameters of what's needed to spend transferred Bitcoins. For example, the scripting system could be used to require two private keys, or a combination of several, or even no keys at all.

A transaction is...

0 0
0 0

BlockCypher runs the Main and Test Bitcoin, Litecoin and Dogecoin block chains. The BlockCypher API is a simple, mostly RESTful JSON API, accessed over HTTP or HTTPS from the api.blockcypher.com domain. All URLs are versioned. We provide push-style APIs using WebSockets and allow you to register a URL to POST to via WebHooks.

Alternatively, libraries native to multiple programming languages can be used.

Several code samples are provided throughout this documentation. If you would like to check them first, they're listed here:

Low volume access to our APIs is fully open but obtaining an API token is recommended to avoid rate limiting. Please contact us if you have any questions.

Language Specific Libraries

Multiple libraries exist for most mainstream programming languages, either provided by BlockCypher or by the community:

RESTful Resources

Most resources exist under a given block chain. The URLs to Bitcoin, Dogecoin, Litecoin, Uro...

0 0

This BIP proposes M-of-N-signatures required transactions as a new standard transaction type.

Enable secured wallets, escrow transactions, and other use cases where redeeming funds requires more than a single signature.

A couple of motivating use cases:

A wallet secured by a "wallet protection service" (WPS). 2-of-2 signatures required transactions will be used, with one signature coming from the (possibly compromised) computer with the wallet and the second signature coming from the WPS. When sending protected bitcoins, the user’s bitcoin client will contact the WPS with the proposed transaction and it can then contact the user for confirmation that they initiated the transaction and that the transaction details are correct. Details for how clients and WPS’s communicate are outside the scope of this BIP. Side note: customers should insist that their wallet protection service provide them with copies of the private key(s) used to secure their wallets that they...
0 0
0 0

"Likely outcome" is a scare tactic at best.

Sounds like the common thought about the Ethereum hard fork. It was common knowledge to most thinking people that a contentious hard fork would result in two chains. Ethereum folk didn't want to hear the truth, and did the contentious fork anyway. Today we have $ETC and $ETH, and now you see those who claimed the fork would be resolved in "a matter of days or hours" (including "I was wrong" Gavin, Coinbase's Brian Armstrong, etc.) had actually discredited themselves making the same claim you just did.

Contentious hard forks are likely to cause a chain split. It's happened. Its a known, proven, outcome. Especially this is likely with such a divisive issue that has been simmering for many years now.

I would mine where the profits ARE.

With SHA-256 ASIC hardware, your choices would be:

Mine the original chain (still awaiting SegWit) Mine the big blocks hard fork Turn off /sell the equipment for cents on the...
0 0

This document provides a fast-paced interactive introduction to basic Bitcoin concepts. The purpose is to give you enough knowledge of the Bitcoin protocol to write micropayments-capable apps and demos. Let’s dive in!

How to learn (enough) Bitcoin in one week

Bitcoin is a very highly interconnected subject and it can be tricky to explain one piece without assuming some knowledge of other pieces (or prerequisites). The approach we recommend you take is as follows:

Step 1: First, go and read the original paper by Satoshi Nakamoto (bitcoin.pdf)

Step 2: Next, set up your development environment using the instructions below.

Step 3: Now go through the Introduction to Bitcoin section and read through the questions to get a high level overview of Bitcoin

Step 4: Next, do the Interactive Introduction section and type in the commands. You won’t understand everything, but will learn by doing - kind of like immersion in a foreign language.

0 0

Perhaps no element of the bitcoin universe is both more critical and more confusing than the process known as "bitcoin mining". This overview will give a broad summary of what bitcoin mining is, and illustrate just why it's so important.

How can we trust bitcoin payments?

Today, when you send a friend $20, there is a step in the middle of that transaction where your bank and their bank talk to each other to make sure that your account actually has the $20 you're sending.

Bitcoin payments are a little different, in that there is no bank; there are just the two people sending and receiving money from one another.

As explained in our bitcoin introduction, bitcoin payments are "peer-to-peer", meaning that that they do not require a bank or credit card company to be processed. This is a great feature for enabling free, real-time money transfers, and would work well "as-is" if you only ever needed to receive bitcoins from people you know and trust. However,...

0 0

Since the early days of bitcoin, one of the many things people mentioned as an advantage over other systems is “free” or low transaction fees. This has changed over time, leading some users to support the concept and others who feel that fees are not what they signed up for.

Here, we will describe the function of transaction fees, how they work, and also how to pay “the right fee.”

Why do we need to pay transaction fees?

In bitcoin’s early history, usage was virtually zero, so users could create fee-less transactions with issue. Once usage increased to a point where transactions competed with each other, paying fees became a necessity for a transaction to be promptly confirmed.


One purpose of transaction fees is as an anti-spam/DoS measure. By prioritizing a transaction based on its fee, we ensure anyone attempting to congest the network by broadcasting many...

0 0