For questions relating to the protocols by which crypto-currencies are transferred.

learn more… | top users | synonyms

2
votes
1answer
50 views

Does an OP_RETURN script always need another output within the transaction?

I was reading this: Explanation of what an OP_RETURN transaction looks like and I wondered if the second output "value" : 0.00200000, was at all necessary. Can I just have a OP_RETURN with a 0 output ...
1
vote
1answer
22 views

BIP65: “replacing ntimelock entirely”?

BIP65 discusses replacing the ntimelock field with the new CHECKLOCKTIMEVERIFY OP code: As an aside, note how if the SignatureHash() algorithm could optionally cover part of the scriptSig the ...
1
vote
2answers
29 views

Versions of protocols for BTC and TEST?

I'm dorking around with creating a TEST transaction using libbitcoin's bx command. Besides setting the inputs and outputs, the bx tx-encode sub-command allows one to specify lock_time and version. ...
4
votes
2answers
62 views

Why must UTXO be completely consumed?

Imagine Alice owns 10 BTC and wants to send 1 BTC to bob, with a 1 BTC miners fee. In the blockchain, the transaction is recorded as "Alice spent 10 bitcoins, 1 goes to Bob, 1 goes to the miner, and ...
2
votes
1answer
24 views

Maximum number of op_codes in script

Is there any part of the Bitcoin protocol that established a limit on the maximum number of op_codes in a script. Recently I have hit the limit for the bitcoin core client. In: ...
0
votes
0answers
21 views

Write your own node to send simple messages to network

I've been trying to do a simple bitcoin node in PHP, what sends simple messages to another nodes (like "getaddr"), and gets response from it. Currently best "base" to start with is this (github), but ...
0
votes
1answer
38 views

OP_EQUALVERIFY: non-equal data

I'm trying to push the following transaction but keep getting OP_EQUALVERIFY: non-equal data Here's the transaction ...
1
vote
2answers
32 views

txout script criteria (scriptpubkey critieria)

what is the criteria for a txout script to be accepted into a mined block? is there any criteria at all? the reason i ask is that OP_RETURN is regularly used in txout scripts yet it is not spendable: ...
1
vote
2answers
90 views

When creating a block, who actually generates the 25 bitcoins that act as a reward? [duplicate]

I realise that somebody who manages to find a new block in the blockchain gets 25 bitcoins as a "reward". Where do these bitcoins actually come from? How are they minted? How are they actually ...
0
votes
1answer
25 views

Authentication and key distribution in bitcoin

After going through the bitcoin protocol documentation it is still unclear to me how the bitcoin client is authenticated. Where can I find an overview of what the client sends and receives on the wire ...
0
votes
0answers
25 views

Why Bitcoin's 10 minutes? [duplicate]

Are established by the initial Nakamoto protocol and now mantained by the developers through the control on the difficulty? Are difficulty and technological progress strictly related?
1
vote
1answer
47 views

Does anyone have a formula for dynamic block durations?

I want to implement this, so does anyone have a formula for dynamic block durations instead of a fixed target of 10 minutes?
0
votes
1answer
32 views

Does anyone have a formula for adaptive blocksize?

I want to implement this, so does anyone have a formula for adaptive blocksize? I only found this: if(average size of last 4096 blocks*4>maxblocksize && median size of last 4096 ...
0
votes
2answers
26 views

Why doesn't the block time influence time the amount of time needed for a transaction to be confirmed?

Litecoin has faster blocks, but needs more confirms. I understand this is because of possible reorgs, but how come it also needs 10 minutes for confirms even though the blocks are faster?
1
vote
1answer
32 views

Meaning/Derivation of 32 byte TxID hash

A largely abstract question (set) I've tried to answer for awhile is the nature of a TxID (32 byte hex Transaction ID hash). First and foremost, I certainly understand the main function if this ...
4
votes
2answers
157 views

Why is my raw transaction non-canonical, getting error -25, and being rejected?

I'm trying to port TX generation logic to a different (and unpopular) language. I've been beating my head against this way too long and should have walked away but, well, you know, closure, and ...
0
votes
1answer
70 views

Pseudo-Node and putative attack vectors on the network

Pseudo-Node is discussed here on Reddit's /r/Bitcoin Essentially it functions to relay calls from connected nodes in a random fashion. This was an experiment into how easily can full nodes be ...
0
votes
1answer
24 views

Computing the bitcoins of any address

What is the procedure to calculate the bitcoins owned by any address X? do we have to search for every transaction in every block in the block chain, with recipient as X? But this will not give ...
2
votes
3answers
400 views

How do I compose a transaction with OP_RETURN in Python?

Currently trying to figure out how to use Python to construct a transaction with OP_RETURN. I tried to encode the message myself, and had no luck. I found a function, OPReturn(), on the internet, but ...
3
votes
2answers
145 views

Non standard Tx with obscure OP codes: examples

I've been writing Python code to fetch various transactions and came across this: 77822fd6663c665104119cb7635352756dfc50da76a92d417ec1a12c518fad69. The script field is as follows: scriptPubKey: ...
1
vote
1answer
73 views

Are transaction ids always the same length?

Do all bitcoin transaction ids (hashes) have the same length? I guess it's defined somewhere here: https://en.bitcoin.it/wiki/Protocol_specification but still I couldn't find it.
2
votes
2answers
184 views

How can I reduce the time until I get the newest block ? Does the number of the outbound peers affect the speed?

I am running a full node on the Bitcoin network. Sometimes, I find that it takes a while until I get the newest block. I checked the source code, and found that every node can at most connect to eight ...
1
vote
1answer
58 views

where is the code about sending command getblocks in bitcoin source code

I am reading the protocol part. One silly question. I found the part processing getblocks part, but i did not find when and where to send the getblocks command.Or it is deleted in the new bitcoin ...
1
vote
2answers
92 views

Can new OP codes be added with a soft fork?

I understand that P2SH transaction types were added "softly" by repurposing a Tx message that is already valid, so old nodes won't reject them in blocks. Is there a similar method to adding new ...
3
votes
2answers
199 views

Atomic cross-chain trading

Atomic cross-chain trading describes a method where two parties, owning different crypto currencies, can safely exchange the crypto currencies without an intermediary. The method is described in the ...
0
votes
1answer
58 views

What is the order of block hashes in block-locator array?

I have to compose a "getblocks" command found in https://en.bitcoin.it/wiki/Protocol_specification#getblocks The "getblocks" command contains the "block locator hashes". In essence, I inform a remote ...
7
votes
1answer
725 views

Why is Bitcoin defined as having 8 decimal places?

At the protocol level bitcoins don't actually exists, but rather base units (recently called “satoshis”). Bitcoins are defined as 108 base units, meaning that for a 50 BTC mining reward, you are ...
2
votes
1answer
142 views

How do I query a remote bitcoin node like RPC?

I know how to query the blockchain stored on my machine programmatically using bitcoind commands. Is it possible to do the same on a public node? For example, is it possible to send “getblockcount” ...
1
vote
1answer
180 views

Understanding Bitcoin protocol (through practice)

OK, firstly, Ken Sheriff (the guy who mined Bitcoin using pencil and paper) has posted some fantastic Bitcoin articles on his blog. In "Using Bitcoins the Hard Way" he writes (emphasis added): It ...
2
votes
3answers
141 views

Why block height is required in coinbase?

While reading bitcoin source I found this short comment: // Height first in coinbase required for block.version=2 (From https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp#L338). Why this ...
2
votes
1answer
122 views

Growth Dependent Block Size Limit

Could the 1MB block size limit be replaced with a growth-dependent limit? From what I have read (here, for example) the 1MB limit is to prevent spamming of the blockchain. And if/when Bitcoin becomes ...
6
votes
2answers
98 views

Is it possible to force a person to honor a conditional promise-to-pay?

I'm thinking of the situation where you have an auction where bids are placed. There are two conditions that should be held: Placing a bid shouldn't expose you to paying the seller unless you win ...
3
votes
2answers
95 views

Why is two hours the maximum acceptable offset for Bitcoin blocks?

As far as I understand, Bitcoin transactions include a timestamp, but the only requirement is that they don't differ for more than two hours. But why two hours? For computers that are constantly ...
3
votes
2answers
135 views

Can an output be spent in the block in which it is contained?

Is a Bitcoin block containing both a transaction that funds an output, and another transaction that immediately spends the same output, allowed by the protocol? Does such behavior occur "in the ...
2
votes
1answer
55 views

Maximum `getdata` message size

From the Bitcoin wiki's Protocol Specification page: getdata getdata is used in response to inv, to retrieve the content of a specific object, and is usually sent after receiving an inv ...
0
votes
1answer
45 views

Why does the script contain the hash of the public key

The ScriptPubKey contains the hash of the public key, and this is compared to the public key in the ScriptSig. It is not possible to derive the public key from the hash (address). But when the output ...
1
vote
1answer
151 views

What is the incentive behind using platforms such as XDP/Dogeparty?

ELI5: What can one do with XDP that s/he cannot do with DOGE? Is Dogeparty similar to projects such as Ethereum/Ripple? If I understand correctly one receives 1 XDP/1000 DOGE "burned". How are these ...
0
votes
1answer
25 views

addr_recv addr_from in version Message

I need some clarification about the meaning of the addr_from and addr_recv fields in the Version Message. addr_recv: The network address of the node receiving this message does this mean the public ...
2
votes
0answers
115 views

When spending a fraction of the coins in an address, can I send the remainder back to the same address? [duplicate]

Lets say an address has 150 unspent BTC, and I want to transfer 50 BTC to someone else, can I send the remainder (100 BTC) back to the original address? Is this impossible, a bad idea or something ...
5
votes
2answers
162 views

What is the reason for using PoW in bitcoin?

As we know bitcoin uses Proof of Work Concept and it introduces never ending long block chain and some other issues. Why is it not designed in a way to use consensus algorithms what ripple uses? What ...
0
votes
1answer
90 views

Can you put additional data in the payload?

It seems to me like you could put arbitrary data into a transaction payload, since it is JSON. Is this true, can a sender add additional fields to the transaction JSON? Or if thats not possible, could ...
11
votes
1answer
2k views

Explanation of what an OP_RETURN transaction looks like

How is OP_RETURN used and why was it introduced in the first place?
0
votes
2answers
88 views

How to properly use PreviousTxnID in a Ripple Transaction?

At the moment I am implementing a transaction overwriting with NOPs in Ripple. I want to store information about a transaction I am overwriting inside of the NOP. Looking at the PreviousTxnID field it ...
1
vote
0answers
55 views

Other ways to determine the validity of a public key

Public key 3, 4 fits the equation of y^2 = x^2 + 7 Yet this comes up as an "invalid public key". How is that invalid? Sure, it deviates extremely from other numbers, but what other equations are ...
1
vote
1answer
133 views

Ripple partial payments

I've read on the Ripple Wiki page for Transactions about partial payments. I am wondering how a partial payment would look when data is polled about an account? Would the transaction amount be ...
1
vote
0answers
57 views

Is demurrage already integrated into Ripple? If so, how does one create a demurrage currency?

The Ripple wiki has a page about demurrage currencies being a possibility in Ripple. However, it's not entirely clear whether this feature is already implemented in the server or client, and if so, ...
0
votes
1answer
81 views

Can a Ripple Transaction Sequence have gaps?

I am wondering whether a Ripple Transaction with a Sequence number that ships over a few numbers from the previous Sequence number be accepted as a valid transaction in the Ripple Network? For ...
0
votes
1answer
75 views

How does bitcoind find p2p hosts? [duplicate]

I read the bitcoin references but I can't find a description regarding how bitcoin clients find other host in the p2p network. Would you please tell me?
0
votes
4answers
192 views

Error compiling altcoin-qt for Windows, getting a GCC internal compiler error

I think I managed to get all my dependencies and libraries right (fingers crossed), but now when trying to build blackcoin-qt, the QTSdk compiler gives me this error while building qtipcserver.o: In ...
0
votes
1answer
167 views

Programming and the ECDSA equation

I've been implementing point addition into a c++ program I've written but I don't see how this can be done right. When I do slope = (y1 - y2)/(x1 - x2) I get a freaking decimal, which doesn't produce ...