Bitcoin Armory – Python-based fully-featured Bitcoin ...

Day 9: I will post this guide regularly until available solutions like SegWit, order batching, and Lightning payment channels are mass adopted, the mempool is empty once again, and tx fees are low. Have you done your part?

BACKGROUND
Segregated Witness (SegWit) was activated on the Bitcoin network August 24 2017 as a soft fork that is backward compatible with previous bitcoin transactions (Understanding Segregated Witness). Since that time wallets and exchanges have been slow to deploy SegWit, and the majority of users have not made the switch themselves.
On Dec 18 2017 Subhan Nadeem has pointed out that: If every transaction in the Bitcoin network was a SegWit transaction today, blocks would contain up to 8,000 transactions, and the 138,000 unconfirmed transaction backlog would disappear instantly. Transaction fees would be almost non-existent once again.
Mass SegWit use alone could empty the mempool, result in blocks that are not completely full, and make it possible to include transactions with $0 fee once again.
On Jan 11 2018 when BTC sends went offline at Coinbase the mempool began to rapidly empty. Later in the day when service was restored there was a sharp spike up in the mempool. Subsequently, that afternoon Brian Armstrong finally had to break his silence on the topic and admitted Coinbase is working on SegWit but has still not deployed it. It appears that this is an important data point that indicates if just a few major exchanges would deploy SegWit the high fees bitcoin is experiencing would be eliminated.
SegWit is just one technique available to exchanges and users to reduce pressure on the Bitcoin network. You can make the switch to SegWit on your next transaction, and pressure exchanges to deploy SegWit NOW along with other actions that will reduce their transaction impact on the network. You can help by taking one or more of the action steps below.
ACTION STEPS
  1. If your favorite wallet has not yet implemented SegWit, kindly ask them to do so immediately. If your wallet is not committed to implementing SegWit fast, speak out online any way you can and turn up the pressure. In the meantime start using a wallet that has already implemented SegWit.
  2. If your favorite exchange has not yet implemented SegWit, try to avoid making any further purchases of bitcoin at that exchange and politely inform them that if they do not enable SegWit within 30-days they will lose your business. Sign-up for an account at a SegWit deployed/ready exchange now and initiate the verification process so you'll be ready to bail
  3. Help educate newcomers to bitcoin about the transaction issue, steer them towards SegWit wallets from day one, and encourage them to avoid ever purchasing bitcoin through non-SegWit ready exchanges that are harming bitcoin.
  4. Spread the word! Contact individuals, websites, etc that use bitcoin, explain the benefits of SegWit to everyone, and request they make the switch. Use social media to point out the benefits of SegWit adoption.
IMPORTANT NOTE: The mempool is currently still quite backlogged. If you are a long-term holder and really have no reason to move your bitcoins at this time, wait until the mempool starts to clear and transaction fees go down before moving your bitcoins to a SegWit address or SegWit friendly exchange.
BEYOND SEGWIT - BATCHING, PAYMENT CHANNELS, LIGHTNING
Batching is another great way that exchanges can reduce their fees. See: Saving up to 80% on Bitcoin transaction fees by batching payments. Despite the benefits of batching, some exchanges have been slow to implement it. Users should demand this or walk.
Beyond SegWit & Batching, Lightning Network integration will have even more effect. Lightning is now active and exchanges could setup payment channels between each other so that on-chain transactions need not take place. Some ideas have to outline how that might work are here: Google Doc - Lightning Exchanges. Which two bitcoin exchanges will be the first to establish a lightning channel between themselves and offer free/instant transfers between them for their customers? This will happen in 2018
MEMPOOL/SEGWIT STATISTICS
NEWS/DEVELOPMENTS/VICTORIES
SELECTED TOP EXCHANGES BY BATCHING & SEGWIT STATUS
Exchange Segwit Status Batching Status
Binance NOT READY Yes
Bitfinex Ready Yes
Bitonic Ready Yes
Bitstamp Deployed Yes
Bittrex ? Yes
Coinbase/GDAX NOT READY No
Gemini Ready No
HitBTC Deployed Yes
Huboi ? ?
Kraken Deployed Yes
LocalBitcoins Deployed Yes
OKEx ? ?
Poloniex ? Yes
QuadrigaCX Deployed Yes
Shapeshift Deployed No
Note: all exchanges that have deployed SegWit are currently only sending to p2sh SegWit addresses for now. No exchange will send to a bech32 address like the ones that Electrum generates
Source 1: BitcoinCore.org
Source 2: /Bitcoin
Official statements from exchanges:
SELECTED WALLETS THAT HAVE SEGWIT ALREADY
Make sure you have a SegWit capable wallet installed and ready to use for your next bitcoin transaction
SegWit Enabled Wallets Wallet Type
Ledger Nano S Hardware
Trezor Hardware
Electrum Desktop
Armory Desktop
Edge iOS
GreenAddress iOS
BitWallet iOS
Samourai Android
GreenBits Android
Electrum Android
SegWitAddress.org Paper
FAQs
If I'm a HODLer, will it help to send my BTC to a SegWit address now?
No, just get ready now so that your NEXT transaction will be to a SegWit wallet. Avoid burdening the network with any unnecessary transactions for now.
Why is SegWit adoption going so slowly? Is it a time-consuming process, is there risk involved, is it laziness, or something else?
SegWit will require some extra work to be done right and securely. Also, most exchanges let the user pay the fee, and up to now users have not been overly concerned about fees so for some exchanges it hasn't been a priority.
Once Segwit is FULLY adopted, what do we see the fees/transaction times going to?
Times stay the same - fees will go down. How much and for how long depends on what the demand for transactions will be at that time.
What determines bitcoin transaction fees, to begin with?
Fees are charged per byte of data and are bid up by users. Miners will typically include the transaction with the highest fee/byte first.
Can you please tell me how to move my bitcoins to SegWit address in Bitcoin core wallet? Does the sender or receiver matter?
The Bitcoin core wallet does not yet have a GUI for its SegWit functionality. Download the latest version of Electrum to generate a SegWit address.
A transaction between two SegWit addresses is a SegWit transaction.
A transaction sent from a SegWit address to a non-SegWit address is a SegWit transaction.
A transaction sent from a non-SegWit address to a SegWit address is NOT a SegWit transaction. You can send a SegWit Tx if the sending address is a SegWit address.
Source: HowToToken
What wallet are you using to "batch your sends"? And how can I do that?
Using Electrum, the "Tools" menu option: "Pay to many".
Just enter your receive addresses and the amounts for each, and you can send multiple transactions for nearly the price of one.
Why doesn't the Core Wallet yet support SegWit?
The Core Wallet supports SegWit, but its GUI doesn't. The next update will likely have GUI support built-in
Why isn't a large exchange like Coinbase SegWit ready & deployed when much smaller exchanges already are? Why do they default to high fees? Where is the leadership there?
Draw your own conclusions based on their own words:
March 2016 - Coinbase CEO Brian Armstrong has reservations about Core
Dec 2017 - Coinbase is STILL working on Segwit
P2SH/bech32 FAQs
What are the two SegWit address formats and why do they exist?
It's been a challenge for wallet developers to implement SegWit in a way that users can easily and without too much disruption migrate from legacy to SegWit addresses. The first wallets to enable SegWit addresses – Ledger, Trezor, Core, GreenAddress – use so-called “nested P2SH addresses.” This means they take the existing Pay 2 Script Hash address – starting with a “3” – and put a SegWit address into it. This enables a high grade of compatibility to exist wallets as every wallet is familiar with these addresses, but it is a workaround which results in SegWit transactions needing around 10 percent more space than they otherwise would.
Electrum 3.0 was the first wallet to use bech32 addresses instead of nested p2sh addresses.
Source: BTCManager.com
What is the difference in address format between SegWit address formats P2SH and bech32?
P2SH starts with "3..."
bech32 starts with "bc1..."
Which addresses can I send from/to?
P2SH Segwit addresses can be sent to using older Bitcoin software with no Segwit support. This supports backward compatibility
bech32 can only be sent to from newer Bitcoin software that support bech32. Ex: Electrum
Source: BitcoinTalk.org
Why did ThePirateBay put up two Bitcoin donation addresses on their frontpage, one bech32 and one not?
The address starting with a "3..." is a P2SH SegWit address that can be sent BTC from any bitcoin address including a legacy address. The address starting with a "bc1..." is a bech32 SegWit address that can only be sent to from newer wallets that support bech32.
SEGWIT BLOG GUIDES
PREVIOUS DAY'S THREADS
There's lots of excellent info in the comments of the previous threads:
submitted by Bastiat to Bitcoin [link] [comments]

Day 8: I will post this guide regularly until available solutions like SegWit, order batching, and Lightning payment channels are mass adopted, the mempool is empty once again, and tx fees are low. BTC Core SegWit GUI coming May 1, Coinbase incompetence exposed, more exchanges deploy SegWit

BACKGROUND
Segregated Witness (SegWit) was activated on the Bitcoin network August 24 2017 as a soft fork that is backward compatible with previous bitcoin transactions (Understanding Segregated Witness). Since that time wallets and exchanges have been slow to deploy SegWit, and the majority of users have not made the switch themselves.
On Dec 18 2017 Subhan Nadeem has pointed out that: If every transaction in the Bitcoin network was a SegWit transaction today, blocks would contain up to 8,000 transactions, and the 138,000 unconfirmed transaction backlog would disappear instantly. Transaction fees would be almost non-existent once again.
Mass SegWit use alone could empty the mempool, result in blocks that are not completely full, and make it possible to include transactions with $0 fee once again.
On Jan 11 2018 when BTC sends went offline at Coinbase the mempool began to rapidly empty. Later in the day when service was restored there was a sharp spike up in the mempool. Subsequently, that afternoon Brian Armstrong finally had to break his silence on the topic and admitted Coinbase is working on SegWit but has still not deployed it. It appears that the high fees bitcoin is experiencing could be easily addressed and need not exist.
SegWit is just one technique available to exchanges and users to reduce pressure on the Bitcoin network. You can make the switch to SegWit on your next transaction, and pressure exchanges to deploy SegWit NOW along with other actions that will reduce their transaction impact on the network. You can help by taking one or more of the action steps below.
ACTION STEPS
  1. If your favorite wallet has not yet implemented SegWit, kindly ask them to do so immediately. If your wallet is not committed to implementing SegWit fast, speak out online any way you can and turn up the pressure. In the meantime start using a wallet that has already implemented SegWit.
  2. If your favorite exchange has not yet implemented SegWit, try to avoid making any further purchases of bitcoin at that exchange and politely inform them that if they do not enable SegWit within 30-days they will lose your business. Sign-up for an account at a SegWit deployed/ready exchange now and initiate the verification process so you'll be ready to bail
  3. Help educate newcomers to bitcoin about the transaction issue, steer them towards SegWit wallets from day one, and encourage them to avoid ever purchasing bitcoin through non-SegWit ready exchanges that are harming bitcoin.
  4. Spread the word! Contact individuals, websites, etc that use bitcoin, explain the benefits of SegWit to everyone, and request they make the switch. Use social media to point out the benefits of SegWit adoption.
IMPORTANT NOTE: The mempool is currently still quite backlogged. If you are a long-term holder and really have no reason to move your bitcoins at this time, wait until the mempool starts to clear and transaction fees go down before moving your bitcoins to a SegWit address or SegWit friendly exchange.
BEYOND SEGWIT - BATCHING, PAYMENT CHANNELS, LIGHTNING
Batching is another great way that exchanges can reduce their fees. See: Saving up to 80% on Bitcoin transaction fees by batching payments. Despite the benefits of batching, some exchanges have been slow to implement it. Users should demand this or walk.
Beyond SegWit & Batching, Lightning Network integration will have even more effect. Lightning is now active and exchanges could setup payment channels between each other so that on-chain transactions need not take place. Some ideas have to outline how that might work are here: Google Doc - Lightning Exchanges. Which two bitcoin exchanges will be the first to establish a lightning channel between themselves and offer free/instant transfers between them for their customers? This will happen in 2018
MEMPOOL/SEGWIT STATISTICS
NEWS/DEVELOPMENTS/VICTORIES
SELECTED TOP EXCHANGES BY BATCHING & SEGWIT STATUS
Exchange Segwit Status Batching Status
Binance NOT READY Yes
Bitfinex Ready Yes
Bitonic Ready Yes
Bitstamp Deployed Yes
Bittrex ? Yes
Coinbase/GDAX NOT READY No
Gemini Ready No
HitBTC Deployed Yes
Huboi ? ?
Kraken Deployed Yes
LocalBitcoins Deployed Yes
OKEx ? ?
Poloniex ? Yes
QuadrigaCX Deployed Yes
Shapeshift Deployed No
Note: all exchanges that have deployed SegWit are currently only sending to p2sh SegWit addresses for now. No exchange will send to a bech32 address like the ones that Electrum generates
Source 1: BitcoinCore.org
Source 2: /Bitcoin
Official statements from exchanges:
SELECTED WALLETS THAT HAVE SEGWIT ALREADY
Make sure you have a SegWit capable wallet installed and ready to use for your next bitcoin transaction
SegWit Enabled Wallets Wallet Type
Ledger Nano S Hardware
Trezor Hardware
Electrum Desktop
Armory Desktop
Edge iOS
GreenAddress iOS
BitWallet iOS
Samourai Android
GreenBits Android
Electrum Android
SegWitAddress.org Paper
FAQs
If I'm a HODLer, will it help to send my BTC to a SegWit address now?
No, just get ready now so that your NEXT transaction will be to a SegWit wallet. Avoid burdening the network with any unnecessary transactions for now.
Why is SegWit adoption going so slowly? Is it a time-consuming process, is there risk involved, is it laziness, or something else?
SegWit will require some extra work to be done right and securely. Also, most exchanges let the user pay the fee, and up to now users have not been overly concerned about fees so for some exchanges it hasn't been a priority.
Once Segwit is FULLY adopted, what do we see the fees/transaction times going to?
Times stay the same - fees will go down. How much and for how long depends on what the demand for transactions will be at that time.
What determines bitcoin transaction fees, to begin with?
Fees are charged per byte of data and are bid up by users. Miners will typically include the transaction with the highest fee/byte first.
Can you please tell me how to move my bitcoins to SegWit address in Bitcoin core wallet? Does the sender or receiver matter?
The Bitcoin core wallet does not yet have a GUI for its SegWit functionality. Download the latest version of Electrum to generate a SegWit address.
A transaction between two SegWit addresses is a SegWit transaction.
A transaction sent from a SegWit address to a non-SegWit address is a SegWit transaction.
A transaction sent from a non-SegWit address to a SegWit address is NOT a SegWit transaction. You can send a SegWit Tx if the sending address is a SegWit address.
Source: HowToToken
What wallet are you using to "batch your sends"? And how can I do that?
Using Electrum, the "Tools" menu option: "Pay to many".
Just enter your receive addresses and the amounts for each, and you can send multiple transactions for nearly the price of one.
Why doesn't the Core Wallet yet support SegWit?
The Core Wallet supports SegWit, but its GUI doesn't. The next update will likely have GUI support built-in
Why isn't a large exchange like Coinbase SegWit ready & deployed when much smaller exchanges already are? Why do they default to high fees? Where is the leadership there?
Draw your own conclusions based on their own words:
March 2016 - Coinbase CEO Brian Armstrong has reservations about Core
Dec 2017 - Coinbase is STILL working on Segwit
P2SH/bech32 FAQs
What are the two SegWit address formats and why do they exist?
It's been a challenge for wallet developers to implement SegWit in a way that users can easily and without too much disruption migrate from legacy to SegWit addresses. The first wallets to enable SegWit addresses – Ledger, Trezor, Core, GreenAddress – use so-called “nested P2SH addresses.” This means they take the existing Pay 2 Script Hash address – starting with a “3” – and put a SegWit address into it. This enables a high grade of compatibility to exist wallets as every wallet is familiar with these addresses, but it is a workaround which results in SegWit transactions needing around 10 percent more space than they otherwise would.
Electrum 3.0 was the first wallet to use bech32 addresses instead of nested p2sh addresses.
Source: BTCManager.com
What is the difference in address format between SegWit address formats P2SH and bech32?
P2SH starts with "3..."
bech32 starts with "bc1..."
Which addresses can I send from/to?
P2SH Segwit addresses can be sent to using older Bitcoin software with no Segwit support. This supports backward compatibility
bech32 can only be sent to from newer Bitcoin software that support bech32. Ex: Electrum
Source: BitcoinTalk.org
Why did ThePirateBay put up two Bitcoin donation addresses on their frontpage, one bech32 and one not?
The address starting with a "3..." is a P2SH SegWit address that can be sent BTC from any bitcoin address including a legacy address. The address starting with a "bc1..." is a bech32 SegWit address that can only be sent to from newer wallets that support bech32.
SEGWIT BLOG GUIDES
PREVIOUS DAY'S THREADS
There's lots of excellent info in the comments of the previous threads:
submitted by Bastiat to Bitcoin [link] [comments]

What is a Cryptocurrency Wallet?

What is a Cryptocurrency Wallet?
Use this straightforward guide to learn what a cryptocurrency wallet is, how they work and discover which ones are the best on the market.
A cryptocurrency wallet is a software program that stores private and public keys and interacts with various blockchain to enable users to send and receive digital currency and monitor their balance. If you want to use Bitcoin or any other cryptocurrency, you will need to have a digital wallet.
How do they work?
Millions of people use cryptocurrency wallets, but there is considerable misunderstanding about how they work. Unlike traditional ‘pocket’ wallets, digital wallets don’t store currency. In fact, currencies don’t get stored in any single location or exist anywhere in any physical form. All that exists are records of transactions stored on the blockchain.
Cryptocurrency wallets are software programs that store your public and private keys and interface with various blockchain so users can monitor their balance, send money and conduct other operations. When a person sends you bitcoins or any other type of digital currency, they are essentially signing off ownership of the coins to your wallet’s address. To be able to spend those coins and unlock the funds, the private key stored in your wallet must match the public address the currency is assigned to. If public and private keys match, the balance in your digital wallet will increase, and the senders will decrease accordingly. There is no actual exchange of real coins. The transaction is signified merely by a transaction record on the blockchain and a change in balance in your cryptocurrency wallet.
What are the different types of Cryptocurrencywallets?
There are several types of wallets that provide different ways to store and access your digital currency. Wallets can be broken down into three distinct categories – software, hardware, and paper. Software wallets can be a desktop, mobile or online.
Are Cryptocurrency wallets secure?
Wallets are secure to varying degrees. The level of security depends on the type of wallet you use (desktop, mobile, online, paper, hardware) and the service provider. A web server is an intrinsically riskier environment to keep your currency compared to offline. Online wallets can expose users to possible vulnerabilities in the wallet platform which can be exploited by hackers to steal your funds. Offline wallets, on the other hand, cannot be hacked because they simply aren’t connected to an online network and don’t rely on a third party for security.
Although online wallets have proven the most vulnerable and prone to hacking attacks, diligent security precautions need to be implemented and followed when using any wallet. Remember that no matter which wallet you use, losing your private keys will lead you to lose your money. Similarly, if your wallet gets hacked, or you send money to a scammer, there is no way to reclaim lost currency or reverse the transaction. You must take precautions and be very careful!
Although Bitcoin is by far the most well-known and popular digital currency, hundreds of newcryptocurrencies (referred to as altcoins) have emerged, each with distinctive ecosystems and infrastructure. If you’re interested in using a variety of cryptocurrencies, the good news is, you don’t need set up a separate wallet for each currency. Instead of using a cryptocurrency wallet that supports a single currency, it may be more convenient to set up a multi-currency wallet which enables you to use several currencies from the same wallet.
Are there any transaction fees?
There is no straightforward answer here.
In general, transaction fees are a tiny fraction of traditional bank fees. Sometimes fees need to be paid for certain types of transactions to network miners as a processing fee, while some transactions don’t have any fee at all. It’s also possible to set your own fee. As a guide, the median transaction size of 226 bytes would result in a fee of 18,080 satoshis or $0.12. In some cases, if you choose to set a low fee, your transaction may get low priority, and you might have to wait hours or even days for the transaction to get confirmed. If you need your transaction completed and confirmed promptly, then you might need to increase the amount you’re willing to pay. Whatever wallet you end up using, transaction fees are not something you should worry about. You will either pay minuscule transaction fees, choose your own fees or pay no fees at all. A definite improvement from the past!
Are cryptocurrency wallets anonymous?
Kind of, but not really. Wallets are pseudonymous. While wallets aren’t tied to the actual identity of a user, all transactions are stored publicly and permanently on the blockchain. Your name or personal street address won’t be there, but data like your wallet address could be traced to your identity in a number of ways. While there are efforts underway to make anonymity and privacy easier to achieve, there are obvious downsides to full anonymity. Check out the DarkWallet project that is looking to beef up privacy and anonymity through stealth addresses and coin mixing.
Which Cryptocurrency wallet is the best?
There is an ever-growing list of options. Before picking a wallet, you should, however, consider how you intend to use it.
Bread Wallet
Bread Wallet is a simple mobile Bitcoin digital wallet that makes sending bitcoins as easy as sending an email. The wallet can be downloaded from the App Store or Google Play. Bread Wallet offers a standalone client, so there is no server to use when sending or receiving bitcoins. That means users can access their money and are in full control of their funds at all times. Overall, Bread Wallet’s clean interface, lightweight design and commitment to continually improve security, make the application safe, fast and a pleasure to use for both beginners and experienced users alike.
Mycelium
Advanced users searching for a Bitcoin mobile digital wallet, should look no further than mycelium. The Mycelium mobile wallet allows iPhone and Android users to send and receive bitcoins and keep complete control over bitcoins. No third party can freeze or lose your funds! With enterprise-level security superior to most other apps and features like cold storage and encrypted PDF backups, an integrated QR-code scanner, a local trading marketplace and secure chat amongst others, you can understand why Mycelium has long been regarded as one of the best wallets on the market.
Exodus
Exodus is a relatively new and unknown digital wallet that is currently only available on the desktop. It enables the storage and trading of Bitcoin, Ether, Litecoins, Dogecoins and Dash through an incredibly easy to use, intuitive and beautiful interface. Exodus also offers a very simple guide to backup your wallet. One of the great things about Exodus is that it has a built-in shapeshift exchange that allows users to trade altcoins for bitcoins and vice versa without leaving the wallet.
Copay
Created by Bitpay, Copay is one of the best digital wallets on the market. If you’re looking for convenience, Copay is easily accessed through a user-friendly interface on desktop, mobile or online. One of the best things about Copay is that it’s a multi-signature wallet so friends or business partners can share funds. Overall, Copay has something for everyone. It’s simple enough for entry-level users but has plenty of additional geeky features that will impress more experienced players as well.
Jaxx
Jaxx is a multi-currency Ether, Ether Classic, Dash, DAO, Litecoin, REP, Zcash, Rootstock, Bitcoin wallet and user interface. Jaxx has been designed to deliver a smooth Bitcoin and Ethereum experience. It is available on a variety of platforms and devices (Windows, Linux, Chrome, Firefox, OSX, Android mobile & tablet, iOS mobile & tablet) and connects with websites through Firefox and Chrome extensions. Jaxx allows in wallet conversion between Bitcoin, Ether and DAO tokens via Shapeshift and the import of Ethereum paper wallets. With an array of features and the continual integration of new currencies, Jaxx is an excellent choice for those who require a multi-currency wallet.
Armory
Armory is an open source Bitcoin desktop wallet perfect for experienced users that place emphasis on security. Some of Armory’s features include cold storage, multi-signature transactions, one-time printable backups, multiple wallets interface, GPU-resistant wallet encryption, key importing, key sweeping and more. Although Armory takes a little while to understand and use to it’s full potential, it’s a great option for more tech-savvy bitcoiners looking to keep their funds safe and secure.
Trezor is a hardware Bitcoin wallet that is ideal for storing large amounts of bitcoins. Trezor cannot be infected by malware and never exposes your private keys which make it as safe as holding traditional paper money. Trezor is open source and transparent, with all technical decisions benefiting from wider community consultation. It’s easy to use, has an intuitive interface and is Windows, OS X and Linux friendly. One of the few downsides of the Trezor wallet is that it must be with you to send bitcoins. This, therefore, makes Trezor best for inactive savers, investors or people who want to keep large amounts of Bitcoin highly secure.
Ledger Nano
The Ledger Wallet Nano is a new hierarchical deterministic multisig hardware wallet for bitcoin users that aims to eliminate a number of attack vectors through the use of a second security layer. This tech-heavy description does not mean much to the average consumer, though, which is why I am going to explain it in plain language, describing what makes the Ledger Wallet Nano tick. In terms of hardware, the Ledger Wallet Nano is a compact USB device based on a smart card. It is roughly the size of a small flash drive, measuring 39 x 13 x 4mm (1.53 x 0.51 x 0.16in) and weighing in at just 5.9g.
Pros:
Cons:
Green Address
Green Address is a user-friendly Bitcoin wallet that’s an excellent choice for beginners. Green Address is accessible via desktop, online or mobile with apps available for Chrome, iOS, and Android. Features include multi-signature addresses & two-factor authentications for enhanced security, paper wallet backup, and instant transaction confirmation. A downside is that Green Address is required to approve all payments, so you do not have full control over your spending
Blockchain (dot) info
Blockchain is one of the most popular Bitcoin wallets. Accessing this wallet can be done from any browser or smartphone. Blockchain.info provides two different additional layers. For the browser version, users can enable two-factor authentication, while mobile users can activate a pin code requirement every time the wallet application is opened. Although your wallet will be stored online and all transactions will need to go through the company’s servers, Blockchain.info does not have access to your private keys. Overall, this is a well-established company that is trusted throughout the Bitcoin community and makes for a solid wallet to keep your currency.
submitted by Tokenberry to NewbieZone [link] [comments]

I'm writing a Bitcoin story for national television broadcast and online distribution that millions will see. What do you want it to say?

Disclaimer: I've owned Bitcoins since 2011 and am very active in /Bitcoin, but use a different alias. This is my "real name" Reddit account matching my Twitter account: @danls.
I'm also Vice President of Money Talks News. The company started more than 22 years ago as a consumer finance television news segment, and grew to 85 broadcast markets, more than 3 million viewers, and won 2 Emmys.
8 years ago, I joined the company and we started a web site. That site now does more than 1 million unique visitors per month, and our content is syndicated to MSN, Yahoo, AOL, Comcast, and a few others.
For example, this URL is just 15 pages of our videos: http://www.bing.com/videos/browse/money/finance
Bitcoins have grown in popularity to the point where they're now becoming a mainstream topic of conversation, and we're about to introduce our viewers and readers to them.
We'd like to put out a "Bitcoin for Dummies" television story and matching written piece, though without the potentially trademark infringing title.
Rather than write the story, publish it, and see it bashed to hell in this subreddit for being too anti-Bitcoin or too pro-Bitcoin or not-enough-about-Bitcoin, I'd rather give everyone here an opportunity to provide input before the story is finished.
So what do you want to see included in a Bitcoin story?
Right now, I'm planning to tell our audience to only buy through Coinbase, and never keep more in that account that you would in the wallet you walk around with. Anything over that amount is safest on an encrypted paper wallet stored in a bank vault (which I'm going to try and explain how to setup as simply as possible).
But do you think I should talk about 2-of-3 private keys? Armory/Electrum Online/Offline wallets? How important do you think understanding the block chain is to a new Bitcoiner? Think it's worth talking about mining when it's essentially unprofitable to all but the most hooked-up miners? How much explanation should be spent on Altcoins? Or is there some other aspect of Bitcoin you've always wanted to see detailed in the media? This is your chance to speak up.
Just so everyone is aware, I'm capable of writing this story without input. I'm not asking for help understanding Bitcoin. Rather, this is an opportunity for you to take part in shaping a Bitcoin story that millions will see, written by an early adopter. So don't be a troll.
submitted by danls to Bitcoin [link] [comments]

Secure paper wallet tutorial

This is my handout for paranoid people who want a way to store bitcoin safely. It requires a little work, but this is the method I use because it should be resistant to risks associated with:
  1. Bad random number generators
  2. Malicious or flawed software
  3. Hacked computers
If you want a method that is less secure but easier, skip to the bottom of this post.
The Secure Method
  1. Download bitaddress.org. (Try going to the website and pressing "ctrl+s")
  2. Put the bitaddress.org file on a computer with an operating system that has not interacted with the internet much or at all. The computer should not be hooked up to the internet when you do this. You could put the bitaddress file on a USB stick, and then turn off your computer, unplug the internet, and boot it up using a boot-from-CD copy of linux (Ubuntu or Mint for example). This prevents any mal-ware you may have accumulated from running and capturing your keystrokes. I use an old android smart phone that I have done a factory reset on. It has no sim-card and does not have the password to my home wifi. Also the phone wifi is turned off. If you are using a fresh operating system, and do not have a connection to the internet, then your private key will probably not escape the computer.
  3. Roll a die 62 times and write down the sequence of numbers. This gives you 2160 possible outcomes, which is the maximum that Bitcoin supports.
  4. Run bitaddress.org from your offline computer. Input the sequence of numbers from the die rolls into the "Brain Wallet" tab. By providing your own source of randomness, you do not have to worry that the random number generator used by your computer is too weak. I'm looking at you, NSA ಠ_ಠ
  5. Brain Wallet tab creates a private key and address.
  6. Write down the address and private key by hand or print them on a dumb printer. (Dumb printer means not the one at your office with the hard drive. Maybe not the 4 in 1 printer that scans and faxes and makes waffles.) If you hand copy them you may want to hand copy more than one format. (WIF and HEX). If you are crazy and are storing your life savings in Bitcoin, and you hand copy the private key, do a double-check by typing the private key back into the tool on the "Wallet Details" tab and confirm that it recreates the same public address.
  7. Load your paper wallet by sending your bitcoin to the public address. You can do this as many times as you like.
  8. You can view the current balance of your paper wallet by typing the public address into the search box at blockchain.info
  9. If you are using an old cell phone or tablet do a factory reset when you are finished so that the memory of the private keys is destroyed. If you are using a computer with a boot-from-CD copy of linux, I think you can just power down the computer and the private keys will be gone. (Maybe someone can confirm for me that the private keys would not be able to be cached by bitaddress?)
  10. To spend your paper wallet, you will need to either create an offline transaction, or import the private key into a hot wallet. Creating an offline transaction is dangerous if you don't know what you are doing. Importing to a client side wallet like Bitcoin-Qt, Electrum, MultiBit or Armory is a good idea. You can also import to an online wallet such as Blockchain.info or Coinbase.
Trusting bitaddress.org
The only thing you need bitaddress.org to do is to honestly convert the brainwallet passphrase into the corresponding private key and address. You can verify that it is doing this honestly by running several test passphrases through the copy of bitaddress that you plan on using, and several other brainwallet generators. For example, you could use the online version of bitaddress, and brainwallet and safepaperwallet and bitcoinpaperwallet. If you are fancy with the linux command line, you can also try "echo -n my_die_rolls | sha256sum". The linux operating system should reply with the same private key that bitaddress makes. This protects you from a malicious paper wallet generator.
Trusting your copy of bitaddress.org
Bitaddress publishes the sha1 hash of the bitaddress.org website at this location:
https://www.bitaddress.org/pgpsignedmsg.txt
The message is signed by the creator, pointbiz. I found his PGP fingerprint here:
https://github.com/pointbiz/bitaddress.org/issues/18
"527B 5C82 B1F6 B2DB 72A0 ECBF 8749 7B91 6397 4F5A"
With this fingerprint, you can authenticate the signed message, which gives you the hash of the current bitaddress.org file. Then you can hash your copy of the file and authenticate the file.
I do not have a way to authenticate the fingerprint itself, sorry. According to the website I linked to, git has cryptographic traceability that would enable a person to do some research and authenticate the fingerprint. If you want to go that far, knock yourself out. I think that the techniques described in this document do not really rely on bitaddress being un-corrupt. Anyway, how do we know pointbiz is a good guy? ;-)
There are a lot of skilled eyes watching bitaddress.org and the signed sha1 hash. To gain the most benefit from all of those eyes, it's probably worthwhile to check your copy by hashing it and comparing to the published hash.
"But we aren't supposed to use brainwallets"
You are not supposed to use brainwallets that have predictable passphrases. People think they are pretty clever about how they pick their passphrases, but a lot of bitcoins have been stolen because people tend to come up with similar ideas. If you let dice generate the passphrase, then it is totally random, and you just need to make sure to roll enough times.
How to avoid spending your life rolling dice
When I first started doing this, I rolled a die 62 times for each private key. This is not necessary. You can simply roll the die 62 times and keep the sequence of 62 numbers as a "seed". The first paper address you create would use "my die rolls-1" as the passphrase, the second would be "my die rolls-2" and so on. This is safe because SHA256 prevents any computable relationship between the resulting private key family.
Of course this has a certain bad security scenario -- if anyone obtains the seed they can reconstruct all of your paper wallets. So this is not for everyone! On the other hand, it also means that if you happen to lose one of your paper wallets, you could reconstruct it so long as you still had the seed.
One way to reduce this risk is to add an easy to remember password like this: "my die rolls-password-1".
If you prefer, you can use a technique called diceware to convert your die rolls to words that still contain the same quantity of entropy, but which could be easier to work with. I don't use diceware because it's another piece of software that I have to trust, and I'm just copy/pasting my high entropy seed, so I don't care about how ugly it is.
Why not input the dice as a Base 6 private key on the Wallet Details tab?
Two reasons. First of all, this option requires that you roll the die 99 times, but you do not get meaningful additional protection by rolling more than 62 times. Why roll more times if you don't have to? Second, I use the "high entropy seed" method to generate multiple private keys from the same die rolls. Using the Base 6 option would require rolling 99 times for every private key.
I'm a big nerd with exotic dice. How many times to roll?
Put this formula in Excel to get the number of times to roll: "=160*LOG(2,f)" where f = number of faces on the die. For example, you would roll a d16 40 times. By the way, somewhat unbelievably casino dice are more fair than ordinary dice
The "Change address" problem:
You should understand change addresses because some people have accidentally lost money by not understanding it.
Imagine your paper wallet is a 10 dollar bill. You use it to buy a candy bar. To do this you give the cashier the entire 10 dollar bill. They keep 1 dollar and give you 9 dollars back as change.
With Bitcoin, you have to explicitly say that you want 9 dollars back, and you have to provide an address where it should go to. If you just hand over the 10 dollar bill, and don't say you want 9 dollars back, then the miner who processes the transaction gives 1 dollar to the store and keeps the remainder themselves.
Wallet software like Bitcoin-Qt handles this automatically for you. They automatically make "change addresses" and they automatically construct transactions that make the change go to the change address.
There are three ways I know of that the change problem can bite you:
  1. You generate a raw transaction by hand, and screw up. If you are generating a transaction "by hand" with a raw transaction editor, you need to be extra careful that your outputs add up to the same number as your inputs. Otherwise, the very lucky miner who puts your transaction in a block will keep the difference.
  2. You import a paper wallet into a wallet software and spend part of it, and then think that the change is in the paper wallet. The change is not in the paper wallet. It is in a change address that the wallet software generated. That means that if you lose your wallet.dat file you will lose all the change. The paper wallet is empty.
  3. You import a paper wallet into a wallet software and spend part of it, and then think that the change is in the change address that the wallet software generated. If the transaction did not need to consume all of the "outputs" used to fund the paper wallet, then there could be some unspent outputs still located at the address of the paper wallet. If you destroyed the paper wallet, and destroyed the copy of the private key imported to the wallet software, then you could not access this money. (E.g. if you restored the software wallet from its seed, thinking all of the money was moved to the wallet-generated change addresses.)
For more on this, see here
The hot paper wallet problem
Your bitcoin in your paper wallet are secure, so long as the piece of paper is secure, until you go to spend it. When you spend it, you put the private key onto a computer that is connected to the internet. At this point you must regard your paper wallet address as hot because the computer you used may have been compromised. It now provides much less protection against theft of your coins. If you need the level of protection that a cold paper wallet provides, you need to create a new one and send your coins to it.
Destroying your paper wallet address
Do not destroy the only copy of a private key without verifying that there is no money at that address. Your client may have sent change to your paper wallet address without you realizing it. Your client may have not consumed all of the unspent outputs available at the paper wallet address. You can go to blockchain.info and type the public address into the search window to see the current balance. I don't bother destroying my used/empty paper wallet addresses. I just file them away.
Encrypting your private key
BIP 0038 describes a standardized way to encrypt your paper wallet private key. A normal paper wallet is vulnerable because if anyone sees the private key they can take the coins. The BIP38 protocol is even resistant to brute force attacks because it uses a memory intensive encryption algorithm called scrypt. If you want to encrypt your wallets using BIP38, I recommend that you use bitcoinpaperwallet because they will let you type in your own private key and will encrypt it for you. As with bitaddress, for high security you should only use a local copy of this website on a computer that will never get connected to the internet.
Splitting your private key
Another option for protecting the private key is to convert it into multiple fragments that must be brought together. This method allows you to store pieces of your key with separate people in separate locations. It can be set up so that you can reconstitute the private key when you have any 2 out of the 3 fragments. This technique is called Shamir's Secret Sharing. I have not tried this technique, but you may find it valuable. You could try using this website http://passguardian.com/ which will help you split up a key. As before, you should do this on an offline computer. Keep in mind if you use this service that you are trusting it to work properly. It would be good to find other independently created tools that could be used to validate the operation of passguardian. Personally, I would be nervous destroying the only copy of a private key and relying entirely on the fragments generated by the website.
Looks like Bitaddress has an implementation of Shamir's Secret Sharing now under the "Split Wallet" tab. However it would appear that you cannot provide your own key for this, so you would have to trust bitaddress.
Durable Media
Pay attention to the media you use to record your paper wallet. Some kinds of ink fade, some kinds of paper disintegrate. Moisture and heat are your enemies.
In addition to keeping copies of my paper wallet addresses I did the following:
  1. Order a set of numeric metal stamps. ($10)
  2. Buy a square galvanized steel outlet cover from the hardware store ($1)
  3. Buy a sledgehammer from the hardware store
  4. Write the die rolls on the steel plate using a sharpie
  5. Use the hammer to stamp the metal. Do all the 1's, then all the 2's etc. Please use eye protection, as metal stamp may emit sparks or fly unexpectedly across the garage. :-)
  6. Use nail polish remover to erase the sharpie
Electrum
If you trust electrum you might try running it on an offline computer, and having it generate a series of private keys from a seed. I don't have experience with this software, but it sounds like there are some slick possibilities there that could save you time if you are working with a lot of addresses.
Message to the downvoters
I would appreciate it if you would comment, so that I can learn from your opinion. Thanks!
The Easy Method
This method is probably suitable for small quantities of bitcoin. I would not trust it for life-altering sums of money.
  1. Download the bitaddress.org website to your hard drive.
  2. Close your browser
  3. Disconnect from the internet
  4. Open the bitaddress.org website from your hard drive.
  5. Print a paper wallet on your printer
  6. Close your browser
submitted by moral_agent to BitcoinWallet [link] [comments]

The World Wide Web runs on webservers in datacenters. The World Wide Blockchain should also run on "blockservers" in datacenters. The "sweet spot" of Bitcoin scaling, reliability, security & convenience is *nodes in the cloud* + *private keys offline*. The is the future of Bitcoin. Let's embrace it.

Four-Line Summary
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
Longer Summary
(1) Bitcoin nodes should be online - on "online public blockservers", ideally running on big, powerful webservers with high connectivity & high-end specs, in datacenters.
(2) Bitcoin private keys should be offline - in "offline private wallets", ideally running on tiny, cheap computers with no connectivity & low-end specs, in your pocket.
https://blockchainbdgpzk.onion/pushtx
(3) We should embrace "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") and "keys-in-your-pocket" as the future of Bitcoin, providing the optimal combination (or "sweet spot") of scaling, reliability, security & convenience.
Details
Bitcoin has been a success for 7 years and is continuing to grow and needs a simple and safe way to scale.
So, now it is time for people to embrace nodes-in-datacenters a/k/a blockservers-in-the-cloud (plus private keys offline - to enable 100% security with "offline signing of transactions") as Bitcoin's future.
Why?
(1) ...because everything on the web actually works this way already - providing the optimal combination of scaling, reliability, security & convenience.
  • You already keep your passwords for websites and webmail on you - usually physically offline (in your head, written on a slip of paper, or maybe in an offline file, etc.)
  • When was the last time you ran a server out of your home to continually spider and index terabytes of data for the entire web?
  • Why should you need to hold 60 GB of data (and growing) when you just want to check the balance of a single Bitcoin address (eg, one of your addresses)?
  • Bitcoin is still very young, and if in order to fulfill its earlier promise about banking the unbanked, microtransactions, DACs (decentralized autonomous corporations), IoT (Internet of Things), smart contracts, etc., then we should hope and expect that the blockchain will someday take up terabytes, not "mere" gigabytes - just like Google's giant search engine index, which they update every few minutes.
  • Do you really think you should be performing this kind of heavy-duty indexing, querying and "serving" on a low-end machine behind a low-end connection in your home, when companies like Google can do it so much better?
  • As long as you physically control your own private keys, who cares if you rely on blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) to lookup up public information about balances and transactions on Bitcoin addresses?
  • They're not going to be able to lie to you. The meaning of "permissionless" and "decentralized" is that anybody can set up a full-node / "blockserver" (plus "blockchain search engines"), and anybody can (and will) immediately report it to the whole world if a website like blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) provides false information - which would seriously damage their business, so they'll never do it.
(2) ...because webservers and webmail don't lie to you, and "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") aren't going to be able to lie to you either - since it would not be in their interest, and they would get caught if they did.
  • When was the last time google.com or or yahoo.com or msn.com (bing.com) lied to you when you performed a search or looked up some news?
  • When was the last time blockchain.info or blockexplorer.com lied to you when you checked the balance at a Bitcoin address?
  • Currently, with billions of websites and news sources ("webservers") running around the world in datacenters, there are "web search engines" (eg, google.com or news.google.com or msn.com or yahoo.com) where you can look up information and news on the World Wide Web. In order to survive, the business model of these "web search engines" is about getting lots of visitors, and providing you with reliable information. It's not in their best interests to lie - so they never do. These sites simply "spider" / "crawl" / "index" the entire massive web out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • In the future, when there are 10,000 or 100,000 Bitcoin full-nodes ("blockservers") running around the world in datacenters, there will be "blockchain search engines" (eg, bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com - just like we already have blockchain.info and blockexplorer.com, etc.) where you will be able to lookup transactions and balances on the World Wide Blockchain. In order to survive, their business model will be about getting lots of visitors, and providing you with reliable information. It's not going to be in their best interests to lie - so they never will. These sites will simply "spider" / "crawl" / "index" the entire massive blockchain out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • The business model for "blockchain search engines" might eventually showing ads or sponsored content along with the Bitcoin blockchain search functions which we are primarily interested in. This would be quite usable and simple and safe, and similar to how most people already use sites like google.com, yahoo.com, msn.com, etc.
(3) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide simple scaling now.
  • Nodes-in-the-cloud are the only solution which can provide scaling now - using existing, tested software - by simply adjusting - or totally eliminating - the MAXBLOCKSIZE parameter.
  • They can use existing, tested, reliable software: thousands of 2MB+ nodes are already running.
  • About 1,000 Classic nodes have been spun up in AWS ECS datacenters (Amazon Web Services - Elastic Computer Cloud) in the past month. (Uninformed yes-men at r\bitcoin try to spin this as a "bad thing" - but we should embrace it as a "good thing", explicitly espousing the philosophy outlined in this post.)
  • "Nodes-in-datacenters" (ie, "blockservers-in-the-cloud") can be flexibly and easily configured to provide all the scaling needed in terms of:
    • Bandwidth (throughput)
    • Hard drive space (storage)
    • RAM (memory)
    • CPU (processing power)
  • The yes-men and sycophants and authoritarians and know-nothings on the censored subreddit r\bitcoin are forever fantasizing about some Rube Goldberg vaporware with a catchy name "Lightning Network" which doesn't even exist, and which (at best, if it ever does come into existence) would be doomed to be slow, centralized and expensive. LN is a non-thing.
  • Those same people on the censored r\bitcoin forum are desperately trying to interpret the thousands of Classic nodes as a negative thing - and their beloved non-existent Lightning Network as a positive thing. This is the kind of typical down-is-up, black-is-white thinking that always happens in a censorship bubble - because the so-called Lightning Network isn't even a thing - while Classic is a reality.
(4) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more reliability / availability.
  • 24/7/365 tech support,
  • automatic server reboots,
  • server uptime guarantees,
  • electrical power uptime guarantees.
(5) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide better security.
(6) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more convenience.
(7) ...because separating "full-node" functionality from "wallet" functionality by implementing "hierarchical deterministic (HD)" wallets is cleaner, safer and more user-friendly.
Armory, BIP 0032 provide "hierarchical deterministic (HD)" wallets.
https://en.bitcoin.it/wiki/BIP_0032
https://en.bitcoin.it/wiki/Deterministic_Wallet
http://www.bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/
https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet
http://bitcoin.stackexchange.com/questions/16646/offline-wallets-electrum-vs-armory
https://www.youtube.com/watch?v=DQumISxkJsQ
  • "Hierarchical deterministic" wallets are required in order to be able to keep private keys offline, and "offline-sign" transactions. This is because a wallet needs to be "deterministic" in order to be able to generate the same sequence of random private keys in the offline wallet and the online wallet.
  • "Hierarchical deterministic (HD)" wallets are also required in order to allow a user to perform a single, one-time, permanent backup of their wallet - which lasts forever (since a HD wallet already deterministically "knows" the exact sequence of all the private keys which it will generate, now and in the future - unlike the antiquated wallet in Core / Blockstream's insecure, non-user-friendly Bitcoin implementation, which pre-generates keys non-deterministically in batches of 100 - so old backups of Core / Blockstream wallets could actually be missing later-generated private keys, rendering those backups useless).
  • Bitcoin is now over 7 years old, but Core / Blockstream has mysteriously failed to provide this simple, essential feature of HD wallets - while several other Bitcoin implementations have already provided this.
  • This feature is extremely simple, because it is all done entirely offline - not networking, no game theory, no non-deterministic behavior, no concurrency. The "HD wallet" functionality just needs some very basic, standard crypto and random-number libraries to generate a "seed" which determines the entire sequence of all the private keys which the wallet can generate.
  • Newer Bitcoin implementations (unlike Core / Blockstream) have now "modularized" their code, also separating "full-node" functionality from "wallet" functionality at the source code level:
  • in Golang - "btcsuite" from Conformal, providing "btcd" (node) and "btcwallet" (wallet):
  • in Haskell + MySQL/SQLite - "Haskoin":
  • There is also a Bitcoin implementation which provides only a full-node:
  • in Ruby + Postgres - "Toshi" from CoinBase:
  • [Tinfoil] The fact that Core / Blockstream has failed to provide HD and failed to clean up and modularize its messy spaghetti code - and the fact that Armory is now out of business (and both companies received millions of dollars in venture capital, and the lead dev of Armory left because the investors were creating needless obstacles regarding intellectual property rights, licensing, etc.) - these facts are suspicious because suggest that these corporations may be trying to discourage dev-friendliness, user-friendliness, security, convenience, and on-chain scaling.
(8) ...because the only thing most users really want and need is total physical control over their private keys.
  • Most people do not want or need to run a Bitcoin full-node, because:
    • A Bitcon full-node consumes lots of disk space and bandwidth, and can be expensive and complicated to set up, run, maintain, and secure.
    • A Bitcoin full-node requires an extremely high level of hardware and software security - which most computer users have never even attempted.
  • As Armory or Electrum users know, the simplest and safest way to provide 100% guaranteed security is by using "offline storage" or "cold storage" or "air gap".
  • In other words, ideally, you should never even let your private keys touch a device which has (or had) the hardware and/or software to go online - ie: no Wi-Fi, no 3G, and no Ethernet cable.
  • This offline machine is used only to generate private keys (where a Bitcoin private key is literally actually just any truly random number up to around 1078 ) - and also used to "offline-sign" transactions.
  • So it is simplest and safest if your private keys are on an offline machine which never can / did go online - and such as machine can be very cheap, because it really only needs to run some very basic random-number-generator and crypto libraries.
  • It would be simplest and safest for people to own a tiny cheap 100% secure offline computer to use only for:
    • generating / storing Bitcoin private keys
    • signing Bitcoin transactions
    • possibly also for generating / storing other kinds of private keys (other cryptocurrencies, GPG keys, etc.)
Four-Line Summary / Conclusion:
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
submitted by ydtm to btc [link] [comments]

Is anyone else freaked out by this whole blocksize debate? Does anyone else find themself often agreeing with *both* sides - depending on whichever argument you happen to be reading at the moment? And do we need some better algorithms and data structures?

Why do both sides of the debate seem “right” to me?
I know, I know, a healthy debate is healthy and all - and maybe I'm just not used to the tumult and jostling which would be inevitable in a real live open major debate about something as vital as Bitcoin.
And I really do agree with the starry-eyed idealists who say Bitcoin is vital. Imperfect as it may be, it certainly does seem to represent the first real chance we've had in the past few hundred years to try to steer our civilization and our planet away from the dead-ends and disasters which our government-issued debt-based currencies keep dragging us into.
But this particular debate, about the blocksize, doesn't seem to be getting resolved at all.
Pretty much every time I read one of the long-form major arguments contributed by Bitcoin "thinkers" who I've come to respect over the past few years, this weird thing happens: I usually end up finding myself nodding my head and agreeing with whatever particular piece I'm reading!
But that should be impossible - because a lot of these people vehemently disagree!
So how can both sides sound so convincing to me, simply depending on whichever piece I currently happen to be reading?
Does anyone else feel this way? Or am I just a gullible idiot?
Just Do It?
When you first look at it or hear about it, increasing the size seems almost like a no-brainer: The "big-block" supporters say just increase the blocksize to 20 MB or 8 MB, or do some kind of scheduled or calculated regular increment which tries to take into account the capabilities of the infrastructure and the needs of the users. We do have the bandwidth and the memory to at least increase the blocksize now, they say - and we're probably gonna continue to have more bandwidth and memory in order to be able to keep increasing the blocksize for another couple decades - pretty much like everything else computer-based we've seen over the years (some of this stuff is called by names such as "Moore's Law").
On the other hand, whenever the "small-block" supporters warn about the utter catastrophe that a failed hard-fork would mean, I get totally freaked by their possible doomsday scenarios, which seem totally plausible and terrifying - so I end up feeling that the only way I'd want to go with a hard-fork would be if there was some pre-agreed "triggering" mechanism where the fork itself would only actually "switch on" and take effect provided that some "supermajority" of the network (of who? the miners? the full nodes?) had signaled (presumably via some kind of totally reliable p2p trustless software-based voting system?) that they do indeed "pre-agree" to actually adopt the pre-scheduled fork (and thereby avoid any possibility whatsoever of the precious blockchain somehow tragically splitting into two and pretty much killing this cryptocurrency off in its infancy).
So in this "conservative" scenario, I'm talking about wanting at least 95% pre-adoption agreement - not the mere 75% which I recall some proposals call for, which seems like it could easily lead to a 75/25 blockchain split.
But this time, with this long drawn-out blocksize debate, the core devs, and several other important voices who have become prominent opinion shapers over the past few years, can't seem to come to any real agreement on this.
Weird split among the devs
As far as I can see, there's this weird split: Gavin and Mike seem to be the only people among the devs who really want a major blocksize increase - and all the other devs seem to be vehemently against them.
But then on the other hand, the users seem to be overwhelmingly in favor of a major increase.
And there are meta-questions about governance, about about why this didn't come out as a BIP, and what the availability of Bitcoin XT means.
And today or yesterday there was this really cool big-blockian exponential graph based on doubling the blocksize every two years for twenty years, reminding us of the pure mathematical fact that 210 is indeed about 1000 - but not really addressing any of the game-theoretic points raised by the small-blockians. So a lot of the users seem to like it, but when so few devs say anything positive about it, I worry: is this just yet more exponential chart porn?
On the one hand, Gavin's and Mike's blocksize increase proposal initially seemed like a no-brainer to me.
And on the other hand, all the other devs seem to be against them. Which is weird - not what I'd initially expected at all (but maybe I'm just a fool who's seduced by exponential chart porn?).
Look, I don't mean to be rude to any of the core devs, and I don't want to come off like someone wearing a tinfoil hat - but it has to cross people's minds that the powers that be (the Fed and the other central banks and the governments that use their debt-issued money to run this world into a ditch) could very well be much more scared shitless than they're letting on. If we assume that the powers that be are using their usual playbook and tactics, then it could be worth looking at the book "Confessions of an Economic Hitman" by John Perkins, to get an idea of how they might try to attack Bitcoin. So, what I'm saying is, they do have a track record of sending in "experts" to try to derail projects and keep everyone enslaved to the Creature from Jekyll Island. I'm just saying. So, without getting ad hominem - let's just make sure that our ideas can really stand scrutiny on their own - as Nick Szabo says, we need to make sure there is "more computer science, less noise" in this debate.
When Gavin Andresen first came out with the 20 MB thing - I sat back and tried to imagine if I could download 20 MB in 10 minutes (which seems to be one of the basic mathematical and technological constraints here - right?)
I figured, "Yeah, I could download that" - even with my crappy internet connection.
And I guess the telecoms might be nice enough to continue to double our bandwidth every two years for the next couple decades – if we ask them politely?
On the other hand - I think we should be careful about entrusting the financial freedom of the world into the greedy hands of the telecoms companies - given all their shady shenanigans over the past few years in many countries. After decades of the MPAA and the FBI trying to chip away at BitTorrent, lately PirateBay has been hard to access. I would say it's quite likely that certain persons at institutions like JPMorgan and Goldman Sachs and the Fed might be very, very motivated to see Bitcoin fail - so we shouldn't be too sure about scaling plans which depend on the willingness of companies Verizon and AT&T to double our bandwith every two years.
Maybe the real important hardware buildout challenge for a company like 21 (and its allies such as Qualcomm) to take on now would not be "a miner in every toaster" but rather "Google Fiber Download and Upload Speeds in every Country, including China".
I think I've read all the major stuff on the blocksize debate from Gavin Andresen, Mike Hearn, Greg Maxwell, Peter Todd, Adam Back, and Jeff Garzick and several other major contributors - and, oddly enough, all their arguments seem reasonable - heck even Luke-Jr seems reasonable to me on the blocksize debate, and I always thought he was a whackjob overly influenced by superstition and numerology - and now today I'm reading the article by Bram Cohen - the inventor of BitTorrent - and I find myself agreeing with him too!
I say to myself: What's going on with me? How can I possibly agree with all of these guys, if they all have such vehemently opposing viewpoints?
I mean, think back to the glory days of a couple of years ago, when all we were hearing was how this amazing unprecedented grassroots innovation called Bitcoin was going to benefit everyone from all walks of life, all around the world:
...basically the entire human race transacting everything into the blockchain.
(Although let me say that I think that people's focus on ideas like driverless cabs creating realtime fare markets based on supply and demand seems to be setting our sights a bit low as far as Bitcoin's abilities to correct the financial world's capital-misallocation problems which seem to have been made possible by infinite debt-based fiat. I would have hoped that a Bitcoin-based economy would solve much more noble, much more urgent capital-allocation problems than driverless taxicabs creating fare markets or refrigerators ordering milk on the internet of things. I was thinking more along the lines that Bitcoin would finally strangle dead-end debt-based deadly-toxic energy industries like fossil fuels and let profitable clean energy industries like Thorium LFTRs take over - but that's another topic. :=)
Paradoxes in the blocksize debate
Let me summarize the major paradoxes I see here:
(1) Regarding the people (the majority of the core devs) who are against a blocksize increase: Well, the small-blocks arguments do seem kinda weird, and certainly not very "populist", in the sense that: When on earth have end-users ever heard of a computer technology whose capacity didn't grow pretty much exponentially year-on-year? All the cool new technology we've had - from hard drives to RAM to bandwidth - started out pathetically tiny and grew to unimaginably huge over the past few decades - and all our software has in turn gotten massively powerful and big and complex (sometimes bloated) to take advantage of the enormous new capacity available.
But now suddenly, for the first time in the history of technology, we seem to have a majority of the devs, on a major p2p project - saying: "Let's not scale the system up. It could be dangerous. It might break the whole system (if the hard-fork fails)."
I don't know, maybe I'm missing something here, maybe someone else could enlighten me, but I don't think I've ever seen this sort of thing happen in the last few decades of the history of technology - devs arguing against scaling up p2p technology to take advantage of expected growth in infrastructure capacity.
(2) But... on the other hand... the dire warnings of the small-blockians about what could happen if a hard-fork were to fail - wow, they do seem really dire! And these guys are pretty much all heavyweight, experienced programmers and/or game theorists and/or p2p open-source project managers.
I must say, that nearly all of the long-form arguments I've read - as well as many, many of the shorter comments I've read from many users in the threads, whose names I at least have come to more-or-less recognize over the past few months and years on reddit and bitcointalk - have been amazingly impressive in their ability to analyze all aspects of the lifecycle and management of open-source software projects, bringing up lots of serious points which I could never have come up with, and which seem to come from long experience with programming and project management - as well as dealing with economics and human nature (eg, greed - the game-theory stuff).
So a lot of really smart and experienced people with major expertise in various areas ranging from programming to management to game theory to politics to economics have been making some serious, mature, compelling arguments.
But, as I've been saying, the only problem to me is: in many of these cases, these arguments are vehemently in opposition to each other! So I find myself agreeing with pretty much all of them, one by one - which means the end result is just a giant contradiction.
I mean, today we have Bram Cohen, the inventor of BitTorrent, arguing (quite cogently and convincingly to me), that it would be dangerous to increase the blocksize. And this seems to be a guy who would know a few things about scaling out a massive global p2p network - since the protocol which he invented, BitTorrent, is now apparently responsible for like a third of the traffic on the internet (and this despite the long-term concerted efforts of major evil players such as the MPAA and the FBI to shut the whole thing down).
Was the BitTorrent analogy too "glib"?
By the way - I would like to go on a slight tangent here and say that one of the main reasons why I felt so "comfortable" jumping on the Bitcoin train back a few years ago, when I first heard about it and got into it, was the whole rough analogy I saw with BitTorrent.
I remembered the perhaps paradoxical fact that when a torrent is more popular (eg, a major movie release that just came out last week), then it actually becomes faster to download. More people want it, so more people have a few pieces of it, so more people are able to get it from each other. A kind of self-correcting economic feedback loop, where more demand directly leads to more supply.
(BitTorrent manages to pull this off by essentially adding a certain structure to the file being shared, so that it's not simply like an append-only list of 1 MB blocks, but rather more like an random-access or indexed array of 1 MB chunks. Say you're downloading a film which is 700 MB. As soon as your "client" program has downloaded a single 1-MB chunk - say chunk #99 - your "client" program instantly turns into a "server" program as well - offering that chunk #99 to other clients. From my simplistic understanding, I believe the Bitcoin protocol does something similar, to provide a p2p architecture. Hence my - perhaps naïve - assumption that Bitcoin already had the right algorithms / architecture / data structure to scale.)
The efficiency of the BitTorrent network seemed to jive with that "network law" (Metcalfe's Law?) about fax machines. This law states that the more fax machines there are, the more valuable the network of fax machines becomes. Or the value of the network grows on the order of the square of the number of nodes.
This is in contrast with other technology like cars, where the more you have, the worse things get. The more cars there are, the more traffic jams you have, so things start going downhill. I guess this is because highway space is limited - after all, we can't pave over the entire countryside, and we never did get those flying cars we were promised, as David Graeber laments in a recent essay in The Baffler magazine :-)
And regarding the "stress test" supposedly happening right now in the middle of this ongoing blocksize debate, I don't know what worries me more: the fact that it apparently is taking only $5,000 to do a simple kind of DoS on the blockchain - or the fact that there are a few rumors swirling around saying that the unknown company doing the stress test shares the same physical mailing address with a "scam" company?
Or maybe we should just be worried that so much of this debate is happening on a handful of forums which are controlled by some guy named theymos who's already engaged in some pretty "contentious" or "controversial" behavior like blowing a million dollars on writing forum software (I guess he never heard that reddit.com software is open-source)?
So I worry that the great promise of "decentralization" might be more fragile than we originally thought.
Scaling
Anyways, back to Metcalfe's Law: with virtual stuff, like torrents and fax machines, the more the merrier. The more people downloading a given movie, the faster it arrives - and the more people own fax machines, the more valuable the overall fax network.
So I kindof (naïvely?) assumed that Bitcoin, being "virtual" and p2p, would somehow scale up the same magical way BitTorrrent did. I just figured that more people using it would somehow automatically make it stronger and faster.
But now a lot of devs have started talking in terms of the old "scarcity" paradigm, talking about blockspace being a "scarce resource" and talking about "fee markets" - which seems kinda scary, and antithetical to much of the earlier rhetoric we heard about Bitcoin (the stuff about supporting our favorite creators with micropayments, and the stuff about Africans using SMS to send around payments).
Look, when some asshole is in line in front of you at the cash register and he's holding up the line so they can run his credit card to buy a bag of Cheeto's, we tend to get pissed off at the guy - clogging up our expensive global electronic payment infrastructure to make a two-dollar purchase. And that's on a fairly efficient centralized system - and presumably after a year or so, VISA and the guy's bank can delete or compress the transaction in their SQL databases.
Now, correct me if I'm wrong, but if some guy buys a coffee on the blockchain, or if somebody pays an online artist $1.99 for their work - then that transaction, a few bytes or so, has to live on the blockchain forever?
Or is there some "pruning" thing that gets rid of it after a while?
And this could lead to another question: Viewed from the perspective of double-entry bookkeeping, is the blockchain "world-wide ledger" more like the "balance sheet" part of accounting, i.e. a snapshot showing current assets and liabilities? Or is it more like the "cash flow" part of accounting, i.e. a journal showing historical revenues and expenses?
When I think of thousands of machines around the globe having to lug around multiple identical copies of a multi-gigabyte file containing some asshole's coffee purchase forever and ever... I feel like I'm ideologically drifting in one direction (where I'd end up also being against really cool stuff like online micropayments and Africans banking via SMS)... so I don't want to go there.
But on the other hand, when really experienced and battle-tested veterans with major experience in the world of open-souce programming and project management (the "small-blockians") warn of the catastrophic consequences of a possible failed hard-fork, I get freaked out and I wonder if Bitcoin really was destined to be a settlement layer for big transactions.
Could the original programmer(s) possibly weigh in?
And I don't mean to appeal to authority - but heck, where the hell is Satoshi Nakamoto in all this? I do understand that he/she/they would want to maintain absolute anonymity - but on the other hand, I assume SN wants Bitcoin to succeed (both for the future of humanity - or at least for all the bitcoins SN allegedly holds :-) - and I understand there is a way that SN can cryptographically sign a message - and I understand that as the original developer of Bitcoin, SN had some very specific opinions about the blocksize... So I'm kinda wondering of Satoshi could weigh in from time to time. Just to help out a bit. I'm not saying "Show us a sign" like a deity or something - but damn it sure would be fascinating and possibly very helpful if Satoshi gave us his/hetheir 2 satoshis worth at this really confusing juncture.
Are we using our capacity wisely?
I'm not a programming or game-theory whiz, I'm just a casual user who has tried to keep up with technology over the years.
It just seems weird to me that here we have this massive supercomputer (500 times more powerful than the all the supercomputers in the world combined) doing fairly straightforward "embarassingly parallel" number-crunching operations to secure a p2p world-wide ledger called the blockchain to keep track of a measly 2.1 quadrillion tokens spread out among a few billion addresses - and a couple of years ago you had people like Rick Falkvinge saying the blockchain would someday be supporting multi-million-dollar letters of credit for international trade and you had people like Andreas Antonopoulos saying the blockchain would someday allow billions of "unbanked" people to send remittances around the village or around the world dirt-cheap - and now suddenly in June 2015 we're talking about blockspace as a "scarce resource" and talking about "fee markets" and partially centralized, corporate-sponsored "Level 2" vaporware like Lightning Network and some mysterious company is "stess testing" or "DoS-ing" the system by throwing away a measly $5,000 and suddenly it sounds like the whole system could eventually head right back into PayPal and Western Union territory again, in terms of expensive fees.
When I got into Bitcoin, I really was heavily influenced by vague analogies with BitTorrent: I figured everyone would just have tiny little like utorrent-type program running on their machine (ie, Bitcoin-QT or Armory or Mycelium etc.).
I figured that just like anyone can host a their own blog or webserver, anyone would be able to host their own bank.
Yeah, Google and and Mozilla and Twitter and Facebook and WhatsApp did come along and build stuff on top of TCP/IP, so I did expect a bunch of companies to build layers on top of the Bitcoin protocol as well. But I still figured the basic unit of bitcoin client software powering the overall system would be small and personal and affordable and p2p - like a bittorrent client - or at the most, like a cheap server hosting a blog or email server.
And I figured there would be a way at the software level, at the architecture level, at the algorithmic level, at the data structure level - to let the thing scale - if not infinitely, at least fairly massively and gracefully - the same way the BitTorrent network has.
Of course, I do also understand that with BitTorrent, you're sharing a read-only object (eg, a movie) - whereas with Bitcoin, you're achieving distributed trustless consensus and appending it to a write-only (or append-only) database.
So I do understand that the problem which BitTorrent solves is much simpler than the problem which Bitcoin sets out to solve.
But still, it seems that there's got to be a way to make this thing scale. It's p2p and it's got 500 times more computing power than all the supercomputers in the world combined - and so many brilliant and motivated and inspired people want this thing to succeed! And Bitcoin could be our civilization's last chance to steer away from the oncoming debt-based ditch of disaster we seem to be driving into!
It just seems that Bitcoin has got to be able to scale somehow - and all these smart people working together should be able to come up with a solution which pretty much everyone can agree - in advance - will work.
Right? Right?
A (probably irrelevant) tangent on algorithms and architecture and data structures
I'll finally weigh with my personal perspective - although I might be biased due to my background (which is more on the theoretical side of computer science).
My own modest - or perhaps radical - suggestion would be to ask whether we're really looking at all the best possible algorithms and architectures and data structures out there.
From this perspective, I sometimes worry that the overwhelming majority of the great minds working on the programming and game-theory stuff might come from a rather specific, shall we say "von Neumann" or "procedural" or "imperative" school of programming (ie, C and Python and Java programmers).
It seems strange to me that such a cutting-edge and important computer project would have so little participation from the great minds at the other end of the spectrum of programming paradigms - namely, the "functional" and "declarative" and "algebraic" (and co-algebraic!) worlds.
For example, I was struck in particular by statements I've seen here and there (which seemed rather hubristic or lackadaisical to me - for something as important as Bitcoin), that the specification of Bitcoin and the blockchain doesn't really exist in any form other than the reference implementation(s) (in procedural languages such as C or Python?).
Curry-Howard anyone?
I mean, many computer scientists are aware of the Curry-Howard isomorophism, which basically says that the relationship between a theorem and its proof is equivalent to the relationship between a specification and its implementation. In other words, there is a long tradition in mathematics (and in computer programming) of:
And it's not exactly "turtles all the way down" either: a specification is generally simple and compact enough that a good programmer can usually simply visually inspect it to determine if it is indeed "correct" - something which is very difficult, if not impossible, to do with a program written in a procedural, implementation-oriented language such as C or Python or Java.
So I worry that we've got this tradition, from the open-source github C/Java programming tradition, of never actually writing our "specification", and only writing the "implementation". In mission-critical military-grade programming projects (which often use languages like Ada or Maude) this is simply not allowed. It would seem that a project as mission-critical as Bitcoin - which could literally be crucial for humanity's continued survival - should also use this kind of military-grade software development approach.
And I'm not saying rewrite the implementations in these kind of theoretical languages. But it might be helpful if the C/Python/Java programmers in the Bitcoin imperative programming world could build some bridges to the Maude/Haskell/ML programmers of the functional and algebraic programming worlds to see if any kind of useful cross-pollination might take place - between specifications and implementations.
For example, the JavaFAN formal analyzer for multi-threaded Java programs (developed using tools based on the Maude language) was applied to the Remote Agent AI program aboard NASA's Deep Space 1 shuttle, written in Java - and it took only a few minutes using formal mathematical reasoning to detect a potential deadlock which would have occurred years later during the space mission when the damn spacecraft was already way out around Pluto.
And "the Maude-NRL (Naval Research Laboratory) Protocol Analyzer (Maude-NPA) is a tool used to provide security proofs of cryptographic protocols and to search for protocol flaws and cryptosystem attacks."
These are open-source formal reasoning tools developed by DARPA and used by NASA and the US Navy to ensure that program implementations satisfy their specifications. It would be great if some of the people involved in these kinds of projects could contribute to help ensure the security and scalability of Bitcoin.
But there is a wide abyss between the kinds of programmers who use languages like Maude and the kinds of programmers who use languages like C/Python/Java - and it can be really hard to get the two worlds to meet. There is a bit of rapprochement between these language communities in languages which might be considered as being somewhere in the middle, such as Haskell and ML. I just worry that Bitcoin might be turning into being an exclusively C/Python/Java project (with the algorithms and practitioners traditionally of that community), when it could be more advantageous if it also had some people from the functional and algebraic-specification and program-verification community involved as well. The thing is, though: the theoretical practitioners are big on "semantics" - I've heard them say stuff like "Yes but a C / C++ program has no easily identifiable semantics". So to get them involved, you really have to first be able to talk about what your program does (specification) - before proceeding to describe how it does it (implementation). And writing high-level specifications is typically very hard using the syntax and semantics of languages like C and Java and Python - whereas specs are fairly easy to write in Maude - and not only that, they're executable, and you state and verify properties about them - which provides for the kind of debate Nick Szabo was advocating ("more computer science, less noise").
Imagine if we had an executable algebraic specification of Bitcoin in Maude, where we could formally reason about and verify certain crucial game-theoretical properties - rather than merely hand-waving and arguing and deploying and praying.
And so in the theoretical programming community you've got major research on various logics such as Girard's Linear Logic (which is resource-conscious) and Bruni and Montanari's Tile Logic (which enables "pasting" bigger systems together from smaller ones in space and time), and executable algebraic specification languages such as Meseguer's Maude (which would be perfect for game theory modeling, with its functional modules for specifying the deterministic parts of systems and its system modules for specifiying non-deterministic parts of systems, and its parameterized skeletons for sketching out the typical architectures of mobile systems, and its formal reasoning and verification tools and libraries which have been specifically applied to testing and breaking - and fixing - cryptographic protocols).
And somewhat closer to the practical hands-on world, you've got stuff like Google's MapReduce and lots of Big Data database languages developed by Google as well. And yet here we are with a mempool growing dangerously big for RAM on a single machine, and a 20-GB append-only list as our database - and not much debate on practical results from Google's Big Data databases.
(And by the way: maybe I'm totally ignorant for asking this, but I'll ask anyways: why the hell does the mempool have to stay in RAM? Couldn't it work just as well if it were stored temporarily on the hard drive?)
And you've got CalvinDB out of Yale which apparently provides an ACID layer on top of a massively distributed database.
Look, I'm just an armchair follower cheering on these projects. I can barely manage to write a query in SQL, or read through a C or Python or Java program. But I would argue two points here: (1) these languages may be too low-level and "non-formal" for writing and modeling and formally reasoning about and proving properties of mission-critical specifications - and (2) there seem to be some Big Data tools already deployed by institutions such as Google and Yale which support global petabyte-size databases on commodity boxes with nice properties such as near-real-time and ACID - and I sometimes worry that the "core devs" might be failing to review the literature (and reach out to fellow programmers) out there to see if there might be some formal program-verification and practical Big Data tools out there which could be applied to coming up with rock-solid, 100% consensus proposals to handle an issue such as blocksize scaling, which seems to have become much more intractable than many people might have expected.
I mean, the protocol solved the hard stuff: the elliptical-curve stuff and the Byzantine General stuff. How the heck can we be falling down on the comparatively "easier" stuff - like scaling the blocksize?
It just seems like defeatism to say "Well, the blockchain is already 20-30 GB and it's gonna be 20-30 TB ten years from now - and we need 10 Mbs bandwidth now and 10,000 Mbs bandwidth 20 years from - assuming the evil Verizon and AT&T actually give us that - so let's just become a settlement platform and give up on buying coffee or banking the unbanked or doing micropayments, and let's push all that stuff into some corporate-controlled vaporware without even a whitepaper yet."
So you've got Peter Todd doing some possibly brilliant theorizing and extrapolating on the idea of "treechains" - there is a Let's Talk Bitcoin podcast from about a year ago where he sketches the rough outlines of this idea out in a very inspiring, high-level way - although the specifics have yet to be hammered out. And we've got Blockstream also doing some hopeful hand-waving about the Lightning Network.
Things like Peter Todd's treechains - which may be similar to the spark in some devs' eyes called Lightning Network - are examples of the kind of algorithm or architecture which might manage to harness the massive computing power of miners and nodes in such a way that certain kinds of massive and graceful scaling become possible.
It just seems like a kindof tiny dev community working on this stuff.
Being a C or Python or Java programmer should not be a pre-req to being able to help contribute to the specification (and formal reasoning and program verification) for Bitcoin and the blockchain.
XML and UML are crap modeling and specification languages, and C and Java and Python are even worse (as specification languages - although as implementation languages, they are of course fine).
But there are serious modeling and specification languages out there, and they could be very helpful at times like this - where what we're dealing with is questions of modeling and specification (ie, "needs and requirements").
One just doesn't often see the practical, hands-on world of open-source github implementation-level programmers and the academic, theoretical world of specification-level programmers meeting very often. I wish there were some way to get these two worlds to collaborate on Bitcoin.
Maybe a good first step to reach out to the theoretical people would be to provide a modular executable algebraic specification of the Bitcoin protocol in a recognized, military/NASA-grade specification language such as Maude - because that's something the theoretical community can actually wrap their heads around, whereas it's very hard to get them to pay attention to something written only as a C / Python / Java implementation (without an accompanying specification in a formal language).
They can't check whether the program does what it's supposed to do - if you don't provide a formal mathematical definition of what the program is supposed to do.
Specification : Implementation :: Theorem : Proof
You have to remember: the theoretical community is very aware of the Curry-Howard isomorphism. Just like it would be hard to get a mathematician's attention by merely showing them a proof without telling also telling them what theorem the proof is proving - by the same token, it's hard to get the attention of a theoretical computer scientist by merely showing them an implementation without showing them the specification that it implements.
Bitcoin is currently confronted with a mathematical or "computer science" problem: how to secure the network while getting high enough transactional throughput, while staying within the limited RAM, bandwidth and hard drive space limitations of current and future infrastructure.
The problem only becomes a political and economic problem if we give up on trying to solve it as a mathematical and "theoretical computer science" problem.
There should be a plethora of whitepapers out now proposing algorithmic solutions to these scaling issues. Remember, all we have to do is apply the Byzantine General consensus-reaching procedure to a worldwide database which shuffles 2.1 quadrillion tokens among a few billion addresses. The 21 company has emphatically pointed out that racing to compute a hash to add a block is an "embarrassingly parallel" problem - very easy to decompose among cheap, fault-prone, commodity boxes, and recompose into an overall solution - along the lines of Google's highly successful MapReduce.
I guess what I'm really saying is (and I don't mean to be rude here), is that C and Python and Java programmers might not be the best qualified people to develop and formally prove the correctness of (note I do not say: "test", I say "formally prove the correctness of") these kinds of algorithms.
I really believe in the importance of getting the algorithms and architectures right - look at Google Search itself, it uses some pretty brilliant algorithms and architectures (eg, MapReduce, Paxos) which enable it to achieve amazing performance - on pretty crappy commodity hardware. And look at BitTorrent, which is truly p2p, where more demand leads to more supply.
So, in this vein, I will close this lengthy rant with an oddly specific link - which may or may not be able to make some interesting contributions to finding suitable algorithms, architectures and data structures which might help Bitcoin scale massively. I have no idea if this link could be helpful - but given the near-total lack of people from the Haskell and ML and functional worlds in these Bitcoin specification debates, I thought I'd be remiss if I didn't throw this out - just in case there might be something here which could help us channel the massive computing power of the Bitcoin network in such a way as to enable us simply sidestep this kind of desperate debate where both sides seem right because the other side seems wrong.
https://personal.cis.strath.ac.uk/neil.ghani/papers/ghani-calco07
The above paper is about "higher dimensional trees". It uses a bit of category theory (not a whole lot) and a bit of Haskell (again not a lot - just a simple data structure called a Rose tree, which has a wikipedia page) to develop a very expressive and efficient data structure which generalizes from lists to trees to higher dimensions.
I have no idea if this kind of data structure could be applicable to the current scaling mess we apparently are getting bogged down in - I don't have the game-theory skills to figure it out.
I just thought that since the blockchain is like a list, and since there are some tree-like structures which have been grafted on for efficiency (eg Merkle trees) and since many of the futuristic scaling proposals seem to also involve generalizing from list-like structures (eg, the blockchain) to tree-like structures (eg, side-chains and tree-chains)... well, who knows, there might be some nugget of algorithmic or architectural or data-structure inspiration there.
So... TL;DR:
(1) I'm freaked out that this blocksize debate has splintered the community so badly and dragged on so long, with no resolution in sight, and both sides seeming so right (because the other side seems so wrong).
(2) I think Bitcoin could gain immensely by using high-level formal, algebraic and co-algebraic program specification and verification languages (such as Maude including Maude-NPA, Mobile Maude parameterized skeletons, etc.) to specify (and possibly also, to some degree, verify) what Bitcoin does - before translating to low-level implementation languages such as C and Python and Java saying how Bitcoin does it. This would help to communicate and reason about programs with much more mathematical certitude - and possibly obviate the need for many political and economic tradeoffs which currently seem dismally inevitable - and possibly widen the collaboration on this project.
(3) I wonder if there are some Big Data approaches out there (eg, along the lines of Google's MapReduce and BigTable, or Yale's CalvinDB), which could be implemented to allow Bitcoin to scale massively and painlessly - and to satisfy all stakeholders, ranging from millionaires to micropayments, coffee drinkers to the great "unbanked".
submitted by BeYourOwnBank to Bitcoin [link] [comments]

[uncensored-r/Bitcoin] Day 8: I will post this guide regularly until available solutions like SegWit, order batching, an...

The following post by Bastiat is being replicated because some comments within the post(but not the post itself) have been silently removed.
The original post can be found(in censored form) at this link:
np.reddit.com/ Bitcoin/comments/7q44av
The original post's content was as follows:
BACKGROUND
Segregated Witness (SegWit) was activated on the Bitcoin network August 24 2017 as a soft fork that is backward compatible with previous bitcoin transactions (Understanding Segregated Witness). Since that time wallets and exchanges have been slow to deploy SegWit, and the majority of users have not made the switch themselves.
On Dec 18 2017 Subhan Nadeem has pointed out that: If every transaction in the Bitcoin network was a SegWit transaction today, blocks would contain up to 8,000 transactions, and the 138,000 unconfirmed transaction backlog would disappear instantly. Transaction fees would be almost non-existent once again.
Mass SegWit use alone could empty the mempool, result in blocks that are not completely full, and make it possible to include transactions with $0 fee once again.
On Jan 11 2018 when BTC sends went offline at Coinbase the mempool began to rapidly empty. Later in the day when service was restored there was a sharp spike up in the mempool. Subsequently, that afternoon Brian Armstrong finally had to break his silence on the topic and admitted Coinbase is working on SegWit but has still not deployed it. It appears that the high fees bitcoin is experiencing could be easily addressed and need not exist.
SegWit is just one technique available to exchanges and users to reduce pressure on the Bitcoin network. You can make the switch to SegWit on your next transaction, and pressure exchanges to deploy SegWit NOW along with other actions that will reduce their transaction impact on the network. You can help by taking one or more of the action steps below.
ACTION STEPS
  1. If your favorite wallet has not yet implemented SegWit, kindly ask them to do so immediately. If your wallet is not committed to implementing SegWit fast, speak out online any way you can and turn up the pressure. In the meantime start using a wallet that has already implemented SegWit.
  2. If your favorite exchange has not yet implemented SegWit, try to avoid making any further purchases of bitcoin at that exchange and politely inform them that if they do not enable SegWit within 30-days they will lose your business. Sign-up for an account at a SegWit deployed/ready exchange now and initiate the verification process so you'll be ready to bail
  3. Help educate newcomers to bitcoin about the transaction issue, steer them towards SegWit wallets from day one, and encourage them to avoid ever purchasing bitcoin through non-SegWit ready exchanges that are harming bitcoin.
  4. Spread the word! Contact individuals, websites, etc that use bitcoin, explain the benefits of SegWit to everyone, and request they make the switch. Use social media to point out the benefits of SegWit adoption.
IMPORTANT NOTE: The mempool is currently still quite backlogged. If you are a long-term holder and really have no reason to move your bitcoins at this time, wait until the mempool starts to clear and transaction fees go down before moving your bitcoins to a SegWit address or SegWit friendly exchange.
BEYOND SEGWIT - BATCHING, PAYMENT CHANNELS, LIGHTNING
Batching is another great way that exchanges can reduce their fees. See: Saving up to 80% on Bitcoin transaction fees by batching payments. Despite the benefits of batching, some exchanges have been slow to implement it. Users should demand this or walk.
Beyond SegWit & Batching, Lightning Network integration will have even more effect. Lightning is now active and exchanges could setup payment channels between each other so that on-chain transactions need not take place. Some ideas have to outline how that might work are here: Google Doc - Lightning Exchanges. Which two bitcoin exchanges will be the first to establish a lightning channel between themselves and offer free/instant transfers between them for their customers? This will happen in 2018
MEMPOOL/SEGWIT STATISTICS
NEWS/DEVELOPMENTS/VICTORIES
SELECTED TOP EXCHANGES BY BATCHING & SEGWIT STATUS
Exchange Segwit Status Batching Status
Binance NOT READY Yes
Bitfinex Ready Yes
Bitonic Ready Yes
Bitstamp Deployed Yes
Bittrex ? Yes
Coinbase/GDAX NOT READY No
Gemini Ready No
HitBTC Deployed Yes
Huboi ? ?
Kraken Deployed Yes
LocalBitcoins Deployed Yes
OKEx ? ?
Poloniex ? Yes
QuadrigaCX Deployed Yes
Shapeshift Deployed No
Note: all exchanges that have deployed SegWit are currently only sending to p2sh SegWit addresses for now. No exchange will send to a bech32 address like the ones that Electrum generates
Source 1: BitcoinCore.org
Source 2: /Bitcoin
Official statements from exchanges:
SELECTED WALLETS THAT HAVE SEGWIT ALREADY
Make sure you have a SegWit capable wallet installed and ready to use for your next bitcoin transaction
SegWit Enabled Wallets Wallet Type
Ledger Nano S Hardware
Trezor Hardware
Electrum Desktop
Armory Desktop
Edge iOS
GreenAddress iOS
BitWallet iOS
Samourai Android
GreenBits Android
Electrum Android
SegWitAddress.org Paper
FAQs
If I'm a HODLer, will it help to send my BTC to a SegWit address now?
No, just get ready now so that your NEXT transaction will be to a SegWit wallet. Avoid burdening the network with any unnecessary transactions for now.
Why is SegWit adoption going so slowly? Is it a time-consuming process, is there risk involved, is it laziness, or something else?
SegWit will require some extra work to be done right and securely. Also, most exchanges let the user pay the fee, and up to now users have not been overly concerned about fees so for some exchanges it hasn't been a priority.
Once Segwit is FULLY adopted, what do we see the fees/transaction times going to?
Times stay the same - fees will go down. How much and for how long depends on what the demand for transactions will be at that time.
What determines bitcoin transaction fees, to begin with?
Fees are charged per byte of data and are bid up by users. Miners will typically include t...
submitted by censorship_notifier to noncensored_bitcoin [link] [comments]

[uncensored-r/Bitcoin] I'm attempting to return stolen bitcoin and warning soon to be victims

The following post by MrBeanCoin is being replicated because the post has been silently removed.
The original post can be found(in censored form) at this link:
np.reddit.com/ Bitcoin/comments/7lnsdx
The original post's content was as follows:
Hello!
My name is MrBeanCoin (Not a obvious throw away! Of course not!). I'm my professional life I am a Malware Analyst, Pen Tester, and Engineer. However when im not working my eyes have been glued to the BTC charts, kicking myself for spending my BTC back when times were rough. But enough about me, lets get to the point.
 
Since the rise in price and popularity of Crypto's, Malware Authors have been leaving Ransomware, Botnets, and Spam in droves to create very simple Bitcoin and Altcoin stealing Malware, in a attempt to make the most money quicker, and separate good people like yourself from your coins. Miners have also reached unbelievable heights (Surpassing even when BTC first came out), and they make sure not to use safe settings, and a lot have been causing hardware damage. The spike has been so large that this week, the GTX 1080 i have in my Cuckoo Server (Automated Malware Analysis Platform) burned out from the constant throttling up and down.
 
So obviously, with my job, i have been having to deal with these fuckers and their shitty coded applications a lot. Some go as far as ripping your wallets from your machine and uploading them to a C2 server, but the absolute most common way people are losing bitcoins by the THOUSANDS is by the most simplest application i have ever seen. It simply lays low on the machine, and when it detects a BTC Address on the clipboard, it replaces the address you copied, with the Malware Authors. I know, right? At first i thought it would never be effective. However, so many newcomers are coming on the scene, it is paying off big. Nearly every wallet i have seen had at least 1 Million USD in it or more..... From a damn copy and paste switch. The worst part is, most people's security protection will not help them here, because the application does not look Malicious! All it is, is 3 lines of code changing the clipboard. Whats wrong with that? Well in this case, everything is. Please Please be on the look out for these. They make me so angry.. Other common ones are applications that try to pass as a update to , Bitcoin Duplicators (Ya...), Bitcoin Accelerators (I get this one, Noobs aren't getting why the TX's are fucking around), Fake Miners (If no one has heard of it, DONT USE IT), and Fake Wallets. I can go into these later if people are interested.
 
Anyways, I was looking at a sample today, and noticed this was one of the braver ones that scoop up the whole Wallet.Dat (Or similar) file, and kick it off to their servers. It does this for nearly 25 popular clients, even one called Armory which i thought was ironic.
 
This sample is hitting people through fake ad's to update their miners when visiting Crypto Sites, and more commonly, through email they are somehow getting for many exchange users. The emails claim either that they found your wallet publicly online! And that you should verify right away that it is actually yours. Its conveniently named "Wallet.dat .exe" with the spaces allowing the exe to hide in some email clients. When downloading and running, of course, you are infected. Other emails include free books on Crypto Currency that have a surprise for you inside! And Insider Information that you could use on a up coming pump and dump!
 
I loaded it into a IDA on a VM, and noticed that it wasn't sending the wallets to a domain, but rather a IP, and not only that, but what looked like a residential ISP IP. I allowed it to send up my fake wallets so i could get the scheme of the HTTP POST, and then started investigating the server. The guy receives loads of wallets a day, but he also runs a small botnet, proxy server, and password unhashing service on the same server. What was weird is i didn't see any templates, control panels, or mail for a web hosting company, which i normally see right away. I was starting to think this guy was actually dumb enough to use some server sitting at his house for this shit.
 
On further investigation of the client code talking to the server, i noticed he had a exploitable vulnerability in the way he uploaded files to the server. This allowed me to send up a payload with my wallet that later became my backdoor and reverse shell into his server. He was running a older kernel, so i was able to also exploit my way to root, and at this point i had full control over the server.
 
After further investigation, it was clear that indeed he IS running this out of his house. I somehow got lucky and out of 350 proxy servers, i managed to hop on his main node. Which he is a idiot anyways for accepting connections from anything but his proxies on this machine, or even using a home machine! Don't worry, i will be handing the needed information over to the feds for this little prick.
 
Now to my main point. It's obvious i must stay anonymous in this whole ordeal because, even though this dude is a POS, some people still might not be okay with what i did. And i also would like to keep my job haha. But seeing as i had full access, and this guy was dealing with BTC, this was a first for me. Most take overs i have done before, never had the actual wallets on the server. I really want to warn the victims he has FRESH wallets for ( IT COULD BE YOU! ), and also attempt to recover some BTC in the criminals wallets back to some, most likely worried sick, people.
 
I'm posting this today not only for the hope that if someone did notice Malware stole their coins, they can contact me and see if we can verify it was him, BUT ALSO in hopes that maybe any of you here would have any ideas on how i could go about finding these people, and then verifying its actually their BTC? I really can't think of any sure fire way accepting hoping people contact me and can match up the exact Transaction ID, Date, and Amount that was stolen from them. Please let me know your ideas.
 
I also want to finish this with a small list of FRESH VICTIMS that will most likely be getting hit very soon if they do not make a different wallet ASAP. I have hindered his processing further, but this doesn't help for already uploaded wallets. If these machine names match yours, PLEASE MAKE A NEW WALLET RIGHT AWAY: (Format is _.dat )
   
  • BitcoinQT_PC-4A095E27CB
  • BitcoinQT_KRK8HCPUDQP-PC
  • BitcoinQT_DESKTOP-MD6CE0T
  • BitcoinQT_EEW8HH-PC
  • BitcoinQT_JCNHJN8XRO0-PC
  • BitcoinQT_L1MKEWAMYWOT-PC
  • BitcoinQT_QBEY678-PC
  • BitcoinQT_DESKTOP-AJMCAK1
  • BitcoinQT_I3HOM1VJGV2Y-PC
  • BitcoinQT_DESKTOP-GKAN490
  • BitcoinQT_SMQYPJPO-PC
   
This is just a small list i could make tonight, i will hopefully be able to recover more and get more people switched to new wallets.
Thank you for your time.
submitted by censorship_notifier to noncensored_bitcoin [link] [comments]

12-23 11:03 - 'I'm attempting to return stolen bitcoin and warning soon to be victims' (self.Bitcoin) by /u/MrBeanCoin removed from /r/Bitcoin within 89-99min

'''
Hello!
My name is MrBeanCoin (Not a obvious throw away! Of course not!). I'm my professional life I am a Malware Analyst, Pen Tester, and Engineer. However when im not working my eyes have been glued to the BTC charts, kicking myself for spending my BTC back when times were rough. But enough about me, lets get to the point.
 
Since the rise in price and popularity of Crypto's, Malware Authors have been leaving Ransomware, Botnets, and Spam in droves to create very simple Bitcoin and Altcoin stealing Malware, in a attempt to make the most money quicker, and separate good people like yourself from your coins. Miners have also reached unbelievable heights (Surpassing even when BTC first came out), and they make sure not to use safe settings, and a lot have been causing hardware damage. The spike has been so large that this week, the GTX 1080 i have in my Cuckoo Server (Automated Malware Analysis Platform) burned out from the constant throttling up and down.
 
So obviously, with my job, i have been having to deal with these fuckers and their shitty coded applications a lot. Some go as far as ripping your wallets from your machine and uploading them to a C2 server, but the absolute most common way people are losing bitcoins by the THOUSANDS is by the most simplest application i have ever seen. It simply lays low on the machine, and when it detects a BTC Address on the clipboard, it replaces the address you copied, with the Malware Authors. I know, right? At first i thought it would never be effective. However, so many newcomers are coming on the scene, it is paying off big. Nearly every wallet i have seen had at least 1 Million USD in it or more..... From a damn copy and paste switch. The worst part is, most people's security protection will not help them here, because the application does not look Malicious! All it is, is 3 lines of code changing the clipboard. Whats wrong with that? Well in this case, everything is. Please Please be on the look out for these. They make me so angry.. Other common ones are applications that try to pass as a update to , Bitcoin Duplicators (Ya...), Bitcoin Accelerators (I get this one, Noobs aren't getting why the TX's are fucking around), Fake Miners (If no one has heard of it, DONT USE IT), and Fake Wallets. I can go into these later if people are interested.
 
Anyways, I was looking at a sample today, and noticed this was one of the braver ones that scoop up the whole Wallet.Dat (Or similar) file, and kick it off to their servers. It does this for nearly 25 popular clients, even one called Armory which i thought was ironic.
 
This sample is hitting people through fake ad's to update their miners when visiting Crypto Sites, and more commonly, through email they are somehow getting for many exchange users. The emails claim either that they found your wallet publicly online! And that you should verify right away that it is actually yours. Its conveniently named "Wallet.dat .exe" with the spaces allowing the exe to hide in some email clients. When downloading and running, of course, you are infected. Other emails include free books on Crypto Currency that have a surprise for you inside! And Insider Information that you could use on a up coming pump and dump!
 
I loaded it into a IDA on a VM, and noticed that it wasn't sending the wallets to a domain, but rather a IP, and not only that, but what looked like a residential ISP IP. I allowed it to send up my fake wallets so i could get the scheme of the HTTP POST, and then started investigating the server. The guy receives loads of wallets a day, but he also runs a small botnet, proxy server, and password unhashing service on the same server. What was weird is i didn't see any templates, control panels, or mail for a web hosting company, which i normally see right away. I was starting to think this guy was actually dumb enough to use some server sitting at his house for this shit.
 
On further investigation of the client code talking to the server, i noticed he had a exploitable vulnerability in the way he uploaded files to the server. This allowed me to send up a payload with my wallet that later became my backdoor and reverse shell into his server. He was running a older kernel, so i was able to also exploit my way to root, and at this point i had full control over the server.
 
After further investigation, it was clear that indeed he IS running this out of his house. I somehow got lucky and out of 350 proxy servers, i managed to hop on his main node. Which he is a idiot anyways for accepting connections from anything but his proxies on this machine, or even using a home machine! Don't worry, i will be handing the needed information over to the feds for this little prick.
 
Now to my main point. It's obvious i must stay anonymous in this whole ordeal because, even though this dude is a POS, some people still might not be okay with what i did. And i also would like to keep my job haha. But seeing as i had full access, and this guy was dealing with BTC, this was a first for me. Most take overs i have done before, never had the actual wallets on the server. I really want to warn the victims he has FRESH wallets for ( IT COULD BE YOU! ), and also attempt to recover some BTC in the criminals wallets back to some, most likely worried sick, people.
 
I'm posting this today not only for the hope that if someone did notice Malware stole their coins, they can contact me and see if we can verify it was him, BUT ALSO in hopes that maybe any of you here would have any ideas on how i could go about finding these people, and then verifying its actually their BTC? I really can't think of any sure fire way accepting hoping people contact me and can match up the exact Transaction ID, Date, and Amount that was stolen from them. Please let me know your ideas.
 
I also want to finish this with a small list of FRESH VICTIMS that will most likely be getting hit very soon if they do not make a different wallet ASAP. I have hindered his processing further, but this doesn't help for already uploaded wallets. If these machine names match yours, PLEASE MAKE A NEW WALLET RIGHT AWAY: (Format is _.dat )
   
  • BitcoinQT_PC-4A095E27CB
  • BitcoinQT_KRK8HCPUDQP-PC
  • BitcoinQT_DESKTOP-MD6CE0T
  • BitcoinQT_EEW8HH-PC
  • BitcoinQT_JCNHJN8XRO0-PC
  • BitcoinQT_L1MKEWAMYWOT-PC
  • BitcoinQT_QBEY678-PC
  • BitcoinQT_DESKTOP-AJMCAK1
  • BitcoinQT_I3HOM1VJGV2Y-PC
  • BitcoinQT_DESKTOP-GKAN490
  • BitcoinQT_SMQYPJPO-PC
   
This is just a small list i could make tonight, i will hopefully be able to recover more and get more people switched to new wallets.
Thank you for your time.
'''
I'm attempting to return stolen bitcoin and warning soon to be victims
Go1dfish undelete link
unreddit undelete link
Author: MrBeanCoin
submitted by removalbot to removalbot [link] [comments]

Best Free Bitcoin mining  earn up to 0.025 BTC every day ... Offline Wallet Bitcoin Miner software Free Download🤑With Payment Proof ... How to Download and Verify the Armory Bitcoin Wallet Bitcoin Armory Setup - YouTube

Bitcoin Armory. Python-based fully-featured Bitcoin Wallet Software. Releases; Documentation. Building From Source; Verify Binaries; Pathing; FAQ; Contribute. Armory To-Do list; Website To-Do list ; Contact Us; About; Armory 0.96.5 Released. This release is a minor release introducing many bug fixes and some new features. Full changelog Added. You can now set the database path from the ... Recently I decided to migrate my bitcoin from Armory wallet cold storage to the BIP39 and related standards. I hadn't switched on the offline PC in a long time, and neither had I updated the blockchain on the online PC. Thus, I started considering my recovery options should something have broken or gone missing. Below are some of the ways I found to recover and move bitcoin in such failure ... The Bitcoin.com mining pool has the lowest share reject rate (0.15%) we've ever seen. Other pools have over 0.30% rejected shares. Furthermore, the Bitcoin.com pool has a super responsive and reliable support team. Bitcoin Mining ist das neue Goldschürfen: Als Miner, also Schürfer, verdienen Sie virtuelles Geld dafür, dass Sie Ihre Rechnerleistung zur Verfügung stellen. Allerdings ist hierfür so einiges ... The Armory developers (goatpig, droark, and achow101) support Segregated Witness as is in its current form, and also support Bitcoin Core. The Armory developers also oppose hard forks that may attack the original chain. Should a long-lasting hard fork that does not attack the original chain exist, we would consider implementing functionality required to allow Armory users to transact on that ...

[index] [4858] [46232] [46865] [20472] [23086] [14194] [3088] [14264] [47338] [20024]

Best Free Bitcoin mining earn up to 0.025 BTC every day ...

Share your videos with friends, family, and the world Why can't your body handle a punch to the liver? - Human Anatomy Kenhub - Duration: 6:10. Kenhub - Learn Human Anatomy Recommended for you But the Bitcoin plan calls for the creation of only 21 million bitcoins. In this way, Bitcoin will try to avoid the pitfalls of modern fiat currencies such as inflation, deflation, market ... [Release] [ESX] Esx_BitCoin [EN] [PT] https://forum.fivem.net/t/release-esx-esx-bitcoin-en-pt/601599 If you need FiveM Gameserver with one click installation... New Free Bitcoin Mining Site 2019 SignUp Bonus 0.001 BTC Earn Daily 100$ Live Payment Proof Website Joining Link: https://luxmine.biz/?ref=hasnainkhanallin...

#