Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - taera249

Pages: [1] 2 3 4
News / A little help to decide if you want to do a groupbuy or not...
« on: January 26, 2018, 10:44:07 am »
Since i highly underestimated the amount of work and potential stress of a groupbuy i decided i will create a post for everyone who goes with the thought of starting a groupbuy on its own. I will describe what you have to await so you see this more correctly.

Firstly, i started a groupbuy for avalon asic chips Generation 1. Our groupbuy bought 5.6 batches, totaling 4816BTC. We had exactly 300 members involved.

The first thing i thought is that it wont be much work. The biggest work will be the packaging of the chips. Highly wrong. In fact the packaging is something that can be done in a couple hours. Which is a tiny fraction, not even worth to mention. But a groupbuy will mean to you work of 2-6 hours each day, 7 days a week and for me now unbelievable 4 months long (didnt notice this till now). Very seldom only 1 hour a day. You have to stay in contact with your groupbuyers. Nothing is worse for the situation than a groupbuy organizer that doesnt get back to the members. You can await that very fast rumours appear and fears lead to a doom loop that goes in a direction no one wants. Im sure you saw such groupbuys already since there are groupbuys of all kinds on bitcointalk.

Saying that... support is the biggest part of work. Up to 100 pm's each day are common most of the time, if nothing happens for some days you might only get around 20 a day but its seldom. Luckily i can type machine so im fast writing. If you cant it might take you even more time.

You need to be able to maintain a correct dataset. In my case i used a calc sheet of open office. Calc can greatly lower your work amount with automatic formulas and so on. For example i let calc create automatically forum topic, status text and order tables in bbc-code. It would have been a hell of a lot more work otherwise without this help.
Keep sure this data is protected. Backups is something you need very much since you deal not with your own money, its others people money. Even when you dont make backups for your own, at this point you have to when you dont want to risk real trouble.

Before starting a groupbuy make a set of rules. Its easier for you when you can point to explainations this way and it makes the rules clear for both side. The same goes for the fee you take, shipping cost and so on.

You need to specify refund rules. This topic will appear for sure and you need to be prepared. And according to my experience it might happen that everything stops for a reason you cant change and everyone wants his bitcoins back. Its best you have a rule prepared for that case so that you dont sit on the costs and work you had.
If something goes wrong (miner arent worth much anymore because of difficulty rise, seller did something wrong) and you werent fully in contact then await to be the one that was the reason for the problems. My members didnt say that luckily and i constantly was in contact but there might be others outside of the groupbuy that dont bother if you did it. Be prepared to be the one that lured them into buying and planned everything to scam in order to earn money. They simply search a scapegoat because some people cant simply search the error in their decision. It probably cant be changed since you cant be everywhere in each forum thread. So better stay in touch to prevent the doom loop i mentioned above. You dont want get this developed in a shitstorm without real base.

Important point... dont underestimate the legal problems. If as private groupbuy or as a business, the rules are different but there are possible problems that can really make you trouble in real life. Keep sure you thought everything through. I wont go into detail though. In case you want to start a groupbuy and want to know what i mean ask me via pm.

If youre unlucky you have a seller that isnt communicating. That doesnt only bring you much stress because you are the connection between your members and the seller. You get all the possible anger so you can transfer it to the seller. And what do you do when the seller isnt reacting? You collect this in form of stress. In my case i then started to try every way of contact and had to put a lot of time in it. At the end i had to give up realizing there wont be an answer.
I only want to warn you that this can happen.

It might get even worse. What if all was a scam? When the seller took the money and ran? Im not a lawyer but you better didnt do this as a company but instead as a private person that only ordered with its friends a bigger thing. Otherwise you would be the one taking all the loss. But like i said, im not a lawyer, maybe im wrong.
You might even think of rules regarding the case of scam happening. Its always better you have something to point at in case something unawaited happens.

Shipping, like i said, is something that doesnt really cost much time. I didnt ship the actual chips but many shipments with sample chips. Its not much time involved compared to the real time. You might use electronic stamps to speed up the process or similar things.
While we are at shipping. If its special hardware you need to make sure you can provide correct shipment. In my case buying pakets, antistatic bags, antistatic workplace to not hurt the chips, bubble foil and more. Be prepared since most probably time isnt something you will have much when the products were delivered to you.
I had to search a import company to solve some potential problems. To make sure that it will run correctly i travelled to the company and signed a contract to make sure i dont risk the bitcoins of other people because otherwise it would have been my problem.
I only say this to tell that such unawaited things happen too.

Next thing is information collecting. In case you need more infos, for example email, billing address, refund yes or no and so on, you have to collect them to move on. I had to do this several times. If you need that info its not enough to make a post. The response will be very low. You need to create pm. You can send 20 pm with one pm. For example let calc create you ready made lines like "username", "username2", that you can copy into BCC(Blindcopy)-Field so that no other member see the other receivers in case you offered anonymity of some kind. Theres a 120 PM limit per hour at the moment. Only if you do this you can hope to get the needed info in the next days. But even then you will miss 25%. Those remaining infos can come in slowly in weeks or months for mostly good reasons. Sometimes you dont get it at all.
But you will have again much work with it. Especially when you need the info to move on and have to remind often.

My personal result of the groupbuy i did is... my wall to break to do something like that again is huge. The reward is not even close to the stress and work that has to be done. Its really a full time job like someone said before. Luckily i was able to stop my normal work for other reasons, so i found this time. It would have been not be possible for me to do this properly otherwise.
A good result is on the other hand that people learn to know you. After you did this they know if youre trustworthy. Since trust is everything in bitcoin + the Net this is something valuable for sure.

I hope i could help someone with my experiences who thinks about making a groupbuy. Wink

1. Obey the overall rules of this forum

2. This section is for BITCOIN MINING and related discussion ONLY. All bitcoin forks and alternate cryptocurrencies and discussion of them should be directed to a dedicated forum for those, or one of the altcoin subforums on this forum. All discussion regarding them will be moved without warning to the altcoin sections. If your topic is related to multiple currencies, then unless it is primarily about bitcoin it will be moved. Even if it is about sha256d mining but not about bitcoin it will be moved. BITCOIN mining is done today ONLY with ASICs, and any discussion of mining with CPU, GPU or FPGAs will be moved to the altcoin mining section.

3. Mining BITCOIN is done exclusively with dedicated BITCOIN mining hardware based on ASICs - . You CAN NOT meaningfully mine bitcoin today with CPU, GPU or even FPGAs. Bitcoin difficulty adapts to match the amount of mining done on the network and has reached levels trillions of times too high to mine meaningfully with PCs, laptops, tablets, phones, webpages, javascript, GPUs, and even generalised SHA hardware. You will not find software in this section to help you mine bitcoin in this absurdly inefficient manner in this subforum. It would cost you thousands of dollars in electricity per year to earn only a few cents in bitcoin. Even if you combined all the computers in the world, including all known supercomputer, you would not even approach 0.1% of the bitcoin hashrate today. Any discussion outside of ASIC related mining, except in the interests of academia, will be moved to the altcoin mining section. There isn't any point attempting to mine bitcoin with CPU or GPU even in the interests of learning as it shares almost nothing with how bitcoin is mined with ASICs and will not teach you anything.

TL/DR Summary:
 - You CANNOT meaningfully mine bitcoin with your PC or laptop no matter how powerful it is.
 - You CANNOT meaningfully mine bitcoin with your tablet or phone no matter how powerful it is.
 - Mining apps for your phone or tablet that claim to mine bitcoin are almost certainly scams.
 - You CANNOT find software here to mine bitcoin with your PC by itself.
 - You MIGHT be able to do one of the above with altcoins, but such discussion goes into the altcoin mining section.
 - You CANNOT find or post software here to mine on other peoples' PC without their permission.

4. Use the subforums as much as possible:

Mining support - This is for all questions regarding understanding the process of BITCOIN mining, and any issues with setting up hardware, configuration issues, stability issues, etc. Where hardware has a dedicated support thread by the manufacturer or maintainer of the hardware, there will be a post in the hardware subforum so please use that first. CPU, GPU and FPGA mining support will be moved to the altcoin mining section.

Pools - This is for all questions and discussion regarding BITCOIN pools, their operation, support etc. Where a pool has a dedicated thread from the owner, admin, or support staff of the pool, please use that. If the pool has a self moderated thread, then you are allowed to create your own personal thread to discuss those pools to not be prone to censorship by the pool owner/admin. Altcoin pools will be moved the altcoin pool mining section.

Mining software - This is for all posting of new BITCOIN mining and mining related software, pool software, proxies, controllers, monitors, web page design, apps etc. Discussion of software for education purposes to understand mining related functionality can go here. All altcoin mining related software will be moved to the altcoin mining section. No trojans, botnet, web page miners etc. are acceptable here - threads will be removed without warning and posters banned.

Hardware - This is for dedicated discussion regarding BITCOIN mining hardware ONLY and hardware in development. There should be only one topic per new piece of hardware, preferably started by the creator of the hardware, and they can then provide support for that hardware on that one thread. Where hardware has no manufacturer representative on this forum, the thread can be started by anyone but all discussion should remain in the one thread. If the manufacturer has stared a thread but it is self moderated, then you are free to create your own personal thread to discuss that hardware and avoid the manufacturer's censorship, but discussion of actual support should go in the Mining support subsection.

  Hardware - Group Buys- This is for coordination of BITCOIN mining hardware group buys ONLY. Threads can be created by the initiator of the group buy or expressions of interest, or discussion of existing group buys if a moderated thread exists elsewhere. It is NOT for selling hardware. All altcoin mining related group buys well be moved to the altcoin section.

 Mining speculation- This is where all BITCOIN mining related opinion discussion goes. Opinion means mining related speculating about new hardware, difficulty, economic effects, profit estimates, requesting opinions, asking for hardware recommendations etc. All altcoin mining related speculation will be moved to the altcoin mining section.

 Anything else that does not belong into one of those categories above, such as mining related offtopic discussion can go into the top mining section, but it must be BITCOIN mining related. Non mining offtopic discussion will be moved and non bitcoin mining discussion will be moved to the altcoin mining section.

5. Mining altcoins, even if you get paid in bitcoin, does NOT amount to mining bitcoin. Ethereum is NOT bitcoin. Monero is NOT bitcoin. Litecoin is NOT bitcoin. Bitcoin cash is NOT bitcoin and so on. Any discussion regarding mining anything NOT BITCOIN will be moved to the altcoin mining section.

6. All virtual mining - such as cloud mining, purchasing hashrate etc. is a service and NOT bitcoin mining. Discussion regarding cloud mining, contracts, hosting services, renting hashrate etc. belong in the economic services subforum and not the mining subsection.

7. Scam accusations belong in the economic scam accusation subforum, even if it is bitcoin mining related.

8. Mining hardware for sale or wanting to buy goes into the "economy - computer hardware" subforum. Mining hardware that is for mining altcoins belongs in the altcoin mining marketplace forum.

Threads that have been redirected to another subforum will be done silently if there is only an opening post. Any threads that have been redirected after some responses exist for that post will get a redirection thread message where they were originally posted to make it easier to find for followers of that thread
Primary developer/maintainer for cgminer and ckpool/ckproxy.
ZERO FEE Pooled mining at 1% Fee Solo mining at

News / Bitcoin RPC. Get sum of all fees in the mempool.
« on: January 26, 2018, 06:30:47 am »
I'm trying to get a number of total fees in the bitcoin mempool (live, in BTC) using python.

I was able to connect bitcoinrpc, but stil struggle with commands and a proper way of acquiring the number. One way of doing this would be to get information on all unconfirmed transactions in the bitcoin mempool and sum their fees, however running the code below returns me an empty list.

from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException

rpc_user = 'xxx'
rpc_password = 'xxx'
rpc_connection = AuthServiceProxy("http://%s:%s@"%(rpc_user, rpc_password))

transactions = rpc_connection.listtransactions("*")

News / Get Free DTA
« on: January 25, 2018, 05:59:21 pm »
Get Free DTA
Join DATA Official Telegram

Follow @Blockchain_Data

For each friend you refer, both you and your friend will each receive 10 DTA for free after Jan 25!

News / Legitcoin ICO Is Live
« on: January 25, 2018, 05:46:38 pm »
The Legitcoin ICO/token sales windows have opened and will end on February 14. The Legitcard Mastercard also known as Legitcard will be distributed only to users who purchase and hold at least 200 LEGIT in their account.
Share Legitcoin with your friends and trustees using your referral link. Each time someone signs up via this link, you will be rewarded with $20 equivalent of Legitcoin as well as 7% of their Legitcoin purchases. Your referals get $10 (5 LEGIT) worth of Legitcoin for signup.

News / Blockchain development
« on: January 25, 2018, 01:27:21 pm »
First off, not having to ask that question. You need to know some programming, C++, java, python. Read this That should be enough to figure it out. Here is another cool article about it for beginners

You need to know how to program, you don't need to know all of the above languages. That's pure overkill. I've never used Python or Java for anything, I do however use C for some things and some other higher level cross platform GUI tools for desktop front ends. Ultimately a lot of languages (at least the ones I use) produce programs which are built with the LLVM backend.

Crypto libraries like mbedTLS and LibSodium are written in C but that doesn't mean you need to write the rest of your programs in C or C++ with the Qt environment like Bitcoin.

The basic libs can be used in combination with various modern and very simple to use languages.

There are higher level languages which allow you to use the exact same cryptography as Bitcoin or similar ECC variations like Ed25519 instead of Secp256k1 for example.

You could for example write it in one of the .NET languages or something a bit more cross plaform friendly, there are some quite useful GUI enabled cross platform (Win, Mac and Linux) languages out there if you go looking for them and you can use as much or as little lower level C/C++ stuff as you want.

I would suggest that the first step will be to learn how to use the crypto libraries properly and take it from there.

Writing a blockchain based system is not a small job but it can be done if you're dedicated to the task and have enough time to do so.

What kind of blockchain utilising system did you have in mind ?

I'm interested in a minimalist private blockchain based system for what I'm working on, it doesn't need to be a coin but would use issued tokens to authorise database entries in a distributed manner which is hard to tamper with and is read only for nearly all users apart from those authorised to add blocks. These tokens would have no monetary value and certainly wouldn't be traded anywhere but would serve to enforce fair use of the system and prevent abuse by trusted users.

This is just a pet project of mine but as an emerging and relatively new way of doing things I'm sure there will be many interesting developments in the future so it's an area worth pursuing even if it takes a few years to get up to speed or produce anything worthwhile.

News / Some Lightning channels up on mainnet. Should this be encouraged?
« on: January 25, 2018, 01:22:58 pm »
There are some Bitcoiners declaring on social media that they have already started to open Lightning channels and started to send Bitcoins with them.

Should this be encouraged by the Lightning developers? I believe it is irresponsible because it has not been fully tested in the testnet. People might lose their coins.

Achow, Carlton, what are your opinions on this?

News / Don't we need to increase block weight/size?
« on: January 25, 2018, 01:20:26 pm »
While I don't have a solid stance on raising the block size, I see a lot of roadblocks in the way of doing it.

    Raising the block size makes running a full node less accessible.
    Raising the block size requires a hard fork of the entire Bitcoin network, which imo would be extremely difficult.
    A lot of people are against it (/r/Bitcoin) just because other people have told them to be against it and haven't formed their own opinions, but are swept up in the tribalism

I also believe the lightning network will be successful. People may point at segwit and say "well segwit was supposed to help fees too, and we have low segwit adoption months after the soft fork". These people are correct, but they miss (imo) a huge point. Say a transaction fee on our congested network is $20. With segwit, that fee becomes ~$14 (roughly). With the lightning network, that fee becomes <$0.01. It's a massive, massive difference.

Say you have two choices: sell all your Bitcoins, because you believe Bitcoin is dead and can't properly scale. Alright, that takes 1 last transaction to move your coins to an exchange and sell them. OR, you could make one last transaction to open a lightning channel. Now, your Bitcoins are all available on the lightning network, where you can make instant, near-zero fee transactions.

I don't believe people will stop using the main network when people start shifting towards using the lightning network. But the more services that support the lightning network, the less payments will be made on chain, which frees up more room for people to make on chain transactions, transactions like opening more lightning network channels.

The battle that needs fought now (again, imo) is adoption of the lightning network. It's a drastic change from the benefits provided by segwit, which was more about fixing transaction malleability. If we could only fight one more battle, and it had to be raise the block size or get people to move over to the lightning network, the latter is going to work for a lot longer than the former. Because it's important which battles we choose here, because people will quickly get tired of needing to make changes to use Bitcoin.

News / Could the Intel vulnerability have compromised private keys?
« on: January 25, 2018, 01:18:14 pm »
As you may know, Intel has been exposed heavily in the past few hours with 2 different exploits that can deliver pretty scare results if used maliciously:

Meltdown and Spectre

Bugs in modern computers leak passwords and sensitive data.

Meltdown and Spectre exploit critical vulnerabilities in modern processors. These hardware bugs allow programs to steal data which is currently processed on the computer. While programs are typically not permitted to read data from other programs, a malicious program can exploit Meltdown and Spectre to get hold of secrets stored in the memory of other running programs. This might include your passwords stored in a password manager or browser, your personal photos, emails, instant messages and even business-critical documents.

Meltdown and Spectre work on personal computers, mobile devices, and in the cloud. Depending on the cloud provider's infrastructure, it might be possible to steal data from other customers.

On the site you can see them in action:

What do you think about this when it comes to bitcoin?

Even if I moved all of my private keys into an airgapped laptop which has never seen the internet after being formatted, when I wanted to sign an offline transaction into the online node... the node is still connected to the internet, could somehow a exploit happen in the process?

News / Blockchain technology in Defence Industry
« on: January 25, 2018, 01:16:09 pm »
Is there any project which is using blockchain technology in defence industry? I guess DAPRA is working for it but I'm not sure of that. If you know any project about that can you share here? And You think Why defence companies don't working for developing blockchain tech? They need cryptology and blockchain serving this. THX Wink

If they are working on that, they wouldn't make it public. These three letter agencies are very secretive, so if they created a blockchain, it would ultimately be a private blockchain which is not exciting because it's just a regular database more or less. What makes cryptocurrencies exciting is that they have to survive in the wild.

Intelligence agencies work on encryption and decryption mostly, on the actual algorithms, such as SHA-256, which bitcoin uses.

News / Pywallet 2.2: manage your wallet [Update required]
« on: January 25, 2018, 01:14:31 pm »
News: August 2014
My boring professional life made me stay away from bitcoin for far too long but I'm now back in business
Pywallet won't be fixed anymore except for critical bugs
Instead I'll finish its successor (that still has no name)

News: September 2013
I'm rebuilding pywallet from scratch:

    I need a new name for this project, propose one if you want
    See the progress here:

This thread
First of all, I'd like to thank Joric for the first version of pywallet he made, this thread is about my fork.
Pywallet is a python script that deals with wallet.dat. It allows you to do plenty of things inside it.
You can post here whatever you want about pywallet: critics, asking for improvements/changes, telling me it helped you, pointing out errors/bugs, etc.

Pywallet 2: 22nd March 2013
Pywallet has been discontinued for around a year but is now actively developed again.
Look at the end of the 7th page for updates: encrypted wallet support, exporting/importing to/from files, merging wallets, etc.

Instructions (see also here)
Currently you can:

    Dump your wallet, see your pubkeys, privkeys, their labels, etc
        Under "Dump your wallet:"
        Fill version with 0 for bitcoin, 52 for namecoin, 111 for testnets

    Dump your transactions to a json file
        Under "Dump your transactions to a file:"
        Fill Output file with the full path to the file where you want the transactions to be written, this file must not exist

    Import a key/address into your wallet, with a label, or as a reserve key
        Under "Import a key into your wallet:"
        Key is the private key to import, in base58 or in hexadecimal chars
        Label is the name you want to see in the Address Book of the client
        Check Reserve if you want your address NOT to show in the Address Book
        Version = 0 for bitcoin, 52 for namecoin, 111 for testnets
        Format of the private key: Hexadecimal if you see only digits, a, b, c, d, e and f, otherwise chose Regular

    Import a transaction into your wallet
        Under "Import a transaction into your wallet:"
        Txk is the tx_k value you see in the wallet dump
        Txv is the tx_v value you see in the wallet dump

    Import transactions from a json file
        Under "Import a transaction into your wallet:"
        Txk = "file" (without quotes)
        Txv = full path to the transactions dump file

    Delete addresses from your wallet
        Under "Delete a key from your wallet:"
        Key is a Bitcoin address, not a priv key
        Type: Bitcoin Address

    Delete transactions from your wallet
        Under "Delete a key from your wallet:"
        Key is the hash of the transaction you want to delete (type "all" to delete them all)
        Type: Transaction

    Get info about a privkey, i.e. see address, base58 privkey, hexprivkey, pubkey and hash160, using the network you want
        Under "Get some info about one key[and sign/verify messages]:"
        Key is a private key
        Leave Msg, Sig and Pubkey empty
        Version = 0 for bitcoin, 52 for namecoin, 111 for testnets
        Format of the private key: Hexadecimal if you see only digits, a, b, c, d, e and f, otherwise chose Regular

    Sign and verify string, files, and binary string
        Under "Get some info about one key and sign/verify messages:"
        Key is the private key you want to sign the message/file with (only for signing)
        Message is the message you want to sign/verify
            If it is a string, just type it
            If it is a binary string, type "Hex:" just before its hexadecimal representation
            If it is a file, type "File:" just before its full path

        Signature is the signature of your message (only for verifying)
        Pubkey is the pubkey used to sign the message (only for verifying)

    Read a device to find deleted keys (CLI only)
        Assuming that:
            The device you want to read is /dev/sda3
            The size of /dev/sda3 is 30.1Gio
            You want pywallet to write the new wallet containing the found keys in /home/jackjack/recovered_wallets
        Run "sudo ./ --recover --recov_device /dev/sda3 --recov_size 30.1Gio --recov_outputdir /home/jackjack/recovered_wallets"
        Then replace your wallet (back it up before) with the recovered wallet and run "bitcoin -rescan"

    Print the balance of a bitcoin address, read from blockexplorer


    Linux/OSX: See README file
        Download (SHA256: 645a4d092733ad6685de730a38b210c6594e44a15690a87a231859477deca316)
        Run it
        Click about a thousand times on Yes/Next/I Agree/OK
        Go to the directory where you extracted it and run pywallet.bat

How to run it:
 Download it there:
 Run './ --web' then open 'http://localhost:8989' in your brower

 Python 2.5-2.7, with bsddb package
 ÃƒÆ’ƒÆ’Æ’Æ’Æ’ÃÆ’¢â‚¬Å¡ twisted package is necessary if you want to use the web interface
 ÃƒÆ’ƒÆ’Æ’Æ’Æ’ÃÆ’¢â‚¬Å¡ ecdsa package is necessary if you want to sign and verify messages

Confirmed to work on:
 Ubuntu 32bit(me)
 Windows 32bit(me), 64bit(ctoon6)

Pywallet can be used to:
 Import Vanitygen keys
 Delete 0/unconfirmed transactions
 Recover Namecoins (and testnetcoins) sent to Bitcoin addresses
 Create a deterministic wallet (using a passphrase)
 Create a deterministic wallet (using a file)
 Broadcast offline transactions
 Create a Bitcoin/*coin address from scratch
 Recover a wallet/deleted keys

News / How to do micro payments with bitcoin?
« on: January 25, 2018, 01:12:58 pm »
I can remember the days of totally free transactions.
Bitcoin (2009-2017✝) was intended for cheap transactions and micro-payments (P2P cash), you need something similar.

"I don't think the threshold should ever be 0.  We should always allow at least some free transactions." Satoshi Nakamoto.

I can sympathize with Satoshi's sentiment there, but he didn't build incentives for that into Bitcoin's design. The system relies on rational mining incentive: miners publish transactions because they are incentivized to mine for block rewards and collect the fees.

And for years, miners largely enforced node policy that reserved some space for "priority" transactions, including old coins sent with no fees. But miners are rational. When fee income became significant, they removed that node policy and started maximizing the fees they collect.

It's the mining incentive -- and therefore the protocol itself -- which resulted in this situation. This is the only way the system can guarantee block rewards in the future, once most of the 21 million coin supply is mined. And that's why Bcash will probably fail: when the block subsidy drops to zero, so will mining output, because fee income won't replace subsidy income.

News / Segwit Addresses explorer?
« on: January 25, 2018, 01:11:34 pm »
Quote from: Stedsm on November 04, 2017, 08:45:49 AM
What about the old P2PKH addresses? I mean will they be included in the Bech32 (native segwit) format?

No, BIP173 (though it is still draft) specifies Bech32 only to P2WPKH and P2WSH. It may be extended to include older formats but I think it won't because it will only confuse people.

Is there any difference in using the old addresses? Shall I stop using the P2PKH and/or P2PSH addresses?

Old P2PKH and P2SH addresses are going to work. It is the only way to ensure that old coins are spendablle so I guess it will be supported as long as Bitcoin exists.

The addresses that provides nowadays, do they all come under the SegWit Protocol?

Segwit protocol is a broad and complicated thing. All the blocks mined are already under segwit protocol. In theory, there can be a non-segwit block mined with only non-segwit transactions but I think all the miners upgraded software so it does not happen.

BIP141 defines 4 segwit payment methods:

    P2WPKH nested in P2SH (P2SH-P2WPKH)
    P2WSH nested in P2SH (P2SH-P2WSH)

P2WPKH and P2WSH are native segwit. Both spending and receiving requires segwit-aware wallets. The addresses are bech32 encoded.  For P2SH-P2WPKH and P2SH-P2WSH only spending requires segwit-aware wallets (but relaying and block validation can happen also on non-segwit aware node). Anybody (with BIP9 P2SH-aware wallet) can send to these addresses because they look (and the output behaves) the same as non-segwit P2SH. They are provided to ease the transition to segwit. The nesting in P2SH induces an overhead so native segwit transactions are smaller. Only at input it is revealed if the address is P2SH only or P2SH with witness. Both look the same (starting with 3)

Currently, very few of the native segwit transactions are happening. But it is slowly growing. If you don't care about receiving (say, a wallet for sending with occasional top-up, many exchanges have such wallets), you can use it right away and save on fees. P2SH-P2WPKH is more universal but the transactions have higher size (and fees), though still lower than non-segwit P2PKH or P2SH.

News / Using getrawmempool to estimate fees
« on: January 25, 2018, 01:10:08 pm »
Currently I run a program to estimate the lowest fee rate likely to get into the next block. It connects to my local Bitcoin core bode via RPC and runs getrawmempool. It sorts the transactions by fee rate, then takes off the top 1 MB worth of transactions. The fee rate of the last transaction to get in is, in my mind at least a good estimate of the required fee to get into the next block.

I am aware that this is a fairly naive approach, and I would like to improve it. Currently, it does not account for the SegWit discount and will incorrectly decide how many transactions will fit in the block. Also, I am not sure if looking at the mempool is the best option, maybe a rolling average of the lowest fee included in the past 3 blocks would be better for instance.

If these kinds of fee estimation questions have been asked before, feel free to link me but I wasn't able to find what I was looking for.

tl;dr How can I improve my simple fee estimation to be smarter?
When you look at latest blocks, you should check low-fee transactions for CPFP - they might be included in a block because their children compensated for low fee. Also, mining pools might include in blocks withdrawals of their members with lower fees, or they might include low fee transactions because they were paid through some other channels. So, you probably shouldn't expect that the lowest fee included in a recent block is safe enough to also get included in next few blocks - I'd raise that value by 10-20% to get some safer estimation.

News / Understanding P2SH
« on: January 25, 2018, 01:08:37 pm »
I'm trying to fully understand how P2SH (BIP16) works, and I thought I did.  For fun and to check my understanding, I disabled BIP16 in Bitcoin Core (setting BIP16Height in chainparams to a high value) and tried to "sign" a transaction spending a P2SH output by just providing the redeem script.  According to my understanding, this should be enough pre-BIP16, since it will make the "OP_HASH160 <hash> OP_EQUAL" script of the P2SH output succeed, right?  But that seems to be not the case.

In regtest mode, I created the following P2SH address:


$ addmultisigaddress 1 '["03c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e", "0221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad570"]'

$ validateaddress 2MwCrk6S9UEeFujacKe7m4uDCzu25F3VAeM
  "isvalid": true,
  "address": "2MwCrk6S9UEeFujacKe7m4uDCzu25F3VAeM",
  "scriptPubKey": "a9142b6defe41aa3aa47795b702c893c73e716d485ab87",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true,
  "script": "multisig",
  "hex": "512103c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e210221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad57052ae",
  "addresses": [
  "sigsrequired": 1,
  "account": ""

And funded it:


$ sendtoaddress 2MwCrk6S9UEeFujacKe7m4uDCzu25F3VAeM 10

$ generate 1

$ gettxout 14e8f61534b9a0b6110655dc153d41cc90f64b8104b820e1f4534fd14a732df0 0
  "bestblock": "40d573ebb78bdab760d6659b8ad9d91c46633144d25084eaf3de1f7411040305",
  "confirmations": 1,
  "value": 10.00000000,
  "scriptPubKey": {
    "asm": "OP_HASH160 2b6defe41aa3aa47795b702c893c73e716d485ab OP_EQUAL",
    "hex": "a9142b6defe41aa3aa47795b702c893c73e716d485ab87",
    "reqSigs": 1,
    "type": "scripthash",
    "addresses": [
  "coinbase": false

Then, I tried to spend it by providing just the serialised redeem script as scriptSig, but this fails:


$ decoderawtransaction 0100000001f02d734ad14f53f4e120b804814bf690cc413d15dc550611b6a0b93415f6e814000000004847512103c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e210221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad57052aeffffffff0100e1f505000000001976a914cf112b41997697caa3eee9e308ad9b2b917b4e4c88ac00000000
  "txid": "1971750cd655c7f93627354c380595e3e3434b69c3b6e788eecfb9c685eba703",
  "hash": "1971750cd655c7f93627354c380595e3e3434b69c3b6e788eecfb9c685eba703",
  "version": 1,
  "size": 157,
  "vsize": 157,
  "locktime": 0,
  "vin": [
      "txid": "14e8f61534b9a0b6110655dc153d41cc90f64b8104b820e1f4534fd14a732df0",
      "vout": 0,
      "scriptSig": {
        "asm": "512103c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e210221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad57052ae",
        "hex": "47512103c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e210221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad57052ae"
      "sequence": 4294967295
  "vout": [
      "value": 1.00000000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 cf112b41997697caa3eee9e308ad9b2b917b4e4c OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914cf112b41997697caa3eee9e308ad9b2b917b4e4c88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [

$ sendrawtransaction 0100000001f02d734ad14f53f4e120b804814bf690cc413d15dc550611b6a0b93415f6e814000000004847512103c278d06b977e67b8ea45ef24e3c96a9258c47bc4cce3d0b497b690d672497b6e210221ac9dc97fe12a98374344d08b458a9c2c1df9afb29dd6089b94a3b4dc9ad57052aeffffffff0100e1f505000000001976a914cf112b41997697caa3eee9e308ad9b2b917b4e4c88ac00000000 true
error code: -26
error message:
16: mandatory-script-verify-flag-failed (Operation not valid with the current stack size)

As you can see, the scriptSig of the raw transaction I try to send matches the hex of the P2SH address.  (A very similar script is sent for a correctly signed spending of the P2SH output, except prepended by the actual signatures as mandated by BIP16.)  From my understanding of how P2SH works, this should be a valid script pre-fork.  Can someone please explain to me what I'm missing here?

Pages: [1] 2 3 4