I have some bitcoin on an exchange, and I wanted to try out a wallet. I plan on getting a hardware wallet, but before doing so, just wanted to try out a wallet on my phone. After looking around a bit, I decided to use the Mycelium wallet. submitted by
I transferred about $300 USD in BTC to my wallet. That went fine. Then I decided to try to send money to somebody. So, I installed Mycelium on my wife's iphone and sent her $40. My app indicated the transaction cost would be only 0.46 USD.
She received approximately $25.00. The transaction details show 0.00004927 BTC, at a rate of 25sat/byte.
How is it possible that I am missing nearly half the money I sent to her? Surely that can't be workable system for using bitcoin as a medium of exchange. Am I doing something wrong, or should I be using a different wallet?
I've tried a couple more smaller transactions, and I'm seeing similar ratios on terms of the amount sent / the amount received.
Whenever i install a mobile wallet on some of my friends or families phone i try to only install open source software that definitely has you in charge of your private keys! There are some key things that every bitcoin wallet should provide, like segwit support for example. submitted by
So far my knowledge is this:
- Samourai (Android only / Still in Alpha / wont let you use BitPay / Full Segwit support / Open source / Experimental privacy features)
- GreenAddress (Not the most modern Interface / Privacy concerns with email/sms login? but ok / Segwit support (fully supported? not sure?) / Open source / iOS & Android supported )
- Blue Wallet (iOS only / Still early development / Full Segwit support / Open Source )
- Edge (Only client side open source / focus not only bitcoin / actually not sure if the fully support segwit) <- actually im quite skeptical about this wallet for some reason maybe someone knows more about it
all the other apps like CoPay, Mycelium, Electrum, Jaxx, Enjin either dont support segwit fully or are not fully open source.
what am i missing? are these the only few options if you want full segwit support, open source bitcoin wallets? its ok if the wallet i am looking for is only supporter on either iOS or Android but it seems there are still few options that live up to high standarts.
Id like to hear your alternatives or your thoughts for this topic since i think its a very critical thing for user adoption not to have scammy wallets full of advertising with no security or privacy standards.
I mainly use Samourai myself but its not a officially stable wallets by the developers even but i support them so this is why i use it. But you can't recommend it to someone new or as a standard kind of soloution.
For iOS my experience is very limited since i never owned an iPhone but its a huge market and i used to recommend Copay but i think its not a very good option.. for the moment i would go for GreenAddress or BlueWallet.
Let me know what ou think please
My first computer was an Apple IIe, on which I learned to program in BASIC, and played text games like Zork. submitted by
I have been an Apple loyalist ever since, though some of the products sucked. Apple was the outsider, the dark horse, the creative, playful, anti-establishment computer. Remember the first Macintosh? The 1984 commercial?? iTune? The advent of the iPhone?
Now, Apple is the establishment, Steve Jobs is dead, and I'm done buying Apple products. As of yesterday, I'm using a Samsung Galaxy 4 mini and loving the universe of bitcoin-related apps.
Anyone else switch over recently? Tips? What are the best bitcoin apps?
using an iphone6 - transfered btc to my mycelium wallet (no problems) - multi confirmations - now I try to send them (also tried to send entire amount) nothing happens when I press send. submitted by
What am I doing wrong?
Edit - I've tried sending less, and sending full wallet amount. Everything seems fine but nothing happens when I press the send button. Just nothing.
Edit It appears the app is no longer in the app store. Sad Panda.
That was me. Thanks Reddit, for all the upvotes and interest! I now have two regulars. submitted by
I remain the first and (I'm pretty sure) only means of transportation in SF that can be had for bitcoin (if I'm wrong, I'd be happy to be corrected).
If anyone else is interested, please PM me. Typical working hours are Saturday through Wednesday, 6AM - 4PM. Airport or out of town trips can be arranged outside of these hours.
I bought an iphone 8 plus. I even used Bitcoin to pay for it. The app store had a mycelium wallet so all I needed was the 12 word recovery key I wrote down. submitted by
I put the 12 words in and all I got was a mis-match error. Am I right in thinking the version for ios is basically not capable of restoring my wallet?
What is a Cryptocurrency Wallet? submitted by
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?
- Desktop: wallets are downloaded and installed on a PC or laptop. They are only accessible from the single computer in which they are downloaded. Desktop wallets offer one of the highest levels of security however if your computer is hacked or gets a virus there is the possibility that you may lose all your funds.
- Online: wallets run on the cloud and are accessible from any computing device in any location. While they are more convenient to access, online wallets store your private keys online and are controlled by a third party which makes them more vulnerable to hacking attacks and theft.
- Mobile: wallets run on an app on your phone and are useful because they can be used anywhere including retail stores. Mobile wallets are usually much smaller and simpler than desktop wallets because of the limited space available on a mobile.
- Hardware: wallets differ from software wallets in that they store a user’s private keys on a hardware device like a USB. Although hardware wallets make transactions online, they are stored offline which delivers increased security. Hardware wallets can be compatible with several web interfaces and can support different currencies; it just depends on which one you decide to use. What’s more, making a transaction is easy. Users simply plug in their device to any internet-enabled computer or device, enter a pin, send currency and confirm. Hardware wallets make it possible to easily transact while also keeping your money offline and away from danger.
- Paper: wallets are easy to use and provide a very high level of security. While the term paper wallet can simply refer to a physical copy or printout of your public and private keys, it can also refer to a piece of software that is used to securely generate a pair of keys which are then printed. Using a paper wallet is relatively straightforward. Transferring Bitcoin or any other currency to your paper wallet is accomplished by the transfer of funds from your software wallet to the public address shown on your paper wallet. Alternatively, if you want to withdraw or spend currency, all you need to do is transfer funds from your paper wallet to your software wallet. This process, often referred to as ‘sweeping,’ can either be done manually by entering your private keys or by scanning the QR code on the paper wallet.
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!
- Backup your wallet. Store only small amounts of currency for everyday use online, on your computer or mobile, keeping the vast majority of your funds in a high security environment. Cold or offline storage options for backup like Ledger Nano or paper or USB will protect you against computer failures and allow you to recover your wallet should it be lost or stolen. It will not, however, protect you against eager hackers. The reality is, if you choose to use an online wallet there are inherent risks that can’t always be protected against.
- Update software. Keep your software up to date so that you have the latest security enhancements available. You should regularly update not only your wallet software but also the software on your computer or mobile.
- Add extra security layers. The more layers of security, the better. Setting long and complex passwords and ensuring any withdrawal of funds requires a password is a start. Use wallets that have a good reputation and provide extra security layers like two-factor authentication and additional pin code requirements every time a wallet application gets opened. You may also want to consider a wallet that offers multisig transactions like Armory or Copay. A multisig or multi-signature wallet requires the permission of another user or users before a transaction can be made.
Multi-currency or single use?
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
- Do you need a wallet for everyday purchases or just buying and holding digital currency for an investment?
- Do you plan to use several currencies or one single currency?
- Do you require access to your digital wallet from anywhere or only from home?
- Take some time to assess your requirements and then choose the most suitable wallet for you.
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.
- Pros: Good privacy & security, beginner friendly, simple & clean, open source software, free.
- Cons: No web or desktop interface, lacks features, hot wallet.
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.
- Pros: Good privacy, advanced security, feature-rich, open source software, free
- Cons: No web or desktop interface, hot wallet, not for beginners
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.
- Pros: Good privacy & security, beginner friendly, intuitive, easy to use, in-wallet trading, supports multiple currencies, open source software, free.
- Cons: Hot wallet, no web interface or mobile app
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.
- Pros: Good privacy & security, multisig transactions, multiple platforms & devices, multiple wallet storage, beginner friendly, open source software, free
- Cons: Can be slow & unresponsive, limited user support
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.
- Pros: Good privacy & security, Multi-currency, wallet linking across multiple platforms, great user support, feature rich, user-friendly, free.
- Cons: Code is not open source, can be slow to load
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.
- Pros: Good privacy, great security features, multi-signature options, solid cold storage options, free.
- Cons: Only accessible via the desktop client, not for beginners.
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.
- Pros: Good security & privacy, cold storage, easy to use a web interface, in-built screen, open source software, beginner friendly.
- Cons: Costs $99, must have device to send bitcoins
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.
- Screen/device protected by metal swivel cover
- Multi-Currency support
- 3rd-Party apps can run from device
- U2F support
- When recovering wallet from seed, the whole process can be done from the device without even connecting it to a computer!
- Fairly inexpensive (~$65 USD)
Green Address Green Address
- Not as advanced wallet software (no transaction labeling)
- No ability to create hidden accounts
- No password manager
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
- Pros: Solid security, multi-platform & device, multi-sig, beginner-friendly, open source software, free.
- Cons: Hot wallet, average privacy, the third party must approve payments.
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.
- Pros: Good security, easy to use web & mobile interface, well-known & trusted company, beginner friendly, free.
- Cons: Hot wallet, weak privacy, third party trust required, has experienced outages.
So I have purchased bitcoin from coinbase. I have also have a new Keepkey sitting on my desk unopened as I'm trying to decide if I should keep it or not. submitted by
After being sold on buying a Keepkey I read up on the wallet at blockchain.
I also see that coinbase has a wallet I can store them in, but I would like to be in control of my own bitcoin.
So if I understand correctly if I want to be in control of my own bitcoin I don't want to store them with coinbase as that is like having the bank hold them for you.
I know there are a lot of different wallets, but just looking at blockchain vs keepkey it seems that either one puts me in control of my bitcoin, is that correct?
One big difference between blockchain and keepkey would be that keepkey let's more store my bitcoin offline compared to having my bitcoin stored online with blockchain, correct?
A big concern I have with any wallet type is what if they are not around years from now. What if I store all my bitcoins in keepkey then put it away only to get it back out 5 years later and find out keepkey is no longer in business and I can't get my keepkey to work for what ever reason. Are my bitcoins just gone at that point?
Same with any online wallet like blockchain for example? What if I store all my bitcoin in the blockchain wallet and forget about them for a few years. Then years later I find out blockchain wallet is no longer around, what happens to my bitcoins then?
A friend of mine suddenly decided she wanted in on bitcoin so we tried loading the mycelium wallet and tried it out. I works but is missing some of the functionality that you get on an Android version of mycelium. submitted by
Any other wallet suggestions out there are welcome?
I was excited to use Bitcoin for my first time at a physical store, only to be embarrassed and in the end I paid for my dinner 4 times. (i've used bitcoin online with no problems many times). submitted by
Here is what happened:
1) A food truck advertises they accept Bitcoin 2) I said i'd like to pay with Bitcoin 3) He pulls out his iphone and mentions he hasn't had someone pay with Bitcoin for a while. 4) He tries to find his bitcoin wallet app - I have no idea which wallet he used as I didn't really recognize the symbol (it took him a bit of fumbling before he found it) 5) A bit more fumbling to setup the payment request 6) he figured it out and typed in the price to request: $9 7) The QR code was generated 8) I pressed the QR code symbol on my coinbase wallet and it momentarily froze/glitched my phone but 2nd time worked. I paid with my coinbase wallet by scanning the QR code - it did some weird vibration thing on my phone with absolutely no confirmation that I sent a payment - nothing happened on my wallet or his wallet visually. In the spur of the moment and with a line up behind me I scanned it again..still nothing. He said to try again, so I did and again nothing. 9) He gave me the slip that says I paid and said to get my food cause he has to help the other people behind me now 10) I press return/back on my coinbase wallet while waiting at the side and see that there are 3 pending send payments to him of $9 on my phone and says pending even 1 hr after. For some reason each transation had a decline button but when pressing it a message pops up saying it failed due to not being a request. 11) I get my food but I am now akwardly waiting at the side staring at my phone and the three pending send transactions. After he helped everyone in the line I went up to him and he said he still got nothing and went to look into the transaction history and shows the last transaction someone made with him was June 12th. During this conversation he says he's no bitcoin expert and that he lost money by accepting bitcoin because he never cashed them when they were worth "double" in 2013. 11) ended up paying with my mastercard :/ 12) I logged into my coinbase account on my laptop maybe 2 hours later and see all payments have been sent to him with 8 confirmations (no longer pending)
This experience ticked me off and when I got the food I had to tell my mom, brother and his fiance that it didn't work and that I may have paid him 4 different times (now confirmed after looking at my coinbase accnt)
EDIT: Thanks everyone!, yeah i can't f igure out if it was coinbase or his wallet that caused the problem (or maybe both?). I never had problem with coinbase hot wallet for spending online before. (maybe that was because they were using coinbase as the processor online). I'll try my mycelium wallet next time. I guess we can say my first experiment went bad ;) But hoping the next one will be better after learning some things myself from this experience (like NEVER scan a QR code more than once even if you dont think it worked and ill try myecelium next time).
P.S: This post isn't meant to hound bitcoin - I love bitcoin with a passion. Just wanted to post my first experience using bitcoin at a physical store and how I felt about it. I def learned a few things on my side.
Hey there, i own an iphone, and want to use a peer-to-peer exchange to buy bitcoins with cash. submitted by
I've recently learned about the 'Mycelium Local Trader' app, but it seems to be only available on
the Google Play Store. So my next question would be: how to most cheaply run the app without
switching from the apple ecosystem to the android ecosystem?
Why do both sides of the debate seem “right” to me? submitted by
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:
- wealthy individuals trying to preserve and transport their wealth across space and across time
- iPhone and Android users who want to buy a latte on their smartphone at Starbucks
- Venezuelans and Argentinians and Cypriots and Russian oligarchs and Greeks and anyone else whose state-backed currency sucks
- unbanked Africans who will someday be texting around money via SMS messages on their cellphones
- online content providers who will finally be able to get paid via micropayments
- smart contracts and stock brokering and lawyering and land deeding and the refrigerator calling out to order more milk and distributed anonymous corporations (DACs) automatically negotiating and adjusting driverless taxicab fares in the Uber-future of the Internet of Things
...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
assets and liabilities? Or is it more like the "cash flow" part of accounting, i.e. a journal
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
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)
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:
- separating the compact (and easy-to-check) statement of a theorem from the messy (and hard-to-check) details of its proof(s);
- separating the specification of a system from its implementation(s); and
- being able to prove that an implementation does indeed satisfy its specification.
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".
Bitcoin payment processor: everyone can accept BTC payments online privately and securely with initial setup lasting mere minutes. VISIT WEBSITE. CARD. NETWORK. The most ambitious of Mycelium technologies, the Card network replaces heavily infrastructure dependent global payment networks with a light weight smart card & hub system which needs only a basic internet connection. With scale, Card ... Download Mycelium Bitcoin Wallet and enjoy it on your iPhone, iPad, and iPod touch. With the Mycelium Bitcoin Wallet you can send and receive Bitcoins using your mobile phone. — 100% control over your private keys, they never leave your device unless you export them. Mycelium ist die „bekannteste“ Bitcoin-Wallet-App für Android. Sie ist sehr benutzerfreundlich, wenn es um das Erhalten und Senden von Zahlungen geht und das Backup ist recht einfach. Der große Bonus: man kann sich persönlich zum Kauf und Verkauf von Bitcoins treffen. Dafür tritt man einfach über die App in Kontakt und bespricht alle Details. breadwallet. breadwallet, anfangs nur für ... Mycelium - Bitcoin Wallet - Android App 18.104.22.168 Englisch: Mit Mycelium erhalten Sie eine Bitcoin Wallet für Ihr Smartphone. Es gibt natürlich verschiedene Hot-Wallets für iOS, aber eins sticht für uns heraus, nämlich das Mycelium Bitcoin-Wallet. Diese App ist einfach und kann schnell installiert werden. Wenn Sie einen Account mit der App erstellen, kriegen Sie wie bei vielen Wallets zunächst einen Recover-Seed, den Sie sicher aufbewahren sollten. Dieser Recovery-Seed besteht aus 12 Wörtern und sollte von ...
Bitcoins kaufen kannst du beim Bitcoin Automaten in ... Skip navigation Sign in. Search. Loading... Close. This video is unavailable. Watch Queue Queue. ... #mycelium #wallets #bitcoin #criptomonedas #cryptoargento Hola amigos hoy les dejo un video sobre la billetera Mycelium y su instalación y configuración, espero les guste y si es asi compartan y ... Mycelium Cryptocurrency Digital Wallet Sign Up and Getting Started Tutorial For Beginners 2018 - Duration: 5:28. Crypto Currency Enterprises Recommended for you 5:28 ️ ️ ️ https://goo.gl/x4miiu Top 3 Best Bitcoin And Cryptocurrency Wallets To Use If you want to know which Bitcoin or cryptocurrency wallet to use, you landed on the right video! I will ... MYCELIUM BITCOIN WALLET Tutorial de la billetera Mycelium DESCARGAR: https://play.google.com/store/apps/details?id=com.mycelium.wallet&hl=es ...