Search content
Sort by

Showing 20 of 54 results by uminatsu
Post
Topic
Board Development & Technical Discussion
Re: i want to cancel unconfirmed bitcoin transaction
by
uminatsu
on 15/11/2017, 20:26:42 UTC
Do you own the private key for any of the outputs in this TX? Perhaps a change address? If you do you can use CPFP (child-pay-for-parent) to spent that output with a larger fee.
Post
Topic
Board Development & Technical Discussion
Topic OP
BIP101: is this a typo?
by
uminatsu
on 19/08/2015, 05:33:16 UTC
Under https://github.com/gavinandresen/bips/blob/fd99a8ce04dbad96fb275e0300a7ee669e70f418/bip-0101.mediawiki in section "Deployment":

Quote
Activation is achieved when 750 of 1,000 consecutive blocks in the best chain have a version number with bits 3 and 14 set (0x20000004 in hex).

Am I missing something here? 0x20000004 in hex has bits 3 and 29 set. Where is bit 14?
Post
Topic
Board Development & Technical Discussion
Re: proposal to avoid hardfork by perma-freezing old nodes
by
uminatsu
on 17/05/2015, 04:38:27 UTC
Yes I agree this is quite obvious and probably not a new idea, but given the ongoing debate on block size limits I wonder if this proposal is an acceptable solution. It certainly motivates old nodes to update.
Post
Topic
Board Development & Technical Discussion
Topic OP
proposal to avoid hardfork by perma-freezing old nodes
by
uminatsu
on 17/05/2015, 03:40:30 UTC
If the majority of nodes agree that for all blocks after block #N (e.g. 400000) the only valid block must contain only the coinbase transaction with zero block reward, and with a alt-block hash attached to the coinbase message, where the alt-block hash is the hash of the block in blockchain 2.0 (transmitted separately), then it is technically only a soft fork because the set of valid blocks accepted by new nodes is a strict subset of that accepted by old nodes. The old nodes will be forced to accept a perma-frozen blockchain where no new coins are generated and no transactions will confirm.
Post
Topic
Board Development & Technical Discussion
Re: Sending bitcoins without miner fees
by
uminatsu
on 17/03/2015, 17:17:54 UTC
So I have seen a few people sending bitcoins without any miner fees, and their amount eventually got sent back after a week or so.

So, what do you think the technique(or tips) for sending bitcoins without miner fees would be? This would be really helpful for sending small amounts less than BTC0.001 since the transaction fee would be more than 10% of the real amount transferred.

You must spend inputs with sufficient priority. That means to pick inputs that are large enough (BTC1 or higher), old enough (confirmed in the blockchain for 1 day or longer), and not too fragmented (ideally no more than a couple of inputs).

For example to send BTC0.001 you can pick a 1-day old input of BTC1 and send BTC0.999 change back to yourself.
Post
Topic
Board Development & Technical Discussion
Re: Continuous & piecewise linear block reward function with 21M limit unchanged
by
uminatsu
on 12/03/2015, 22:23:55 UTC
Original sum of block rewards = 20,999,999.97690000 BTC
Proposed sum of block rewards = 21,000,033.29639948 BTC

So, a way to add 0.000159% inflation in a sneaky way Smiley ?

The 0.000159% is an unfortunate rounding error and is definitely unintended. But it shouldn't be hard to tweak the parameters to get to the exact number (or something within +/- a few thousand satoshis)
Post
Topic
Board Development & Technical Discussion
Re: Continuous & piecewise linear block reward function with 21M limit unchanged
by
uminatsu
on 12/03/2015, 17:43:10 UTC
It is always nice to have code, but the odds of it happening in are essentially zero. :-)

Something similar is being discussed here:
https://bitcointalk.org/index.php?topic=984958.0

Which may have been what prompted the code - or coincidence.

I agree it is a hard fork but this transition is something that can be planned to happen many years in the future (for example when the 3rd halving occurs at block 690,000 or around year 2020).
Post
Topic
Board Development & Technical Discussion
Re: Continuous & piecewise linear block reward function with 21M limit unchanged
by
uminatsu
on 12/03/2015, 17:13:18 UTC
Simulation shows that starting from block 6,930,000 both reward functions return 0.

Original sum of block rewards = 20,999,999.97690000 BTC
Proposed sum of block rewards = 21,000,033.29639948 BTC
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Topic OP
Continuous & piecewise linear block reward function with 21M limit unchanged
by
uminatsu
on 12/03/2015, 17:01:07 UTC
⭐ Merited by ABCbits (1)
It is well known that the bitcoin block reward (as a function of the block number) is not continuous - a discontinuity ("halving") occurs every 210,000 blocks or roughly 4 years, as illustrated in the bitcoin source code:

Code:
CAmount GetBlockValue(int nHeight, const CAmount& nFees)
{
    CAmount nSubsidy = 50 * COIN;
    int halvings = nHeight / Params().SubsidyHalvingInterval();

    // Force block reward to zero when right shift is undefined.
    if (halvings >= 64)
        return nFees;

    // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
    nSubsidy >>= halvings;

    return nSubsidy + nFees;
}

IMHO the halvings are disruptive events and negatively affects everyone.

It isn't difficult to change the above code to make the block reward function continuous and piecewise linear while keeping the total limit of 21 million BTC unchanged. This would eliminate the discontinuity events in the future.

Proposed function is:

Code:
CAmount GetBlockValue(int nHeight, const CAmount& nFees)
{
    CAmount nSubsidy = 50 * COIN;
    int halvingInterval = Params().SubsidyHalvingInterval();
    int halvings = nHeight / halvingInterval;
    int phase = nHeight % halvingInterval;
   
    // Force block reward to zero when right shift is undefined.
    if (halvings >= 64)
        return nFees;

    // Subsidy is a continuous and piecewise linear function that halves every 210,000 blocks
    // which will occur approximately every 4 years.
    nSubsidy = (nSubsidy * (4 * halvingInterval - 2 * phase)) / (3 * halvingInterval);
    nSubsidy >>= halvings;

    return nSubsidy + nFees;
}
Post
Topic
Board Development & Technical Discussion
Topic OP
Why do morons always try to redeem non-standard TX with no fee?
by
uminatsu
on 17/06/2014, 20:38:46 UTC
Non-standard TX can only be mined on the Eligius pool and Eligius pool does not accept no-fee TX, period. Please always attach the proper transaction fees.
Post
Topic
Board Development & Technical Discussion
Topic OP
Does OP_INVALIDOPCODE always cause script to return false?
by
uminatsu
on 05/06/2014, 17:33:07 UTC
Normally OP_INVALIDOPCODE would cause script evaluation to return false, but what if it is inside the scope of a pair of OP_IF .... OP_ENDIF?

Take a look at this tx:

77822fd6663c665104119cb7635352756dfc50da76a92d417ec1a12c518fad69

scriptPubKey is

OP_IF OP_INVALIDOPCODE 4effffffff 46726f6d.... OP_ENDIF

It seems that a scriptSig of the following will be accepted to memory pool, but will it still fail to verify?

OP_1 OP_0
Post
Topic
Board Development & Technical Discussion
Re: Miner accepting non-standard txs required!
by
uminatsu
on 28/05/2014, 17:20:06 UTC
If it has been more than a few hours since your last attempt, and the non-standard output you're trying to spend is still unspent, then there's probably a conflicting tx that spends the same output in the memory pool of Eligius, but it can never be confirmed because it does not have sufficient fees (Eligius requires 0.1mBTC minimum and 0.08192mBTC per 1KB).

So unfortunately you're pretty much stuck until however long it takes for the transaction to "die off" from the memory pool. Could be weeks, or even months. There's no other major pool that will accept your non-standard tx.
Post
Topic
Board Development & Technical Discussion
Re: 1,500% transaction fee and 3,5 months to confirm?
by
uminatsu
on 24/04/2014, 19:55:08 UTC
You're doing it wrong if your service generates thousands of dust-sized outputs. You need to consolidate your outputs as you go.

I assume that a transaction under your current model is like this:

Input (x1): 
Payer Address (X BTC)

Outputs (x3):
Payee Address (Y BTC)
Service Wallet Address (100 satoshis)
Payer Change Address (X - Y - 0.00000001 BTC)


What you should do is to keep the Service Wallet Address accumulate the 100 satoshis as you go:

Inputs (x2):
Payer Address (X BTC)
Service Wallet Address (Z BTC)

Outputs (x3):
Payee Address (Y BTC)
Service Wallet Address (Z + 0.000001 BTC)
Payer Change Address (X - Y - 0.000001 BTC)
Post
Topic
Board Development & Technical Discussion
Re: Do pending transactions live forever on Eligius mempool?
by
uminatsu
on 17/04/2014, 04:38:48 UTC
Isn't there a limit to multisig transaction sizes? See this:

https://bitcointalk.org/index.php?topic=508256.msg5625950#msg5625950

Sure but larger tx are merely nonstandard, not invalid. Eligius pool allows nonstandard tx to be included as long as fees are paid, but it will not propagate the tx to other nodes.
Post
Topic
Board Development & Technical Discussion
Re: Do pending transactions live forever on Eligius mempool?
by
uminatsu
on 17/04/2014, 00:11:55 UTC

How did you try to redeem this output? There is a web-form http://eligius.st/~wizkid057/newstats/pushtxn.php but we do not know is it connected directly to the pool-node-accepting-non-standard-txs or not. The second way is connect to the node with non-standard client and send raw tx from console. But what is Eligius ip-address?

To answer your question, yes I've trying the web-form.

How do you directly dump rawmempool on a remote node? And how do you find out which tx has conflicts with your tx? I have added the node to my bitcoin.conf but when I type "bitcoin-cli getrawmempool" it just dumps my local mempool, right?
Post
Topic
Board Development & Technical Discussion
Re: Do pending transactions live forever on Eligius mempool?
by
uminatsu
on 16/04/2014, 23:31:05 UTC
Well it looks like Eligius hasn't found any blocks for the past 5 hours, so that's probably why your tx is not mined... let's wait a bit longer.

Anyway thanks for the info!
Post
Topic
Board Development & Technical Discussion
Re: Simple solution for a safe privatekey?
by
uminatsu
on 15/04/2014, 16:20:50 UTC
The base58check encoding has a 32-bit checksum built in, so if you change one or two letters it is not only possible to detect the error, but to recover the correct key as well.
Post
Topic
Board Development & Technical Discussion
Topic OP
Do pending transactions live forever on Eligius mempool?
by
uminatsu
on 15/04/2014, 06:41:19 UTC
I've been watching this 16-of-16 multisig tx for a while (2ee6d8ea223e118075882edba876f01b30f407eb6c6d31c40bd6664a17f20f0c)... it has never been redeemed even though the solution is not hard to arrive at.

My conclusion is that someone has been spamming Eligius with a valid redemption tx but it is never included in a block due to insufficient fees. But because it is already in the mempool, no other valid tx can be accepted.

So does that mean the tx can never be redeemed?
Post
Topic
Board Development & Technical Discussion
Re: Simple adjustment to prevent mining pools
by
uminatsu
on 14/04/2014, 05:02:16 UTC
This will also kill all ASIC-based mining because the bottleneck becomes the ECDSA signing operation. A mining gig would only produce MH/s instead of TH/s or GH/s today.
Post
Topic
Board Development & Technical Discussion
Re: Technical info about transaction fees
by
uminatsu
on 12/04/2014, 15:15:16 UTC
I'm afraid that 0.0002 BTC is required for 1500 bytes. If you send without fee it will most likely not get propagated.

Why is your TX so large? Can you consolidate some unspent outputs first?

The easiest way to get higher priority is to "bundle" a larger output (say 1-2 BTC or higher, at least 1 day old).