As we're closing on a beta release for Dogecoin Core 1.10, I wanted to talk about where 1.9 went to, why we haven't had a major release in 11 months, and what we're doing differently in future. This is a long post, but I swear it's worth reading in full. First of all, important security announcement: If you're using brain wallets (this won't be many of you, but want to ensure we catch anyone who is), stop, and move your funds right now. There was a security talk at DEF CON which basically explained how much their security is broken, more detail at https://rya.nc/cracking_cryptocurrency_brainwallets.pdf. For anyone who's unsure, brain wallets are where you pick a set of words and use them to generate a wallet, such as bip32.org (I'm not linking that) lets you do. If you have been given words by a random process (i.e. Multibit HD, Electrum, Trezor, Ledger), these are AFAIK fine, it's just manually chosen words that are a disaster waiting to happen. Next, there's a Bitcoin village, at Chaos Communication Camp next weekend, and while the core developers can't attend (we're doing dull day job things instead), Dogerain's developer will be there, and they're organising a video hangout with the Dogecoin core devs. Not sure if others can attend remotely, but if you're at the camp we'd love to get to talk to you! Right, back to 1.9; Dogecoin Core 1.9 was going to be 1.8 with the Bitcoin Core 0.10 changes merged in. The same process was used to make Dogecoin Core 1.8 from 1.7 with Bitcoin Core 0.9, so we knew what we were doing. With almost 1,300 commits to review and apply it would take a while, but in theory was straight forward enough. A spreadsheet was created to track progress amongst the developers, and in January we set out to start merging. At this point we discovered several things:
Some patches from 0.10 had been merged in early and out of sequence, so we had to avoid merging them twice.
A lot of the changes were less readily compatible with Dogecoin Core than we expected.
1,300 is really a lot of changes
As time dragged on, we gained further assistance (Sporklin, this means you) in preparing merged commits, and I made several attempts at automating much of the process. Around March we started struggling with keeping development motivation up, and pace faltered, with Sporklin taking on much of the charge to keep work continuing. In June, we were about half way, and Bitcoin Core 0.11 hit release candidate, and at that point we realised this wasn't going to work. So, Dogecoin Core 1.10 is a rebuild. We've started with Bitcoin Core 0.11 as a base and then manually re-applied the Dogecoin changes. This makes a lot of sense, in as much as they're a smaller set of changes (and less invasive by design), but does mean that we risk losing subtle tweaks to the code (which is what the beta period is intended to help catch). Most of the changes have been totally rewritten to make them simpler to apply, and better fit in with the hugely revised code base. We also see a significant number of changes in the strings with Dogecoin, so previous improvements to translations cannot necessarily be used as-is, and when we hit beta we'll be looking for help with updating translations. The loss of motivation is something we need to be more aware of as a risk; while the Dogecoin developers are not doing this to try getting rich, that doesn't mean that there's no motivation required. We enjoy the challenge and opportunity to work with interesting technology, and based on that it's important that we ensure the work does have its interesting parts in amongst just getting stuff shipped. Looking ahead to future work:
We'll do a full rebuild once per year, potentially twice, to keep us close to the Bitcoin Core code and ensure compatibility.
In between these rebuilds, we'll merge in changes where feasible.
To avoid Dogecoin and Bitcoin diverging, we'll push new features and fixes into the relevant upstream project where practical. We avoid divergence because it makes it harder to update, and requires custom code to adopt Dogecoin compared to Bitcoin.
Dogecoin Core will be promoted as the reference base for other Scrypt-based altcoins. This happens already, and we get fixes from downstream (i.e. Fractalcoin caught that the fork detection code is too sensitive) as a result.
I know there are those who wish to see Dogecoin split further from Bitcoin, but there's just far too much effort being poured into Bitcoin, and too much available expertise from working with them, to ignore. On a related note, bitcoinj 0.14 now has all of the changes to make it work with the libdohj wrapper library. Patricklodder's been testing libdohj, and so far mostly it seems to work well (there's an issue with the advertised network protocol version that I need to fix, but apart from that so far so good). There's a similar model for python-bitcoinlib and python-altcoinlib, although I need to dust off python-altcoinlib somewhat. There's tons more I could write about HD wallets, user defined consensus or Ledger wallet support, but I think that's quite enough for today. There will be an interim update for Dogecoin Core 1.10 work around next weekend, hopefully a beta around the same sort of time, and the next full update post should be on the 23rd or thereabouts. Meantime, stay wow! Ross P.S. All of these posts go up on my site as well, if you want to read back at all: https://jrn.me.uk/
Doing something a little different today - I'm doing a pair of posts, one more general (this), one more technical (over in /dogecoindev once I've written this one). Dogecoin Core 1.9 progress continues, although we're a bit slowed by other projects coming up in the middle. That's not the main thing I wanted to talk about today, however... Wallets have got a lot of attention this week. We do need to do something here - the reference client is a huge thing to install, and a major hurdle for new users. Multidoge and the Android client (what are referred to as a simple payment verification or SPV clients) are a lot faster, but doesn't scale well to large transactions (which is why mining into it doesn't end well). There's also Doughwallet but I don't have any iOS devices to test with, so can't really comment. As has been raised, web wallets are an easy answer here - your money is then available wherever you are, and the software is handled by someone else. However, there's two important things here:
If you don't have the keys, it's not a wallet, it's a bank.
If there's a problem with the account, do you know who you'd try claiming money back from?
I'm interested to see what happens with multisig web wallets (e.g. where you hold one key, and the wallet company holds a key, and either of you can move funds using the keys you have, so if they're compromised/go offline you can still move your funds), but these aren't my preferred solution. Right now, hardware wallets seem to be the best compromise available. The main options here are Ledger and Trezor. I'm told support for both is in the pipeline for Multibit HD, and should then be straightforward to adapt to Multidoge HD, and I've been working on the infrastructure behind Multidoge HD this weekend. The two devices have different advantages and disadvantages - Ledger is cheaper but needs a secure PC for initial setup, while Trezor is around 4 times the cost, but has no risks of key loss even if using a compromised PC for setup. Ledger is generally considered harder to get keys out of if someone gets to the actual hardware device, and there was a Trezor firmware update a few days ago to fix a problem with being able to retrieve keys if you can get hold of the device: https://www.reddit.com/Bitcoin/comments/3213nc/all_trezor_users_should_update_their_firmware_fo Right now, for Ledger you're stuck using their web application to actually make transactions, and I believe that's the default way of working with Trezor. This does mean some dependency on a service staying up, although at least keys are stored only on the device, so if either service goes down or is compromised, it's inconvenient rather than likely to result in loss of funds. Lastly I'm moving into somewhere longer term on this week, with a little luck, which will give me more time (shorter commute, more quiet time). Hoping to make it to Coinscrum on Thursday in London, but won't know for certain more or less until I make it to the train in time, or don't. If anyone else is in the area and wants to head over, though, it promises to be really interesting. I need to get lunch, then will write a technical version of this post over on /dogecoindev for those who want to get into the details more.
[Guide] Setting up Trezor + Electrum 2.02beta + armory on a Raspberry Pi 2. Cold offline signing for $40
Having just received my Pi 2, I am happy to report that a fresh Raspbian install, on an 8 GB Class 10 MicroSD card : Electrum / Armory / Trezor / BTChip all work with my Single Board Computer setup script (it also works for Pi B, Pi B+ Raspbian and BeagleBone Black Debian & ubuntu, also tested on Odroid C1 Ubuntu 14.4) The full "!" installation takes about 40 mins on Pi 2, which is at least twice as fast as on the Pi B+ / BBB Notes
on the first run of raspbian, choose the first raspi-config option, "Expand root partition to fill SD card", and then reboot. You should see >2.9Gb free space and >7Gb total space in PCManFM. Edit: Use the Odroid desktop tool to expand the partition also. Edit 2: on odroid and raspbian you need to expand and reboot twice to take effect.
for my btchip HW-1 to work with python/electrum 2.02b I needed to run ./btchip-c-api/bin/btchip_setTransportHID and power cycle
armory 0.92.3-beta works on Pi 2, despite being built for the ARM6
btchip HW-1 HID keyboard seed replay requires > 1.4.13 firmware to avoid clipping on Pi B/B+/BBB. No issue on Pi 2.
unfortunately wheezy raspbian's Chromium is still at v22, which was due to ARM6. Hopefully a newer ARM7 Chromium will be added to the distro.
on Jesse raspbian apt-get chromium / chromium-browser is completely broken
BBB Debian is limited to Chromium 37, enough to run Greenaddress (WinHID mode)
BBB Ubuntu 14 runs Chromium 40, with some screen glitching.
raspistill -o scan.jpg plus picamera plus qtqr works well. Maybe I'll add Wolfram qr decoding to a future update.
ODROID C1 has arrived and partially works. Using the latest Feb Ubuntu 14.04 distro, Trezor / btchip / electrum 2.02b / Chromium 40 Greenaddress mostly work. I'm doing some troubleshooting with Nicolas - I had to git clone https://github.com/walac/pyusb.git, despite having pip installed pyusb already, and needed to alternate between ./btchip_setTransportHID and ./btchip_setTransportWinUSB for electrum and greenaddress.
Armory's Raspberry Pi 0.92 offline bundle releases work on BBB Ubuntu and Pi B/B+/2 Raspbian wheezy.
1 ledger or Trezor, I have about 30 dollars of spendable cash 2 is bitcoinwallet.com legit? I have been using it for a while and know that it is not perfect, but what would you say would be a safe maximum to store in it? 3 do you know of any good bitcoin faucets? I use moonbitcoin 4 can I reuse a multibit hd wallet address? 5 if I order a transaction on multibit, but less/more arrives than I said would, will it still work? 6 explain the huge divide that's going on in bitcoin right now, something about block sizes, why does it matter so much, pros and cons of each solution that sort of thing. 7 how exactly does bitcoin minim work? I know that miners preform proof of work calculations, but what exactly is a block?
How long will a bitcoin ATM transaction take?
I have a computer (PC) I don't really care about, and I don't pay the power bill, is there any point whatsoever to try mining with it? What application/ pool should I join?
If the main obstacle to profitably mining bitcoins is power cost, why don't companies just use solar panels or something?
If a transaction does not go through, and bitcoin is returned, does it still get a transaction fee?
As soon as quantum computing becomes practical, is bitcoin screwed?
Will the bitcoin price continue to climb? Will it stay steady?
Are wallet addresses derived from public keys?
What happened with one coin?
Are there any questions I am missing?
How long do asic miners generally last?
Will mining on a laptop really kill it?
Can bitcoin update?
Is it possible to send messages using bitcoin/blockchain tech?
Assume infinite resources, any way to change or edit the blockchain?
Just how hard is it to get a private key from a public key?
Do you think dogecoin is really going to go to the moon?
Is there a secure, anonymous altcoin?
24 if google teamed up their servers, could they mine bitcoin? 25 what is a node? Relay? 26 how large will transaction fees climb? That's all for now, thank you for replying Reddit!
bitcoinj 0.13 to be released, to go into the version after that
I've made initial contact with the developer who writes Multibit HD, about bitcoinj-alice (their version of bitcoinj with extensions for BIP 44 wallet support). Once development starts on the next version of bitcoinj is started, I want to look at merging bitcoinj-alice and bitcoinj together.
Android wallet update should be coming fairly quickly once bitcoinj 0.13 is out (seeing a pattern?), presuming no huge problems when we put all the pieces together.
Multibit HD 0.1 is out, which is a very good start for work on Multidoge HD. That's really waiting on the bitcoinj-alice and bitcoinj merge I mentioned earlier. I'd personally like to see if we can get Multibit HD to support altcoins directly, but as I understand it they're reluctant to do so.
Multibit HD includes Trezor support, so I hope we can provide Dogecoin/Trezor support the same route. I don't yet actually have a Trezor to test with, but if you give me a minute I'll find a way this is waiting on bitcoinj 0.13.
I've written up the process around the last Dogecoin hard fork, in the hope it assists other coins. That's essentially publication ready, and just needs formatting and final editorial work before releasing. Targeting Thursday (18th).
There's a lot of HD wallet stuff there (Android, Mulitbit/Multidoge HD and Trezor), and this is very much intentional. While those of you with very good memories may remember I used to be a cynic about HD wallets, I'm very much coming around to supporting them. Essentially initial during wallet creation you're given a number of words (generally 24) which you write down. At any future point, the wallet can then be restored from those words. No later backups needed, you just write the words as if they're a paper wallet (which essentially they are), and you're good to go. With hardware support (both Trezor and Ledger support HD wallets, but we only get Trezor as-is from Multibit HD), that means you have an easily portable secure device that contains your wallet, but you can still restore from paper if you lose it. The software for these wallets are all SPV clients (as I talked about last update), which means they're much faster to get up and running! I'm aware Dogecoin Core 1.9 is moving a lot less quickly than we hoped, and we're currently talking about that. It may be we just jam all the changes from Bitcoin Core in, as fast as possible, and finish testing only at the end. It would be messy, but we had hoped to have it out a while back now. The extended unit tests currently going in will certainly help with robustness at least. Other things going on around that you should be aware of:
The softfork for BIP66 on the Bitcoin main net now reached 75% adoption, and miners are being advised to adopt it. This should come as part of Dogecoin Core 1.9.
Blockstream have released "Elements", their very very early implementation of sidechains. These are right now the most exciting thing happening in cryptocurrency, in my opinion. They mean suddenly we can do all those experiments people want to, without managing a whole new currency or trying to somehow work in the constraints of an existing one. I really wanted to get more analysis done this weekend, but... well it's 9pm on Sunday and it's not done, and I have more code to write before bed. Soon, I hope. Actual support for these is a while off, but then having anything stable is likely months if not years off, so plenty of time to get up to speed!
There's finally some real movement on Bitcoin block sizes (which are important to us because if Bitcoin has a traffic jam, it will have consequences for us, although I'm not too sure exactly what they would be), with a suggested BIP100 from Jeff Garzik.
As said, I have to get some Dogecoin Core code written before bed, so this is more a "We're moving along" update than a full one. I'll try to get an interim update out next weekend to make it up to you! Stay wow! Ross
In follow-up to this earlier post from Stellaw, today I too received a developer pre-release keepkey. Like Stellaw I did not pay for the device and they only asked me for developeuser feedback. The package was sent via FedEx protected by more foam than a bitmain S1, the keepkey comes packaged in a classy black box (about the standard of designer cufflinks packaging) on a green/white cardboard tray, with a plastic film protecting the screen. http://imgur.com/fxONsfR http://imgur.com/KPNTVuK Underneath you'll find a stiff 3 ply cardboard 12 row Recovery Sheet, in a matte black sleeve, and a skinny micro USB cable with a nylon rope finish. http://imgur.com/JYYa4VM I've taken some photos of keepkey with some everyday items you might find lying around your home for scale and comparison http://imgur.com/MOLT6oG http://imgur.com/bIAcCJY Keepkey is much wider, longer and thicker than Trezor. It does however feel extremely satisfying and solid in hand with its metal back shell. http://imgur.com/MqzUid2 http://imgur.com/raUi6Pc The screen is fantastic to use, keepkey include some eye candy animations, progress indicator, and logo screen saver. http://imgur.com/AIGUpVj http://imgur.com/GXHbPLi Side by side, Trezor's display is over twice as bright and of higher pixel density than keepkey, but with indoor use keepkey is adequately bright. The front shell is a fingerprint magnet. I don't plan to fully review their software wallet as it is still in pre-release developer beta stage. Keepkey works via desktop Chrome with 2 extensions (a proxy bridge and a Chrome Wallet). This solution is up an running with a few mouse clicks and supports device initialisation and wipe, PIN entry, send, recieve and display QR code. Their wallet reminds me somewhat of kryptokit. At the moment the Chrome Wallet does not support >12 word mnemonics or passphrases (although Darin tells me this will be supported) nor changing PIN or device label, message signing, or transaction history. Their chrome wallet checks balances through chain's API and is not dependent on a BoP server like myTrezor. After some trial and error i was able to import my keepkey wallet into electrum 2.4.4 and saw the same balance and address tree as the Chrome Wallet. As the python tools and electrum plugin are dev beta standard, there are some bugs still to be ironed out, particularly with regards to passphrase support. My overall impression is that keepkey will be a winner. With its wide screen display, keepkey is very easy on the eyes and makes checking of an address, transaction details or initializing a mnemonic (or reviewing entropy/firmware signatures) a pleasure. Keepkey is evolutionary in several ways - much improved mnemonic playback and restore. They've re thought the user experience, removed the cancel button, and added a hold-to-confirm gesture. This does however mean "cancel" requires either a mouse or keyboard button press. In other ways the changes don't go far enough, why limit PIN to numbers 1-9, why not device wipe after multiple failed attempts, why must the passphrase be entered in plaintext on the hot computer, why no touch screen and fewer buttons not more? Keepkey's firmware is a fork of Trezor's, has had hundreds of code commits since March 2014 and is actively developed. With its solid half metal construction, premium packaging, USB cable and security card, and 4 person management team - clearly keepkey is not targeting the budget end of the market. Metal Trezor preorders were 3 times the price of plastic Trezors and keepkey has the differentiating features of premium metal build and finish, large screen and a mnemonic restore procedure so good that it is viable to wipe the device in between uses and restore to spend. Their Chrome Wallet is missing many features, and currently there is no support for Greenaddress, mycelium or MultibitHD. (Whilst Trezor does support these 3 it took Trezor years before the first alternative - electrum 2.0 - became available) Addendum : working with keepkey today they've isolated, fixed and developed a workaround for most issues I encountered. Now the official OSX electrum 2.4.4 binary works perfectly - 24 word mnemonics, passphrases, message signing, change device label, full wallet history with modifiable descriptions.
This one's going to be brief, partly because I'm in the middle of writing a lot of code, partly because this update is a bit simpler. At the moment the focus is back on alternative clients. The reference client gets progressively harder to run due to disk space requirements, and takes longer for first sync. Blockchain pruning will help with that in time, but we need a solution for the majority of users. Simplified Payment Verification (SPV) clients such as Multidoge and the Android client do not verify the entire blockchain, but instead places a certain amount of trust in the nodes they're connected to. There's more technical detail on the Bitcoin Wiki for the curious. By requiring only block headers and transactions which are relevant to the wallet, they hugely reduce the time taken to sync. Multidoge has been a good starting point, but with Multibit HD now in beta, it's time for a proper replacement. Multibit HD by Bitcoin Solutions introduces a vast number of improvements, including hierarchical deterministic (HD) wallets, a much better user interface, and I'm told support for Trezor wallets. A Doge equivalent is being worked on, but we have a more general problem of the time and effort required to prepare these variants. I've talked about this earlier, but we need to stop thinking of altcoin code as entirely independently maintained, and start leveraging our common technologies. So, I've been working on patches for bitcoinj, and a wrapper library (working title "altcoinj", but there's already another project with that title, so the final version will be renamed). The first major patch has been accepted already, and a second is with their developers for review now. The next steps are to improve automated testing of this code to ensure it's as good as we can make it, while the patches are considered and we make any further changes required. You can see the code on Github at https://github.com/rnicoll/altcoinj/ and so far it's a tiny fraction of the size of bitcoinj, which means a lot less work to maintain it. This will continue for a while, so updates will primarily be around what's going on with this work. Reference client patches continue but at a slower rate, with a few major snags having held up work until very recently. For the more exciting features, we need the foundations before we can explore them much further. Lastly, I'm streaming coding from time to time at http://www.watchpeoplecode.com/streamernicoll. Doing so requires a significant chunk of clear time however, so will generally be only at weekends when I can get properly dug in to making changes. Next update should be in two weeks as normal. After that I'm travelling to graduate late in June, but will be back in time to write an update, and hopefully the other developers will be making more visible progress as well. Stay wow, Ross Edit: Forgot something! I've been helping edit a paper therealmage has written about forking of coins. Hopefully that will be out in a few weeks time.
Hello fellow bitcoiners I have 5 accounts in my Trezor with 10k-100k satoshi in each and was wondering how to completly empty all of them into one new account. I downloaded MultibitHD and synced my trezor to it, but only account#1 is showing up. Any tips on how to do this? Thanks
First of all, I am a very happy TREZOR customer (love the security, ease of use and the community). However, I recently had the following thought: Imagine Computer Technology evolving even faster. In 15 Years USB is long forgotten and Bitcoin finally reached it's full potential. TREZOR (along with most of the early software wallet providers like Electrum, Multibit HD, etc) is out of business. The TREZOR device you bought 10 years ago is lost or damaged. BIP39, BIP44, etc are long forgotten. BIP1236 is the one and only standard. No wallet provider is using any other standard. How will you regain access to your TREZOR generated HD wallet? Wouldn't a simple paper wallet be the better storage option?
Doing something a little different today - I'm doing a pair of posts, one more general (over on /dogecoin at https://www.reddit.com/dogecoin/comments/32bsvv/dev_wallets/), one more technical (this). Something that comes up at a lot is people wanting to get involved and not knowing where to start. The reference client can be more than a little intimidating to get involved with, but there's a number of libraries for various languages that make programming with cryptocurrencies easier. I'd love to see more projects using these libraries, and/or getting involved with their development:
Java - dogecoinj, which powers the Android client and Multidoge
05-17 21:26 - 'Help with MultiBit HD' (self.Bitcoin) by /u/daang16 removed from /r/Bitcoin within 1-6min
''' I'm not sure if this is the correct place to post this or ask for help, I'm pretty new to reddit. I have a MultiBit Hd wallet with a Trezor. I just hopped on it to try and send some coins and it said I had insufficient balance. Realize it says I have an unconfirmed amount in the top right which is the total amount I expected to have. Has any one had this issue and have any suggestions? ''' Help with MultiBit HD Go1dfish undelete link unreddit undelete link Author: daang16
Encrypt and password-protect your Bitcoin wallets MultiBit HD can work with both Trezor hardware wallets and virtual ones. Its creates secure cloud backups for the latter using popular services, just as a precautionary measure to help you restore data when needed. The Trezor Bitcoin hardware wallet pioneered the era of hardware wallets. Created by SatoshiLabs, it is the world’s first secure Bitcoin hardware wallet.. It looks like a small calculator with an OLED screen. Randomly generated nine digit pins and a 24-word recovery seed key ensures security in case the device is lost or damaged. Under the hood, the software incorporates the standards that the most demanding bitcoin users would expect. MultiBit HD will be compatible with the Trezor hardware wallet and the HD label refers to the fact that it will be a “hierarchical deterministic” wallet, meaning that you will be able to regain access to addresses created by MultiBit ... MultiBit is a simple Bitcoin wallet for Windows, MacOS and Linux based on BitcoinJ.Its main advantages over original Bitcoin client are the option of using multiple wallets at once and the lack of need to download several-gigabyte Blockchain (16.5GB as of April 2014).The project was founded by english developer Jim Burton. Security. TREZOR provides top-notch security for bitcoin, protecting against both physical and virtual theft. TREZOR is an HD wallet where you control the private keys, so an entire wallet can be backed up with the 24 words generated on setup.
Getting your FREE Bitcoin Cash from the Multibit HD Wallet - Duration: 10:54. Bitcoin Daytrader 4,166 views. 10:54. DIY $10 USB hardware wallet Atomic Wallet - Duration: 12:04. Trezor is appropriate for a number of wallets, including Electrum, MultiBit HD, and GreenAddress on desktop, GreenBits and Mycelium on Android, and also myTREZOR.com on the net. Make use of the ... 10 Best Side Hustle Ideas: How I Made $600 in One Day - Duration: 16:07. Let's Talk Money! with Joseph Hogue, CFA Recommended for you TREZOR is an HD wallet where you manage the private keys, so an entire wallet can be backed up with the 24 words generated on setup. The original 24-word seed is generated using RNG from the pc ...