Bitcoin Private Key: An Easy-To-Understand Overview
BREAKING: Bitcoin NFC Payments now secure! (BIP-38)
2020 Bitcoin: Pass The Certified Bitcoin Professional Exam ...
Groestlcoin 6th Anniversary Release
Dear Groestlers, it goes without saying that 2020 has been a difficult time for millions of people worldwide. The groestlcoin team would like to take this opportunity to wish everyone our best to everyone coping with the direct and indirect effects of COVID-19. Let it bring out the best in us all and show that collectively, we can conquer anything. The centralised banks and our national governments are facing unprecedented times with interest rates worldwide dropping to record lows in places. Rest assured that this can only strengthen the fundamentals of all decentralised cryptocurrencies and the vision that was seeded with Satoshi's Bitcoin whitepaper over 10 years ago. Despite everything that has been thrown at us this year, the show must go on and the team will still progress and advance to continue the momentum that we have developed over the past 6 years. In addition to this, we'd like to remind you all that this is Groestlcoin's 6th Birthday release! In terms of price there have been some crazy highs and lows over the years (with highs of around $2.60 and lows of $0.000077!), but in terms of value– Groestlcoin just keeps getting more valuable! In these uncertain times, one thing remains clear – Groestlcoin will keep going and keep innovating regardless. On with what has been worked on and completed over the past few months.
UPDATED - Groestlcoin Core 2.18.2
This is a major release of Groestlcoin Core with many protocol level improvements and code optimizations, featuring the technical equivalent of Bitcoin v0.18.2 but with Groestlcoin-specific patches. On a general level, most of what is new is a new 'Groestlcoin-wallet' tool which is now distributed alongside Groestlcoin Core's other executables. NOTE: The 'Account' API has been removed from this version which was typically used in some tip bots. Please ensure you check the release notes from 2.17.2 for details on replacing this functionality.
Builds are now done through Gitian
Calls to getblocktemplate will fail if the segwit rule is not specified. Calling getblocktemplate without segwit specified is almost certainly a misconfiguration since doing so results in lower rewards for the miner. Failed calls will produce an error message describing how to enable the segwit rule.
A warning is printed if an unrecognized section name is used in the configuration file. Recognized sections are [test], [main], and [regtest].
Four new options are available for configuring the maximum number of messages that ZMQ will queue in memory (the "high water mark") before dropping additional messages. The default value is 1,000, the same as was used for previous releases.
The rpcallowip option can no longer be used to automatically listen on all network interfaces. Instead, the rpcbind parameter must be used to specify the IP addresses to listen on. Listening for RPC commands over a public network connection is insecure and should be disabled, so a warning is now printed if a user selects such a configuration. If you need to expose RPC in order to use a tool like Docker, ensure you only bind RPC to your localhost, e.g. docker run [...] -p 127.0.0.1:1441:1441 (this is an extra :1441 over the normal Docker port specification).
The rpcpassword option now causes a startup error if the password set in the configuration file contains a hash character (#), as it's ambiguous whether the hash character is meant for the password or as a comment.
The whitelistforcerelay option is used to relay transactions from whitelisted peers even when not accepted to the mempool. This option now defaults to being off, so that changes in policy and disconnect/ban behavior will not cause a node that is whitelisting another to be dropped by peers.
A new short about the JSON-RPC interface describes cases where the results of anRPC might contain inconsistencies between data sourced from differentsubsystems, such as wallet state and mempool state.
A new document introduces Groestlcoin Core's BIP174 interface, which is used to allow multiple programs to collaboratively work to create, sign, and broadcast new transactions. This is useful for offline (cold storage) wallets, multisig wallets, coinjoin implementations, and many other cases where two or more programs need to interact to generate a complete transaction.
The output script descriptor (https://github.com/groestlcoin/groestlcoin/blob/mastedoc/descriptors.md) documentation has been updated with information about new features in this still-developing language for describing the output scripts that a wallet or other program wants to receive notifications for, such as which addresses it wants to know received payments. The language is currently used in multiple new and updated RPCs described in these release notes and is expected to be adapted to other RPCs and to the underlying wallet structure.
A new --disable-bip70 option may be passed to ./configure to prevent Groestlcoin-Qt from being built with support for the BIP70 payment protocol or from linking libssl. As the payment protocol has exposed Groestlcoin Core to libssl vulnerabilities in the past, builders who don't need BIP70 support are encouraged to use this option to reduce their exposure to future vulnerabilities.
The minimum required version of Qt (when building the GUI) has been increased from 5.2 to 5.5.1 (the depends system provides 5.9.7)
getnodeaddresses returns peer addresses known to this node. It may be used to find nodes to connect to without using a DNS seeder.
listwalletdir returns a list of wallets in the wallet directory (either the default wallet directory or the directory configured bythe -walletdir parameter).
getrpcinfo returns runtime details of the RPC server. Currently, it returns an array of the currently active commands and how long they've been running.
deriveaddresses returns one or more addresses corresponding to an output descriptor.
getdescriptorinfo accepts a descriptor and returns information aboutit, including its computed checksum.
joinpsbts merges multiple distinct PSBTs into a single PSBT. The multiple PSBTs must have different inputs. The resulting PSBT will contain every input and output from all the PSBTs. Any signatures provided in any of the PSBTs will be dropped.
analyzepsbt examines a PSBT and provides information about what the PSBT contains and the next steps that need to be taken in order to complete the transaction. For each input of a PSBT, analyze psbt provides information about what information is missing for that input, including whether a UTXO needs to be provided, what pubkeys still need to be provided, which scripts need to be provided, and what signatures are still needed. Every input will also list which role is needed to complete that input, and analyzepsbt will also list the next role in general needed to complete the PSBT. analyzepsbt will also provide the estimated fee rate and estimated virtual size of the completed transaction if it has enough information to do so.
utxoupdatepsbt searches the set of Unspent Transaction Outputs (UTXOs) to find the outputs being spent by the partial transaction. PSBTs need to have the UTXOs being spent to be provided because the signing algorithm requires information from the UTXO being spent. For segwit inputs, only the UTXO itself is necessary. For non-segwit outputs, the entire previous transaction is needed so that signers can be sure that they are signing the correct thing. Unfortunately, because the UTXO set only contains UTXOs and not full transactions, utxoupdatepsbt will only add the UTXO for segwit inputs.
getpeerinfo now returns an additional minfeefilter field set to the peer's BIP133 fee filter. You can use this to detect that you have peers that are willing to accept transactions below the default minimum relay fee.
The mempool RPCs, such as getrawmempool with verbose=true, now return an additional "bip125-replaceable" value indicating whether thetransaction (or its unconfirmed ancestors) opts-in to asking nodes and miners to replace it with a higher-feerate transaction spending any of the same inputs.
settxfee previously silently ignored attempts to set the fee below the allowed minimums. It now prints a warning. The special value of"0" may still be used to request the minimum value.
getaddressinfo now provides an ischange field indicating whether the wallet used the address in a change output.
importmulti has been updated to support P2WSH, P2WPKH, P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept an additional witnessscript parameter.
importmulti now returns an additional warnings field for each request with an array of strings explaining when fields are being ignored or are inconsistent, if there are any.
getaddressinfo now returns an additional solvable Boolean field when Groestlcoin Core knows enough about the address's scriptPubKey, optional redeemScript, and optional witnessScript for the wallet to be able to generate an unsigned input spending funds sent to that address.
The getaddressinfo, listunspent, and scantxoutset RPCs now return an additional desc field that contains an output descriptor containing all key paths and signing information for the address (except for the private key). The desc field is only returned for getaddressinfo and listunspent when the address is solvable.
importprivkey will preserve previously-set labels for addresses or public keys corresponding to the private key being imported. For example, if you imported a watch-only address with the label "coldwallet" in earlier releases of Groestlcoin Core, subsequently importing the private key would default to resetting the address's label to the default empty-string label (""). In this release, the previous label of "cold wallet" will be retained. If you optionally specify any label besides the default when calling importprivkey, the new label will be applied to the address.
getmininginfo now omits currentblockweight and currentblocktx when a block was never assembled via RPC on this node.
The getrawtransaction RPC & REST endpoints no longer check the unspent UTXO set for a transaction. The remaining behaviors are as follows:
If a blockhash is provided, check the corresponding block.
If no blockhash is provided, check the mempool.
If no blockhash is provided but txindex is enabled, also check txindex.
unloadwallet is now synchronous, meaning it will not return until the wallet is fully unloaded.
importmulti now supports importing of addresses from descriptors. A desc parameter can be provided instead of the "scriptPubKey" in are quest, as well as an optional range for ranged descriptors to specify the start and end of the range to import. Descriptors with key origin information imported through importmulti will have their key origin information stored in the wallet for use with creating PSBTs.
listunspent has been modified so that it also returns witnessScript, the witness script in the case of a P2WSH orP2SH-P2WSH output.
createwallet now has an optional blank argument that can be used to create a blank wallet. Blank wallets do not have any keys or HDseed. They cannot be opened in software older than 2.18.2. Once a blank wallet has a HD seed set (by using sethdseed) or private keys, scripts, addresses, and other watch only things have been imported, the wallet is no longer blank and can be opened in 2.17.2. Encrypting a blank wallet will also set a HD seed for it.
signrawtransaction is removed after being deprecated and hidden behind a special configuration option in version 2.17.2.
The 'account' API is removed after being deprecated in v2.17.2 The 'label' API was introduced in v2.17.2 as a replacement for accounts. See the release notes from v2.17.2 for a full description of the changes from the 'account' API to the 'label' API.
addwitnessaddress is removed after being deprecated in version 2.16.0.
generate is deprecated and will be fully removed in a subsequent major version. This RPC is only used for testing, but its implementation reached across multiple subsystems (wallet and mining), so it is being deprecated to simplify the wallet-node interface. Projects that are using generate for testing purposes should transition to using the generatetoaddress RPC, which does not require or use the wallet component. Calling generatetoaddress with an address returned by the getnewaddress RPC gives the same functionality as the old generate RPC. To continue using generate in this version, restart groestlcoind with the -deprecatedrpc=generate configuration option.
Be reminded that parts of the validateaddress command have been deprecated and moved to getaddressinfo. The following deprecated fields have moved to getaddressinfo: ismine, iswatchonly,script, hex, pubkeys, sigsrequired, pubkey, embedded,iscompressed, label, timestamp, hdkeypath, hdmasterkeyid.
The addresses field has been removed from the validateaddressand getaddressinfo RPC methods. This field was confusing since it referred to public keys using their P2PKH address. Clients should use the embedded.address field for P2SH or P2WSH wrapped addresses, and pubkeys for inspecting multisig participants.
A new /rest/blockhashbyheight/ endpoint is added for fetching the hash of the block in the current best blockchain based on its height (how many blocks it is after the Genesis Block).
A new Window menu is added alongside the existing File, Settings, and Help menus. Several items from the other menus that opened new windows have been moved to this new Window menu.
In the Send tab, the checkbox for "pay only the required fee" has been removed. Instead, the user can simply decrease the value in the Custom Fee rate field all the way down to the node's configured minimumrelay fee.
In the Overview tab, the watch-only balance will be the only balance shown if the wallet was created using the createwallet RPC and thedisable_private_keys parameter was set to true.
The launch-on-startup option is no longer available on macOS if compiled with macosx min version greater than 10.11 (useCXXFLAGS="-mmacosx-version-min=10.11" CFLAGS="-mmacosx-version-min=10.11" for setting the deployment sdkversion)
A new groestlcoin-wallet tool is now distributed alongside Groestlcoin Core's other executables. Without needing to use any RPCs, this tool can currently create a new wallet file or display some basic information about an existing wallet, such as whether the wallet is encrypted, whether it uses an HD seed, how many transactions it contains, and how many address book entries it has.
Since version 2.16.0, Groestlcoin Core's built-in wallet has defaulted to generating P2SH-wrapped segwit addresses when users want to receive payments. These addresses are backwards compatible with all widely used software. Starting with Groestlcoin Core 2.20.1 (expected about a year after 2.18.2), Groestlcoin Core will default to native segwitaddresses (bech32) that provide additional fee savings and other benefits. Currently, many wallets and services already support sending to bech32 addresses, and if the Groestlcoin Core project sees enough additional adoption, it will instead default to bech32 receiving addresses in Groestlcoin Core 2.19.1. P2SH-wrapped segwit addresses will continue to be provided if the user requests them in the GUI or by RPC, and anyone who doesn't want the update will be able to configure their default address type. (Similarly, pioneering users who want to change their default now may set the addresstype=bech32 configuration option in any Groestlcoin Core release from 2.16.0 up.)
BIP 61 reject messages are now deprecated. Reject messages have no use case on the P2P network and are only logged for debugging by most network nodes. Furthermore, they increase bandwidth and can be harmful for privacy and security. It has been possible to disable BIP 61 messages since v2.17.2 with the -enablebip61=0 option. BIP 61 messages will be disabled by default in a future version, before being removed entirely.
The submitblock RPC previously returned the reason a rejected block was invalid the first time it processed that block but returned a generic "duplicate" rejection message on subsequent occasions it processed the same block. It now always returns the fundamental reason for rejecting an invalid block and only returns "duplicate" for valid blocks it has already accepted.
A new submitheader RPC allows submitting block headers independently from their block. This is likely only useful for testing.
The signrawtransactionwithkey and signrawtransactionwithwallet RPCs have been modified so that they also optionally accept a witnessScript, the witness script in the case of a P2WSH orP2SH-P2WSH output. This is compatible with the change to listunspent.
For the walletprocesspsbt and walletcreatefundedpsbt RPCs, if thebip32derivs parameter is set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself).
The -usehd configuration option was removed in version 2.16.0 From that version onwards, all new wallets created are hierarchical deterministic wallets. This release makes specifying -usehd an invalid configuration option.
This release allows peers that your node automatically disconnected for misbehaviour (e.g. sending invalid data) to reconnect to your node if you have unused incoming connection slots. If your slots fill up, a misbehaving node will be disconnected to make room for nodes without a history of problems (unless the misbehaving node helps your node in some other way, such as by connecting to a part of the Internet from which you don't have many other peers). Previously, Groestlcoin Core banned the IP addresses of misbehaving peers for a period (default of 1 day); this was easily circumvented by attackers with multiple IP addresses. If you manually ban a peer, such as by using the setban RPC, all connections from that peer will still be rejected.
The key metadata will need to be upgraded the first time that the HDseed is available. For unencrypted wallets this will occur on wallet loading. For encrypted wallets this will occur the first time the wallet is unlocked.
Newly encrypted wallets will no longer require restarting the software. Instead such wallets will be completely unloaded and reloaded to achieve the same effect.
A sub-project of Bitcoin Core now provides Hardware Wallet Interaction (HWI) scripts that allow command-line users to use several popular hardware key management devices with Groestlcoin Core. See their project page for details.
This release changes the Random Number Generator (RNG) used from OpenSSL to Groestlcoin Core's own implementation, although entropy gathered by Groestlcoin Core is fed out to OpenSSL and then read back in when the program needs strong randomness. This moves Groestlcoin Core a little closer to no longer needing to depend on OpenSSL, a dependency that has caused security issues in the past. The new implementation gathers entropy from multiple sources, including from hardware supporting the rdseed CPU instruction.
On macOS, Groestlcoin Core now opts out of application CPU throttling ("app nap") during initial blockchain download, when catching up from over 100 blocks behind the current chain tip, or when reindexing chain data. This helps prevent these operations from taking an excessively long time because the operating system is attempting to conserve power.
How to Upgrade?
Windows If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer. OSX If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), run the dmg and drag Groestlcoin Core to Applications. Ubuntu http://groestlcoin.org/forum/index.php?topic=441.0
ALL NEW - Groestlcoin Moonshine iOS/Android Wallet
Built with React Native, Moonshine utilizes Electrum-GRS's JSON-RPC methods to interact with the Groestlcoin network. GRS Moonshine's intended use is as a hot wallet. Meaning, your keys are only as safe as the device you install this wallet on. As with any hot wallet, please ensure that you keep only a small, responsible amount of Groestlcoin on it at any given time.
Groestlcoin Mainnet & Testnet supported
Multiple wallet support
Electrum - Support for both random and custom peers
Biometric + Pin authentication
Custom fee selection
Import mnemonic phrases via manual entry or scanning
BIP39 Passphrase functionality
Support for Segwit-compatible & legacy addresses in settings
Support individual private key sweeping
UTXO blacklisting - Accessible via the Transaction Detail view, this allows users to blacklist any utxo that they do not wish to include in their list of available utxo's when sending transactions. Blacklisting a utxo excludes its amount from the wallet's total balance.
Ability to Sign & Verify Messages
Support BitID for password-free authentication
Coin Control - This can be accessed from the Send Transaction view and basically allows users to select from a list of available UTXO's to include in their transaction.
HODL GRS connects directly to the Groestlcoin network using SPV mode and doesn't rely on servers that can be hacked or disabled. HODL GRS utilizes AES hardware encryption, app sandboxing, and the latest security features to protect users from malware, browser security holes, and even physical theft. Private keys are stored only in the secure enclave of the user's phone, inaccessible to anyone other than the user. Simplicity and ease-of-use is the core design principle of HODL GRS. A simple recovery phrase (which we call a Backup Recovery Key) is all that is needed to restore the user's wallet if they ever lose or replace their device. HODL GRS is deterministic, which means the user's balance and transaction history can be recovered just from the backup recovery key.
Simplified payment verification for fast mobile performance
Groestlcoin Seed Savior is a tool for recovering BIP39 seed phrases. This tool is meant to help users with recovering a slightly incorrect Groestlcoin mnemonic phrase (AKA backup or seed). You can enter an existing BIP39 mnemonic and get derived addresses in various formats. To find out if one of the suggested addresses is the right one, you can click on the suggested address to check the address' transaction history on a block explorer.
If a word is wrong, the tool will try to suggest the closest option.
If a word is missing or unknown, please type "?" instead and the tool will find all relevant options.
NOTE: NVidia GPU or any CPU only. AMD graphics cards will not work with this address generator. VanitySearch is a command-line Segwit-capable vanity Groestlcoin address generator. Add unique flair when you tell people to send Groestlcoin. Alternatively, VanitySearch can be used to generate random addresses offline. If you're tired of the random, cryptic addresses generated by regular groestlcoin clients, then VanitySearch is the right choice for you to create a more personalized address. VanitySearch is a groestlcoin address prefix finder. If you want to generate safe private keys, use the -s option to enter your passphrase which will be used for generating a base key as for BIP38 standard (VanitySearch.exe -s "My PassPhrase" FXPref). You can also use VanitySearch.exe -ps "My PassPhrase" which will add a crypto secure seed to your passphrase. VanitySearch may not compute a good grid size for your GPU, so try different values using -g option in order to get the best performances. If you want to use GPUs and CPUs together, you may have best performances by keeping one CPU core for handling GPU(s)/CPU exchanges (use -t option to set the number of CPU threads).
Fixed size arithmetic
Fast Modular Inversion (Delayed Right Shift 62 bits)
SecpK1 Fast modular multiplication (2 steps folding 512bits to 256bits using 64 bits digits)
Use some properties of elliptic curve to generate more keys
SSE Secure Hash Algorithm SHA256 and RIPEMD160 (CPU)
Groestlcoin EasyVanity 2020 is a windows app built from the ground-up and makes it easier than ever before to create your very own bespoke bech32 address(es) when whilst not connected to the internet. If you're tired of the random, cryptic bech32 addresses generated by regular Groestlcoin clients, then Groestlcoin EasyVanity2020 is the right choice for you to create a more personalised bech32 address. This 2020 version uses the new VanitySearch to generate not only legacy addresses (F prefix) but also Bech32 addresses (grs1 prefix).
Ability to continue finding keys after first one is found
Includes warning on start-up if connected to the internet
Ability to output keys to a text file (And shows button to open that directory)
Show and hide the private key with a simple toggle switch
Show full output of commands
Ability to choose between Processor (CPU) and Graphics Card (GPU) ( NVidia ONLY! )
Features both a Light and Dark Material Design-Style Themes
Free software - MIT. Anyone can audit the code.
Written in C# - The code is short, and easy to review.
Groestlcoin WPF is an alternative full node client with optional lightweight 'thin-client' mode based on WPF. Windows Presentation Foundation (WPF) is one of Microsoft's latest approaches to a GUI framework, used with the .NET framework. Its main advantages over the original Groestlcoin client include support for exporting blockchain.dat and including a lite wallet mode. This wallet was previously deprecated but has been brought back to life with modern standards.
Works via TOR or SOCKS5 proxy
Can use bootstrap.dat format as blockchain database
Import/Export blockchain to/from bootstrap.dat
Import wallet.dat from Groestlcoin-qt wallet
Export wallet to wallet.dat
Use both groestlcoin-wpf and groestlcoin-qt with the same addresses in parallel. When you send money from one program, the transaction will automatically be visible on the other wallet.
Rescan blockchain with a simple mouse click
Works as a full node and listens to port 1331 (listening port can be changed)
Fast Block verifying, parallel processing on multi-core CPUs
Mine Groestlcoins with your CPU by a simple mouse click
All private keys are kept encrypted on your local machine (or on a USB stick)
Lite - Has a lightweight "thin client" mode which does not require a new user to download the entire Groestlcoin chain and store it
Free and decentralised - Open Source under GNU license
Fixed Import/Export to wallet.dat
Rescan wallet option
Change wallet password option
Address type and Change type options through *.conf file
Import from bootstrap.dat - It is a flat, binary file containing Groestlcoin blockchain data, from the genesis block through a recent height. All versions automatically validate and import the file "grs.bootstrap.dat" in the GRS directory. Grs.bootstrap.dat is compatible with Qt wallet. GroestlCoin-Qt can load from it.
In Full mode file %APPDATA%\Groestlcoin-WPF\GRS\GRS.bootstrap.dat is full blockchain in standard bootstrap.dat format and can be used with other clients.
Groestlcoin Electrum Personal Server aims to make using Electrum Groestlcoin wallet more secure and more private. It makes it easy to connect your Electrum-GRS wallet to your own full node. It is an implementation of the Electrum-grs server protocol which fulfils the specific need of using the Electrum-grs wallet backed by a full node, but without the heavyweight server backend, for a single user. It allows the user to benefit from all Groestlcoin Core's resource-saving features like pruning, blocks only and disabled txindex. All Electrum-GRS's feature-richness like hardware wallet integration, multi-signature wallets, offline signing, seed recovery phrases, coin control and so on can still be used, but connected only to the user's own full node. Full node wallets are important in Groestlcoin because they are a big part of what makes the system be trust-less. No longer do people have to trust a financial institution like a bank or PayPal, they can run software on their own computers. If Groestlcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine. Full node wallets are also important for privacy. Using Electrum-GRS under default configuration requires it to send (hashes of) all your Groestlcoin addresses to some server. That server can then easily spy on your transactions. Full node wallets like Groestlcoin Electrum Personal Server would download the entire blockchain and scan it for the user's own addresses, and therefore don't reveal to anyone else which Groestlcoin addresses they are interested in. Groestlcoin Electrum Personal Server can also broadcast transactions through Tor which improves privacy by resisting traffic analysis for broadcasted transactions which can link the IP address of the user to the transaction. If enabled this would happen transparently whenever the user simply clicks "Send" on a transaction in Electrum-grs wallet. Note: Currently Groestlcoin Electrum Personal Server can only accept one connection at a time.
Use your own node
Uses less CPU and RAM than ElectrumX
Used intermittently rather than needing to be always-on
Doesn't require an index of every Groestlcoin address ever used like on ElectrumX
UPDATED – Android Wallet 7.38.1 - Main Net + Test Net
The app allows you to send and receive Groestlcoin on your device using QR codes and URI links. When using this app, please back up your wallet and email them to yourself! This will save your wallet in a password protected file. Then your coins can be retrieved even if you lose your phone.
Add confidence messages, helping users to understand the confidence state of their payments.
Handle edge case when restoring via an external app.
Count devices with a memory class of 128 MB as low ram.
Introduce dark mode on Android 10 devices.
Reduce memory usage of PIN-protected wallets.
Tapping on the app's version will reveal a checksum of the APK that was installed.
Fix issue with confirmation of transactions that empty your wallet.
Groestlcoin Sentinel is a great solution for anyone who wants the convenience and utility of a hot wallet for receiving payments directly into their cold storage (or hardware wallets). Sentinel accepts XPUB's, YPUB'S, ZPUB's and individual Groestlcoin address. Once added you will be able to view balances, view transactions, and (in the case of XPUB's, YPUB's and ZPUB's) deterministically generate addresses for that wallet. Groestlcoin Sentinel is a fork of Groestlcoin Samourai Wallet with all spending and transaction building code removed.
Hello bitcoin! I only have one mining rig and it took a while to mine that 120k dogecoins. Today i traded all my dogecoins for bitcoin and now i've got 0.065 BTC in a cold wallet. I think i have the worst timing ever but somehow it feels good to hold bitcoin :) Any advice how i can get more BTC with my 1.6 MHs rig? Are BIP38 encrypted paper wallets safe enough? Edit: I think i have 3 options now
sell the rig and buy bitcoins
sell the rig and buy an asic miner (if i there are some cheap ones)
keep mining an altcoin and run a full bitcoin node on it
btw: is it possible to run a bitcoin node in a virtual machine? Edit2: i decided to not sell my mining rig. I want to keep tinkering with it because of the educational value and to keep supporting bitcoin and cryptocurrencies. I'm setting up a full node inside a VM right now. Is there any incentive to host a p2pool?
The Three Legged Stool of safe storage. I've given a lot of thought about how I can safely store my Bitcoins. I want to share my method in the hope others may find this helpful and any discussion could also help me. I'm not intending this as a beginners guide to cold storage, plenty already exist. But people, both new and familiar with cold storage, can benefit from the applications and ideas I'm suggesting here. The Three Legged Stool, what's this about? There are just three ways to unintentionally lose your coins: Leg 1, They can be stolen Leg 2, They can be physically lost Leg 3, You can forget how to access them The snag is that anything done to improve security to one Leg tends to increase the risk of loss caused by being out of balance with the other two Legs. For example, to protect your coins against Leg 1 (being stolen) you may hide the coins private key in a password protected container somewhere in your house. My point is that you have reduced the risk of Leg 1 (getting them stolen) but at the same time increased the risk of Leg 2 (physically lost) and Leg 3 (forget the password). This is especially true with long term storage. Equally, not using a password protects against Leg 3 but increases the risks from Leg 1 and is of no help against Leg 2. The objective is a balanced stool, keeping your coins safe and also always available for spending. How it can be done: My preferred method is using Paper Wallets with BIP38 encryption. With secure passwords, these are so safe you can keep multiple copies of the same wallet all over the place. Keep copies at work, at home, at your parents house and even carry the private key QR code with your phone in case you want to spend a chunk of Bitcoins unexpectedly. Brute force attacks on BIP38 wallets are so slow, I can't think it's possible to crack a strong password of let's say 10 random letters, numbers and symbols. So this is total protection against Leg 1 and Leg 2 but forget that password Leg 3.... and your coins are gone forever! Here's the clever bit. So how can you guarantee never to forget that complex wallet password? Yes! There's an App for that, "Infinite Password Generator" (IPG) is truly brilliant. https://play.google.com/store/apps/details?id=yuku.infinitepassgen.app The only permission this App has is to access Google Play payment services so I don't think it can give any secrets back to the developer. Install this app and make backups of the APK, save backups on several devices in case it's ever removed from Google Play. If you change your phone you will want to be able to install IPG from your APK backups and it's best not to update this App. If you do update it then always check it is generating the same passwords using the procedure explained below. IPG generates complex passwords by combining your own "Master Password" with a Keyword. As an example, your Master Password must be something you can NEVER forget like the house number and road name you lived in as a child. The Keyword is a unique identifier for this Paper Wallet, maybe a name and incrementing sequence number like wallet3. IPG combines these two fields to generate a secure repeatable password you can use as the input to the BIP38 encryption. IPG let's you save its configuration settings and you need to do this: Fill in the Master Password, put your name in the Keyword field, press Show and select the type and length of BIP38 password you want then press Copy (to the clipboard). Now, paste the generated password over the Personal notes (optional) field. Next, delete the Master Password field and Save, then exit IPG. Open IPG and Load your saved file, fill in Master Password then Copy/paste the generated password under the original copy of the password and if you did this all correctly you will have generated exactly the same password, confirming you put in the Master Password correctly. Now change the Keyword field to your chosen Wallet Identifier, let's use my example above wallet3 and this will generate the required unique password for that BIP38 Paper Wallet you're about to make. I would write 3 as a hint on all copies of this Paper Wallet to make sure I don't forget the full Keyword. The next Paper Wallet I generate being wallet4, marked 4. Also I paste a copy of the IPG generated password into a Truecrypt encrypted container as a last chance disaster recovery. Final steps to use IPG safely. You must close this App correctly otherwise it stays a while in memory containing all your secret information. Then you need to clear the clipboard of the wallet password and I've been using an App called Clipboard Autoclear+ to do this. https://play.google.com/store/apps/details?id=de.tactilesoftworks.clipboardsentinel I've used two Paper Wallet generators, my favorite is https://www.bitaddress.org but it's a bit cumbersome to produce multiple copies of the same wallet. I also like https://bitcoinpaperwallet.com because they can produce Testnet Wallets which is a coin identical to Bitcoin but uses valueless coins purely to be for testing purposes. Google Testnet Wallets for more info. Spending from your Paper Wallet is easier to do than explain and I started by using the Blockchain.info Android App. But this has let me down with an error message "insufficient funds" and I see many complaints about this problem. I wrote to Blockchain.info about it but got no reply. Since then I moved to Mycelium Wallet https://play.google.com/store/apps/details?id=com.mycelium.wallet and have had no problems with this. Also they do a Testnet version of Mycelium which is incredibly useful. In Mycelium you just scan your Paper Wallets public address to watch how many Bitcoins there are in them. When you want to spend from the Paper Wallet, first run IPG, load the file and fill in the passwords then copy the Paper Wallet password to the clipboard. During the Send transaction Mycelium will ask to scan the wallet Private Key, it then asks for the BIP38 password which you can paste in from IPG and the amount of Bitcoin to send and off it goes. A couple of important points to consider if you're not spending the full amount from the Paper Wallet. Once your private key has been used like this you really should send the remaining Bitcoins the next Paper Wallet in the sequence called, using my example, wallet4. That's because once a private key has been used or exposed to an online device, it's no longer safe to consider it as cold storage. If you don't spend all the coins on your Paper Wallet it's likely you will get back change and you must be sure the Wallet App you're using supports this or your change will disappear as a donation to the mining community. Mycelium and Blockchain.info Wallets automatically look after sending your change back to the Paper Wallet's corresponding public address. OTHER APPS MIGHT NOT DO THIS SO BE CAREFUL. Generating Paper Wallets should be done on an offline device such as an old Android phone factory reset and only used for this purpose or a bootable Linux USB. In conclusion this approach overcomes my doubts about my ability to remember long term secure passwords, possibly years after I made them up, because I shouldn't forget the Master Password as it's something so personal to me and the Keyword is almost attached to the Paper Wallet. Leg 3 is dealt with and Legs 2 and 3 now take care of themselves. I do hope some of you find these ideas helpful. The developer of IPG Yukuku does not make any provision for donations and I would happily make a donation for this excellent App that is also available for Windows. Disclaimer, these ideas are for your consideration and debate only. I take no responsibility whatsoever for any losses that may arise however they are incurred. I have absolutely no connection or financial interest in any of the applications I have referred to here.
I am about to create a paper wallet to hold bitcoin and want it to be as secure as possible. I have a USB thumb drive (that I do not intend to use afterwards) to boot Linux on a PC to create the wallet, I know I will not be online and will connect to the printer via a cable. But I do not have access to a 'dumb' printer or even one to be a dedicated printer (mine is a Canon MX920). If I use BIP38 encryption will I need to worry about my printer?
Guys, I'm freaking out... My mom wants bitcoins...
My mom doesn't know how to work a browser past buying something on Amazon, and she asks me to invest some money in it for her. I am active in the bitcoin development community, paper wallets, shamir's secrets, BIP38, all this is nothing for me... BUT THIS IS MY MOM! The person who brought me into this world wants bitcoins, which is a mind blow in its own right, and she wants ME to take care of them... My money, I am comfortable with handling, because if I F it up it's my loss, but my mother's money is so much more valuable than mine. I mean, she's my mom, guys. I'm seriously about to have a breakdown of nervousness / happiness / stress. Someone just tell me what rational me would tell me, please. Thanks!
How it is to use Bitcoin Core for cold storage, and how it should be
We all have our fetishes, and one of mine is creating the ultimate cold storage technique. I hope you will agree that although very cumbersome, it is highly ultimate. Any feedback for improvements is welcome.
Here is the current process I have:
Prepare your cold storage computer. Start with a copy of linux. Encrypt the home folder during setup. Use a strong log in password.
Roll dice to get entropy (d6 needs 62 rolls. d10 needs 48 rolls. d16 needs 40 rolls.)
Stamp entropy into metal plate for durability. I use a d10 so I only need numeric stamps. Metal plate could be a blank square galvanized steel outlet cover.
Decide on a format for converting entropy into a brainwallet phrase. E.g. ENTROPY+PASSWORD+### where ### is a serial number. PASSWORD is a short, easy to remember word to protect you in case someone gets a copy of your entropy.
Open bitaddress.org and input your passphrase into the brainwallet tab.
Copy the private key and import it to Bitcoin Core with importprivkey.
Copy the address and dump it from Bitcoin Core with dumpprivkey.
Dumped private key should match the one created from bitaddress.
Copy the private key and paste it to the "wallet details" tab of bitaddress.
Select the "BIP38 Encrypt" button. Supply a passphrase.
Print out the encrypted private key on paper. Write down the ### index used to produce this address. You can reproduce this address from the entropy on the metal plate if you have to.
When you want to spend the bitcoins, you need a different computer, with tor, Bitcoin Core and enough of the blockchain so that it has the block that funded your cold address.
Disconnect your spending computer from the network.
Importprivkey for the address you wish to spend from. Create your transaction, which should spend always spend the entire wallet balance. Use coin control if this computer has other bitcoins on it.
Connect your spending computer to the network via tor to broadcast. Alternatively you can set walletbroadcast=0 and use the gettransaction RPC call to obtain the signed transaction. Then you can broadcast your transaction using a different computer that has never touched the private key.
Yes, I understand it would be far more convenient to use a hardware wallet. One of my goals here though is to only trust Bitcoin Core. In fact, you may have noticed that I do not even fully trust Bitcoin Core, since bitaddress.org is independently deriving addresses from the entropy.
Here is the process I want:
I would challenge Bitcoin Core to add features to achieve a similar level of security with a much less awkward process. Here's what I have in mind:
Roll dice to create Entropy. Stamp on metal for durability.
On your cold computer, convert entropy into xprivkey.
Import xprivkey to Core.
Export xpubkey from Core.
On your spending computer, import xpubkey.
Make transactions from spending computer. Export unsigned transactions.
Move unsigned transactions to cold computer for signing.
Sign transactions on cold computer.
Move signed transactions to spending computer for broadcast.
Default for Core is to broadcast transactions over tor if tor is installed, even if ordinary node activity is over normal internet.
Easy to use, client-side, open-source Bitcoin wallet to send and receive BTC from anywhere, on any device. This is a BIP39 seed. Store your printed seed in a safe & secure place. So, back in late 2013 or early 2014 I helped a friend buy some bitcoin and litecoin. I generated a BIP38 bitcoin paper wallet using bitaddress.org, and a BIP38 litecoin paper wallet using liteaddress.org (which, IIUC is a close fork of bitaddress.org). Bitcoin 2 is a scalable Bitcoin fork with private transactions and instant verified payments. BTC2 is open source and uses a Proof of Stake algorithm. BIP38. Bitcoin Improvement Protocol 38 (BIP38) provides a way to encrypt a Bitcoin private key with a long passphrase composed of human-readable words. With this extra step of encryption, it’s possible to securely share the encrypted private key with a third-party. BIP stands for Bitcoin Improvment Protocol – meaning if you have an idea to make Bitcoin better you can draft it up and if it’s accepted by the community they will start using it. So BIP38 is just the 38th proposal submitted to the Bitcoin Improvement Protocol which is currently adopted by Bitcoin users for protecting their private keys.
This video is about cracking of BIP38 Encrypted Bitcoins Private Keys. The cracking speed depends on system CPU. (Here used is i5-7200U. Keep your private keys safe by encrypting them in an industry-standard way. These guys can make you a custom laser-engraved BIP38 card: www.crypto-cards.com ... BIP38 is a way to encrypt your Bitcoin private key with a password. For the complete text guide visit: ... What is Bitcoin Mining? (In Plain English) - Duration: 16:01. This is a challenge to promote the use of Bip38 encrypted paper wallets. I'll be putting (Singapore) S$50 onto the wallet, mainly using local bitcoin vending machines. BIP38 Encrypting of your Bitcoin Private Key - Duration: 10:26. Matthew Smith 11,295 views. 10:26. Bitcoin Trading Guide for Beginners - Bitcoin Whiteboard Tuesday - Duration: 18:48.