TL;DR: What are some serious alternatives to rest.bitcoin.com (free or paid) offering JSON REST API? Having no time and resources to maintain my own full node/indexer servers, I have used multiple remote APIs to interact with the BCH blockchain. Sadly, most of them are unstable and tend to quickly die. I have used Bitprim.org, which went out of business during last year's hard fork upgrade without prior warning and returning incorrect data to its clients. I have used bitcore.io from BitPay, which returns incorrect data for unconfirmed transactions and also has very little documentation - most of the endpoints are not documented. I have used Blockchain.com in the past but they do not support BCH. I tried using BTC.com but they do not support the CashAddress format (so I assumed it is not maintained). Finally, the best service I used so far is rest.bitcoin.com, it has little downtime and is very well documented. The only issue I faced when I started using it is that it does not serve requests over TOR, which is not a big deal. The problem is that its quality is decreasing over time. There is more and more downtime, they recently dropped support for testnet (trest.bitcoin.com) WITHOUT WARNING and nothing is said about this in the documentation, the site still says it is fully operational and the error message returned says nothing about the endpoint being obsolete/deprecated. Moreover, they do not seem to maintain their repo, tons of issues are open without answer, I submitted a pull request to it and have received no answecomment so far. I am now looking for serious (reliable, documented...) alternatives. I am willing to pay for an API key. Thank you!
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.
A lengthy explanation on why BS really limited the blocksize
I found this explanation in the comments about BS's argument against raising the blocksize which doesn't get much focus here:
In my understanding, allowing Luke to run his node is not the reason, but only an excuse that Blockstream has been using to deny any actual block size limit increase. The actual reason, I guess, is that Greg wants to see his "fee market" working. It all started on Feb/2013. Greg posted to bitcointalk his conclusion that Satoshi's design with unlimited blocks was fatally flawed, because, when the block reward dwindled, miners would undercut each other's transaction fees until they all went bakrupt. But he had a solution: a "layer 2" network that would carry the actual bitcoin payments, with Satoshi's network being only used for large sporadic settlements between elements of that "layer 2". (At the time, Greg assumed that the layer 2 would consist of another invention of his, "pegged sidechains" -- altcoins that would be backed by bitcoin, with some cryptomagic mechanism to lock the bitcoins in the main blockchain while they were in use by the sidechain. A couple of years later, people concluded that sidechains would not work as a layer 2. Fortunately for him, Poon and Dryja came up with the Lightning Network idea, that could serve as layer 2 instead.) The layer 1 settlement transactions, being relatively rare and high-valued, supposedly could pay the high fees needed to sustain the miners. Those fees would be imposed by keeping the block sizes limited, so that the layer-1 users woudl have to compete for space by raising their fees. Greg assumed that a "fee market" would develop where users could choose to pay higher fees in exchange of faster confirmation. Gavin and Mike, who were at the time in control of the Core implementation, dismissed Greg's claims and plans. In fact there were many things wrong with them, technical and economical. Unfortunately, in 2014 Blockstream was created, with 30 M (later 70 M) of venture capital -- which gave Greg the means to hire the key Core developers, push Gavin and Mike out of the way, and make his 2-layer design the official roadmap for the Core project. Greg never provided any concrete justification, by analysis or simulation, for his claims of eventual hashpower collapse in Satoshi's design or the feasibility of his 2-layer design. On the other hand, Mike showed, with both means, that Greg's "fee market" would not work. And, indeed, instead of the stable backlog with well-defined fee x delay schedule, that Greg assumed, there is a sequence of huge backlogs separated by periods with no backlog. During the backlogs, the fees and delays are completely unpredictable, and a large fraction of the transactions are inevitably delayed by days or weeks. During the intemezzos, there is no "fee market' because any transaction that pays the minimum fee (a few cents) gets confirmed in the next block. That is what Mike predicted, by theory and simulations -- and has been going on since Jan/2016, when the incoming non-spam traffic first hit the 1 MB limit. However, Greg stubbornly insists that it is just a temporary situation, and, as soon as good fee estimators are developed and widely used, the "fee market" will stabilize. He simply ignores all arguments of why fee estimation is a provably unsolvable problem and a stable backlog just cannot exist. He desperately needs his stable "fee market" to appear -- because, if it doesn't, then his entire two-layer redesign collapses. That, as best as I can understand, is the real reason why Greg -- and hence Blockstream and Core -- cannot absolutely allow the block size limit to be raised. And also why he cannot just raise the minimum fee, which would be a very simple way to reduce frivolous use without the delays and unpredictability of the "fee market". Before the incoming traffic hit the 1 MB limit, it was growing 50-100% per year. Greg already had to accept, grudgingly, the 70% increase that would be a side effect of SegWit. Raising the limit, even to a miser 2 MB, would have delayed his "stable fee market" by another year or two. And, of course, if he allowed a 2 MB increase, others would soon follow. Hence his insistence that bigger blocks would force the closure of non-mining relays like Luke's, which (he incorrectly claims) are responsible for the security of the network, And he had to convince everybody that hard forks -- needed to increase the limit -- are more dangerous than plutonium contaminated with ebola. SegWit is another messy imbroglio that resulted from that pile of lies. The "malleability bug" is a flaw of the protocol that lets a third party make cosmetic changes to a transaction ("malleate" it), as it is on its way to the miners, without changing its actual effect. The malleability bug (MLB) does not bother anyone at present, actually. Its only serious consequence is that it may break chains of unconfirmed transactions, Say, Alice issues T1 to pay Bob and then immediately issues T2 that spends the return change of T1 to pay Carol. If a hacker (or Bob, or Alice) then malleates T1 to T1m, and gets T1m confirmed instead of T1, then T2 will fail. However, Alice should not be doing those chained unconfirmed transactions anyway, because T1 could fail to be confirmed for several other reasons -- especially if there is a backlog. On the other hand, the LN depends on chains of the so-called bidirectional payment channels, and these essentially depend on chained unconfirmed transactions. Thus, given the (false but politically necessary) claim that the LN is ready to be deployed, fixing the MB became a urgent goal for Blockstream. There is a simple and straightforward fix for the MLB, that would require only a few changes to Core and other blockchain software. That fix would require a simple hard fork, that (like raising the limit) would be a non-event if programmed well in advance of its activation. But Greg could not allow hard forks, for the above reason. If he allowed a hard fork to fix the MLB, he would lose his best excuse for not raising the limit. Fortunately for him, Pieter Wuille and Luke found a convoluted hack -- SegWit -- that would fix the MLB without any hated hard fork. Hence Blockstream's desperation to get SegWit deployed and activated. If SegWit passes, the big-blockers will lose a strong argument to do hard forks. If it fails to pass, it would be impossible to stop a hard fork with a real limit increase. On the other hand, SegWit needed to offer a discount in the fee charged for the signatures ("witnesses"). The purpose of that discount seems to be to convince clients to adopt SegWit (since, being a soft fork, clients are not strictly required to use it). Or maybe the discount was motivated by another of Greg's inventions, Confidential Transactions (CT) -- a mixing service that is supposed to be safer and more opaque than the usual mixers. It seems that CT uses larger signatures, so it would especially benefit from the SegWit discount. Anyway, because of that discount and of the heuristic that the Core miner uses to fill blocks, it was also necessary to increase the effective block size, by counting signatures as 1/4 of their actual size when checking the 1 MB limit. Given today's typical usage, that change means that about 1.7 MB of transactions will fit in a "1 MB" block. If it wasn't for the above political/technical reasons, I bet that Greg woudl have firmly opposed that 70% increase as well. If SegWit is an engineering aberration, SegWit2X is much worse. Since it includes an increase in the limit from 1 MB to 2 MB, it will be a hard fork. But if it is going to be a hard fork, there is no justification to use SegWit to fix the MLB: that bug could be fixed by the much simpler method mentioned above. And, anyway, there is no urgency to fix the MLB -- since the LN has not reached the vaporware stage yet, and has yet to be shown to work at all.
Newbs might not know this, but bitcoin recently came out of an intense internal drama. Between July 2015 and August 2017 bitcoin was attacked by external forces who were hoping to destroy the very properties that made bitcoin valuable in the first place. This culminated in the creation of segwit and the UASF (user activated soft fork) movement. The UASF was successful, segwit was added to bitcoin and with that the anti-decentralization side left bitcoin altogether and created their own altcoin called bcash. Bitcoin's price was $2500, soon after segwit was activated the price doubled to $5000 and continued rising until a top of $20000 before correcting to where we are today. During this drama, I took time away from writing open source code to help educate and argue on reddit, twitter and other social media. I came up with a reading list for quickly copypasting things. It may be interesting today for newbs or anyone who wants a history lesson on what exactly happened during those two years when bitcoin's very existence as a decentralized low-trust currency was questioned. Now the fight has essentially been won, I try not to comment on reddit that much anymore. There's nothing left to do except wait for Lightning and similar tech to become mature (or better yet, help code it and test it) In this thread you can learn about block sizes, latency, decentralization, segwit, ASICBOOST, lightning network and all the other issues that were debated endlessly for over two years. So when someone tries to get you to invest in bcash, remind them of the time they supported Bitcoin Unlimited. For more threads like this see UASF
Debunked: "Fast transactions using 0-conf were never safe in Bitcoin. Satoshi added Replace-by-Fee himself and said we shouldn't use unconfirmed transactions."
In the Bitcoin design — today implemented in the form of Bitcoin Cash — the blockchain is used to "confirm" or "timestamp" whichever transaction sent by the same party came first. This prevents cheating, which can otherwise be done by replacing a transaction going to a merchant with one going to another or back to the payee themselves. A transaction waiting in line to be timestamped is called 0-conf and can be used to facilitate instant transactions at lower fraud rates than credit cards. The incentives needed for the above mode of operation is derived from Proof-of-Work, which in combination with protocol and client settings creates the positive pull needed to ensure that it is always more likely that nodes will only accept the first transaction that they saw and record it in a block as soon as possible. Like everything in Bitcoin it can never be fully guaranteed, but it can be considered "reasonable certain", which is also what we see in practice. Sources 1, 2, 3, 4 Replace-by-Fee being enabled by default in Bitcoin Core clients made 0-conf in particular much less secure on its chain, because the change of expectations that it brought in practice changed the "first seen" rule to a "highest-bid-until-it-gets-into-a-block" rule. It did this by making it much more likely that a payee marks his transaction for potential later changes to the recipient field in the form of a replacement transaction with increased fee, in turn complicating the receiving process for merchants and making the nodes (solo-miners and pools) that run the timestamping service less strict with the first seen rule in general. Some have claimed Satoshi invented this form of RBF and that it was present in Bitcoin from the start. These are actually complete lies. Satoshi never supported such a feature. He once had something vaguely similar in mind, but removed it to improve security. In a forum post he also explained that a replacement transaction must be the exact same as the original transaction except with a higher fee, which would of course not in any significant way allow tempering with the order in which transactions were accepted by the network. Sources 1, 2 Bitcoin always had 0-conf. The first seen rule is essential to Bitcoin and the only way to have fast transaction speeds and immediately re-spendable coins; the security of which can then be improved on with a payment processor if one wants to or by waiting for the "confirmation" which will be "computationally hard" to reverse. Source Satoshi himeself was a big proponent of 0-conf payments and expected them to work fine for paying many if not most merchants. He just went out of his way to explain their drawbacks in a rather immature network and how they could be used more safely. He also did serious work to make them function as well as they could. Sources 1, 2, 3, 4 0-conf transactions on Bitcoin Cash with 1 sat/byte or more in fees are safe enough for most use cases today, including commercial transactions. You can pay for digital goods online and have them delivered without having to wait for your transaction to confirm. With a high degree of certainty, it will eventually. Timestamping happens on average once every 10 minutes and the BCH chain being congestion free ensures it won't take days to make the transaction actually computationally hard to reverse. In order to have close to zero risk, businesses can still wait for 1 confirmation if they so choose. Earlier in Bitcoins history it would have been more than one and over time the risk will tend to decrease as the strength of the network and the stakes of the nodes in the network itself increases. This is all Satoshi stuff. It should be noted that Satoshi did temporarily limit the spending of such unconfirmed transactions received from a different wallet, in the reference client itself, since these — especially back then — were less secure by not yet being included in a block and passing them on too quickly actually risked breaking your wallet. This is however not a valid argument to reject the viability of 0-conf itself or to stop improving on the concept. Source
Hey guys, I thought I would put together an in-depth tour of the Gridcoin wallet software for all of our recent newcomers. Here I'll be outlining all the features and functions the windows GUI wallet has to offer, along with some basic RPC command usage. I'll be using the windows wallet as an example, but both linux and macOS should be rather similar. I'll be including as many pictures as I can as embedded hyperlinks. Edit: Note that since I originally made this there has been a UI update, so your client will be different colors but all the button locations are in the same place. This is my first post like this, so please forgive me if this appears a little scatter-brained. This will not cover the mining setup process for pool or solo miners. When you launch the wallet software for the first time you should be greeted with this screen.
If you're a pool miner or investor, press cancel.
If you're a solo miner, enter your email you used to sign up for projects and press OK.
If you're not sure or haven't decided yet, press cancel. We can come back to this later.
After that prompt, you should be left sitting on the main overview tab with several fields on it. From top to bottom:
Available: All coins available to be sent or staked (I'll cover this term later).
Stake: All coins that are currently staking.
Unconfirmed: All coins that have been received and have not yet received 110 confirmations.
Total: All coins in your wallet. (The sum of the above fields)
Blocks: How many blocks your client has in it's chain. Your wallet just started syncing with the network so this number will be low.
Difficulty: How difficult it is for someone to stake the next block.
Net Weight: An estimate for how many coins are staking on the entire network.
Coin Weight: How many of your coins that are currently staking.
Magnitude: A quantifier for how much work you put in mining. For solo miners only. For pool miners, this value will always be 0.
Project: Displays the projects you're working on, one at a time. For solo miners only. For pool miners, this will always say "INVESTOR".
CPID: Cross Project Identifier. Used to keep track of users across projects. For solo miners only. For pool miners, this will always say "INVESTOR".
Status: Displays various status messages.
Current Poll: Displays the latest poll.
Client Messages: Displays various client messages.
Now onto the other tabs on the left side. Currently we're on the Overview tab, lets move down to the Send tab. This tab it pretty self-explanatory, you use it if you want to send coins, but I'll go over the fields here:
Pay To: Enter a valid gridcoin address to send coins too. Gridcoin addresses always start with an S or and R.
Label: Enter a label here and it will put that address in your "address book" under that label for later use. You can leave it blank if you don't want it in your address book.
Message: Enter a message here if you want it attached to your transaction.
Amount: How many coins you want to send.
Add Attachment: Leave this alone, it is broken.
Track Coins: This doesn't do anything.
Now down to the Receive tab. Here you should have a single address listed. If you double click on the label field, you can edit it's label.
New: Generate a new address.
If you click on an address, the rest of the options should be clickable.
Copy: Copy the selected address to your clipboard.
Show QR Code: Show a scan-able QR code for the selected address.
Sign Message: Cryptographically sign a message using the selected address.
The Transactions tab is pretty boring considering we have no transactions yet. But as you can see there are some sorting tools at the top for when you do have transactions listed.
ADDRESS BOOK TAB
The Address Book is where all the addresses you've labeled (that aren't yours) will show up.
Verify Message: Verifies a message was signed by the selected address.
The rest of the functions are similar to the functions on the Receive tab.
Onto the Voting tab. There wont be any polls because we aren't in sync yet.
Reload Polls: Pretty self-explanatory, I've never had to use this.
Load History: By default, the wallet will only display active polls. If you want to view past polls you can use this.
Create Poll: You can create a network-wide poll. You must have 100,000 coins as a requirement to make a poll. (Creating a poll does not consume the coins)
Display coin control features (experts only!): This allows you to have a great deal of control over the coins in your wallet, check this for now and I'll explain how to use it further down. Don't forget to click "Apply".
ENCRYPTING YOUR WALLET
Now that all of that is out of the way. The first thing you'll want to do is encrypt your wallet. This prevents anybody with access to your computer from sending coins. This is something I would recommend everyone do. Go to Settings > Encrypt Wallet and create a password. YOU CANNOT RECOVER YOUR COINS IF YOU FORGET YOUR PASSWORD. Your wallet will close and you will have to start it up again. This time when it opens up, you should have a new button in the bottom left. Now if you want to stake you will have to unlock your wallet. Notice the "For staking only" box that is checked by default. If you want to send a beacon for solo mining or vote, you will need to uncheck this box.
GETTING IN SYNC AND ICONS
Before we continue, Let's wait until we're in sync. Depending on your internet speeds, this could take from several hours to over a day or 2. This can be sped up by using Advanced > Download Blocks, but this can still take several hours. This is what an in-sync client should look like. Notice the green check to the right of the Receive tab. All of these icons give you information when you hover your mouse over them. The lock The arrow tells you if you're staking. If you aren't staking, it will tell you why you're not staking. If you are staking it will give you an estimated staking time. Staking is a very random process and this is only an estimate, not a countdown. The connection bars tell you how many connections to the network you have. The check tells you if you're in sync.
WHAT IS STAKING?
Now I've said "stake" about a million times so far and haven't explained it. Gridcoin is a Proof of Stake (PoS) coin. Unlike bitcoins Proof of Work (PoW), PoS uses little system resources, so you can use those resources for scientific work. PoS works by users "Staking" with their balance. The higher the balance, the higher the chance to create, or "stake" a block. This means you need to have a positive balance in order to stake. Theoretically, you can stake with any amount over 0.0125 coins, but in practice it's recommended to have at least 2000 coins to reliably stake. Staking is important for solo miners, because they get paid when they stake. Pool miners don't need to stake in order to get paid however. So if you want to solo mine, you'll need to buy some coins from an exchange or start in the pool first and move to solo when you have enough coins. In addition to Research Rewards for miners, anyone who holds coins (solo miners, pool miners, and investors) gets 1.5% interest annually on top of your coins. So it can be beneficial for pool miners to stake as well. Here is a snippet of what a research rewards transaction looks like from my personal wallet. I have a label on that address of "Payout address" as you can see here.
UTXOS AND COIN CONTROL
At this point you'll need some coins. You can use one of our faucets like this one or this one to test coin control out. First let me explain what a UTXO is. UTXO stands for Unspent Transaction Output. Say you have an address with 0 coins in it, and someone sends you 10 coins like I've done here. Those 10 coins are added to that address in the form of a UTXO, so we have an address with one 10 coin UTXO in it. Now we receive another 5 coins at the same address, like so. Now we have an address with one 10 coin UTXO and one 5 coin UTXO. But how do we view how our addresses are split up into different UTXOs? Earlier we checked the "Display coin control features" box in Settings > Options > Display. Once that's checked you'll notice there's another section in the Send tab labeled "Coin Control Features". If you click the "Inputs" button, you'll get a new window. And look, there's our 2 UTXOs. All UTXOs try to stake separately from each other, and remember that the chance a UTXO has to stake is proportional to it's size. So in this situation, my 10 coin UTXO has twice the chance to stake as my 5 coin UTXO. Now wallets, especially ones that make a lot of transactions, can get very fragmented over time. I've fragmented my wallet a little so I can show you what I'm talking about. How do we clean this up? We can consolidate all this into one UTXO by checking all the boxes on the left and selecting OK. Now pay attention to the fields on the top:
Quantity: The total amount of UTXOs we have selected.
Amount: The total amount of coins we have selected.
Fee: How much it would cost in fees to send all those UTXOs (more UTXOs = more transaction data = more fees)
After Fee: Amount - Fees.
Bytes: How large the transaction is in bytes.
Priority: How your client would prioritize making a transaction with this specific set of UTXOs selected had you not used coin control.
Low Output: If your transaction is less than 0.01 coins (I think).
custom change address: You can set the address you get your change back at, by default it will generate a new address.
So let's fill out our transaction so we end up with 1 UTXO at the end. In "Pay To:" Just put any address in your wallet, and for the amount put what it has listed in the "After Fee" Field. Just like this. Notice how we get no change back. Now click "Send", we'll be prompted to enter our passphrase and we're asked if we want to pay the fee, go ahead and click "Yes". Now if we go back to the Overview tab we get this funky icon. If you hover your mouse over it, it says "Payment to yourself", and the -0.0002 GRC is the network transaction fee. (Ignore the first one, that was me fragmenting my wallet) Now if we look at the Coin Control menu, we can see that we've slimmed our wallet down from 7 UTXOs to 1. Now why would you want to use coin control? 2 Situations:
UTXOs less than 0.0125 coins cannot stake. So you can combine a lot of tiny, useless UTXOs into 1 bigger one that can stake.
After a UTXO stakes, it cannot stake for another 16 hours. So if you have 1 large UTXO that is big enough to stake more than once every 16 hours, you can split it into smaller UTXOs which can allow you to stake slightly more often.
By default, the wallet will always generate a new address for change, which can make your wallet get very messy if you're sending lots of transactions. Keep in mind that more UTXOs = larger transactions = more fees.
Sidenote - When you stake, you will earn all research rewards owed reguardless of which UTXO staked. However, you'll earn the 1.5% interest for that UTXO. Not your whole wallet.
A fork is when the network splits into multiple chains, with part of the network on each chain. A fork can happen when 2 blocks are staked by different clients at the same time or very close to the same time, or when your client rejects a block that should have been accepted due to a bug in the code or through some other unique circumstance. How do I know if I'm on a fork? Generally you can spot a fork by looking at the difficulty on your Overview tab. With current network conditions, if your difficulty is below 0.1, then you're probably on a fork. You can confirm this by comparing your blockhash with someone elses, like a block explorer. Go to [Help > Debug Window > Console]. This is the RPC console, we can use to do a lot of things. You can type help to get a list of commands, and you can type help [command you need help with] (without the brackets) to get information on a command. We'll be using the getblockhash [block number] command. Type getblockhash [block number] in the console, but replace [block number] with the number listed next to the "Blocks:" field on the Overview tab. This will spit out a crazy string of characters, this is the "blockhash" of that block. Now head over to your favorite block explorer, I'll be using gridcoinstats. Find the block that you have the hash for, use the search bar or just find it in the list of blocks. Now compare your hash with the one gridcoinstats gives you. Does it match? If it matches, then you're probably good to go. If it matches but you still think you're on a fork, then you can try other block explorers, such as gridcoin.network or neuralminer.io. If it doesn't match, then you need to try to get off that fork. How do I get off a fork?
Just wait for an hour or two. 95% of the time your client is able to recover itself from a fork given a little time.
Restart the client, wait a few minutes to see if it fixes itself. If it doesn't restart again and wait. Repeat about 4 or 5 times.
Find where the fork started. Using the getblockhash command, go back some blocks and compare hashes with that on a block explorer so you can narrow down what the last block you and the block explorer had in common. Then use reorganize [the last block hash you had in common]. Note that reorganize takes a blockhash, not a block number.
A listening node is a node that listens for blocks and transactions broadcasted from nodes and forwards them on to other nodes. For example, during the syncing process when you're getting your node running for the first time, you're downloading all the blocks from listening nodes. So running a listening node helps support the network. Running a gridcoin listening node is simple. All you need to do is add listen=1 to your gridcoinresearch.conf and you need to forward port 32749 on your router. If you don't know how to port forward, I'd suggest googling "How to port forward [your router manufacturer]".
sidechains Sidechains are secondary two-way "pegged" blockchains that are interoperable with the bitcoin blockchain, which allow assets to be transferred between chains and not be confined to the bitcoin blockchain policies. Lightning Network (LN) LN is a "caching layer" for Bitcoin, creating off-chain payment channels using a new sighash opcode which allows the Bitcoin network to scale transactions to billions of transactions which can be processed nearly instantly.
In order for sidechains to work and for Blockstream to be successful, Blockstream needs to artificially keep the Bitcoin blockchain at a low capacity (max_block_size = 1MB), so that they can push users off of the Bitcoin blockchain onto a sidechain where assets (transactions, contracts, etc.) can happen. By doing this, they are forcibly (see "protocol wars") able to create an environment where their solution is more desirable, creating a second premium tiered layer. The Bitcoin blockchain will end up being for "regular" users and sidechains will be for premium users that will pay to have their assets moved with speed, consistency, and feasibility.
"While such cryptographic transfer of value is near-instantaneous, ensuring that the transaction has been included in the consensus of the shared ledger (aka. blockchain) creates delays ranging from a few minutes to hours, depending on the level of reliability required. Inclusion in the blockchain is performed by miners, who preferentially include transactions paying greatest fee per byte. Thus using the blockchain directly is slow, and too expensive for genuinely small transfers (typical fees are a few cents)." - Source
As you can see from Blockstream’s motivations and past history, it’s become very clear to the entire Bitcoin community that their intentions are to sabotage Bitcoin in order to make sidechains the go-to platform for anyone in the world to be able to transfer assets on the blockchain with speed and scalability. They have never intended on raising the block size, do not plan on it, and are creating a volatile ecosystem so they can sell their premium second tier platform to users through control and censorship.
This is an update/edit as it has recently come to light from Blockstream executive Greg Maxwell that Blockstream plans to privatize sidechains through the limiting of the Bitcoin blockchain and generate revenue through subscriptions, transaction fees, support (consulting), and custom development work. Their first client as it turns out is major bank and financial firm, PWC.
Edit: To the Core dev who is harassing me over PM, I have reported you to the reddit admins. Edit: A redditor who wanted to remain anonymous asked me to also include this information which seems just as important and relevant to the plan:
Concerning SegWit, it would also be necessary to mention that it not just fixes tx malleability, but also makes opening and closing Lightning channels cheaper. Lightning will use very complex scripts, so the transaction size for creating a channel will take like 2-5x more space than an ordinary transaction, resulting in an increased transaction fee. With SegWit deployed, the scripts are removed from the blocks, so the fees for ordinary tx and opening a channel will be the same.
Edit: To those that have gifted me gold, thank you!
The irreversible transactions of BCH needs to be celebrated more often!
We've all read many posts about how great the low transfer fees are when using Bitcoin Cash, however I think one very important thing keeps being overlooked. Many people forget to praise the irreversible nature of a BCH transaction when they explain the benefits of Bitcoin Cash over old Bitcoin. One of the newer "features" in BTC is the ability to reverse a transaction before it has been confirmed. This breaks something important. Bitcoin was intended to be used as if you're handing someone paper money in real life. The transaction is fast, it's cheap and it's irreversible (unless he decides to hand the cash back to you of course). This irreversible nature allows merchants to accept BCH transactions with 0 confirmations because once it is in the mempool it is almost guaranteed to enter the blockchain. If the seller sees your unconfirmed payment in his own client's mempool he knows that 10 seconds later pretty much every miner will have it too. In old Bitcoin this quality was lost with the introduction of reversible transactions. If you sell a beer with BTC and notice the transaction in the mempool you can't assume that it will enter the blockchain because as soon as the buyer walks away he can reverse the transaction. BTC is currently trying to solve this problem (that they have created themselves) by introducing "The Lightning Network". You've probably seen the classic coffee shop example where someone sets up payment channels for microtransactions? With Bitcoin Cash you don't need a Lightning Network because simply seeing the transaction in the mempool is enough. No need to set up a new channel every time you visit a new pub, no need to pay anyone extra for maintaining Lightning, no risk of trust getting involved with shared channels etc. Microtransactions can happen on the BCH blockchain just fine and they can be accepted almost instantly without delay for the next customer. Naturally there's always risk involved when accepting payment without any confirmations at all. You increase the required number of confirmations with the price of the product, 0 is for when very small amounts of BCH is involved. If a seller loses the price of 1 beer but in turn can accept crypto without holding up the queue at the bar, then it's worth it. If it means not involving side-chains or external networks, then it's worth it. How many people are there around anyway that can use a botnet to try and beat the first transaction announcement just to get a free beer? Let's not forget to mention the irreversible transactions along with the super low fees when explaining the perks with Bitcoin Cash! It's a big part of how Bitcoin used to be.
2 more blatant LIES from Blockstream CTO Greg Maxwell u/nullc: (1) "On most weeken[d]s the effective feerate drops to 1/2 satoshi/byte" (FALSE! The median fee is now well over 100 sat/byte) (2) SegWit is only a "trivial configuration change" (FALSE! SegWit is the most radical change to Bitcoin ever)
Below are actual quotes (archived for posterity) showing these two latest bizarre lies (from a single comment!) now being peddled by the toxic dev-troll Greg Maxwell u/nullc - CTO of AXA-owned Blockstream: (1) Here is AXA-owned Blockstream CTO Greg Maxwell u/nullclying about fees:
On most weeken[d]s the effective feerate drops to 1/2 satoshi/byte... [?!?!] basically nothing-- which is how traffic will be on most weekdays if there is only a bit more capacity.
Miners could trigger a doubling of the network's capacity with no disruption in ~2 weeks, the software for it is already deployed all over the network-- on some 90%+ of nodes (though 20% would have been sufficient!), miners need only make a trivial configuration change [SegWit] [?!?!]
(3) Here's the sickest, dirtiest lie ever from Blockstream CTO Greg Maxwell u/nullc: "There were nodes before miners." This is part of Core/Blockstream's latest propaganda/lie/attack on miners - claiming that "Non-mining nodes are the real Bitcoin, miners don't count" (their desperate argument for UASF)
https://np.reddit.com/btc/comments/6cega2/heres_the_sickest_dirtiest_lie_ever_from/ Seriously? This is the guy that the astroturfers / trolls / sockpuppets / suicidal UASF lemmings from r\bitcoin want as their "leader" deciding on the "roadmap" for Bitcoin? Well, then it's no big surprise that Greg Maxwell's "roadmap" has been driving Bitcoin into a ditch - as shown by this recent graph: https://np.reddit.com/btc/comments/6a72vm/purely_coincidental At this point, the sane people involved with Bitcoin be starting to wonder if maybe Greg Maxwell is just a slightly-more-cryptographically-talented version of another Core nut-job: the notoriously bat-shit insane Luke-Jr. Commentary and analysis Greg is supposedly a smart guy and a good cryptographer - but now for some weird reason he seems to be going into total melt-down and turning bat-shit insane - spreading outrageous lies about fees and about SegWit. Maybe he can't handle the fact that that almost 60% of hashpower is now voting for bigger blocks - ie the majority of miners are explicitly rejecting the dead-end scaling stalling road-map of "One Meg" Greg & Core/Blockstream/AXA, based on their centrally-planned blocksize + their dangerous overly-complicated SegWit hack. To be clear: there is a very specific reason why the SegWit-as-a-soft-fork hack is very dangerous: doing SegWit-as-a-soft-fork would dangerously require making all coins "anyone-can-spend". This would create an enormous new unprecedented class of threat vectors against Bitcoin. In other words, with SegWit-as-a-soft-fork, for the first time ever in Bitcoin's history, a 51% attack would not only be able to double-spend, or prevent people from spending: with SegWit-as-a-soft-fork, a 51% attack would, for the first time ever in Bitcoin, be able to steal everyone's coins. This kind kind of "threat vector" previously did not exist in Bitcoin. And this is what Greg lies and refers to as a "minor configuration change" (when SegWit is actually the most radical and irresponsible change ever proposed in the history of Bitcoin) - in the same breath where he is also lying and saying that "fees are 1/2 satoshi per byte" (when fees are actually hundreds of satoshis per byte now). Now, here is the truth - which AXA-owned Blockstream CTO Greg Maxwell u/nullc doesn't want you to know - about fees and about SegWit: (1) Fees are never "1/2 satoshi per byte" - fees are now usually hundreds of satoshis per byte The network is now permanently backlogged, and fees are skyrocketing, as you can see from this graph: https://jochen-hoenicke.de/queue/#2w The backlog used to clear out over the weekend. But not anymore. Now the Bitcoin network is permanently backlogged - and the person most to blame is the incompetent / lying toxic dev-troll AXA-owned Blockstream CTO Greg Maxwell u/nullc. The median fee on the beige-colored zone on this graph shows that most people are actually paying 280-300 satoshis / byte in the real world - not 1/2 satoshi / byte as lying Greg bizarrely claimed. You can also compare with these other two graphs, which show similar skyrocketing fees: http://statoshi.info/dashboard/db/fee-estimates https://bitcoinfees.21.co/ So when AXA-owned Blockstream CTO Greg Maxwell u/nullc says "On most weeken[d]s the effective feerate drops to 1/2 satoshi/byte.. basically nothing"... everyone can immediately look at the graphs and immediately see that Greg is lying. AXA-owned Blockstream CTO Greg Maxwell u/nullc is the "mastermind" to blame for Bitcoin's current suicidal dead-end roadmap, which is causing:
declining market cap (now below 50% of total cryptocurrency market cap)
I mean, seriously, what the fuck?!? How can people even be continue to think that this guy Greg Maxwell u/nullcany credibility left at this point, if he's publicly on the record making this bizarre statement that fees are 1/2 satoshi per byte, when everyone already knows that fees are hundreds of satoshis per byte??? And what is wrong with Greg? Supposedly he's some kind of great mathematician and cryptographer - but he's apparently incapable of reading a simple graph or counting? This is the kind of "leader" who people the ignorant brainwashed lemmings on r\bitcoin "trust" to decide on Bitcoin's "roadmap"? Well - no wonder shit like this graph is happening now, under the leadership of a toxic delusional nutjob like "One Meg" Greg, the "great mathematician and cryptoprapher" who now we discover apparently doesn't know the difference between "1/2 a satoshi" versus "hundreds of satoshis". How can the community even have anything resembling a normal debate when a bizarre nutjob like Greg Maxwell u/nullc is considered some kind of "respected leader"? How can Bitcoin survive if we continue to listen to this guy Greg who is now starting to apparently show serious cognitive and mental issues, about basic obvious concepts like "numbers" and "nodes"? (2) SegWit would bethe most radical and irresponsible change ever in the history of Bitcoin - which is why most miners (except centralized, central-banker-owned "miners" like BitFury and BTCC) are rejecting SegWit. Below are multiple posts explaining all the problems with SegWit. Of course, it would be nice to fix malleability and quadratic hashing in Bitcoin. But as the posts below show, SegWit-as-a-soft-fork is the wrong way to do this - and besides, the most urgent problem facing Bitcoin right now (for us, the users) is not malleability or quadratic hashing - the main problem in Bitcoin right now is the never-ending backlog - which SegWit is too-little too-late to fix. By the way, there are many theories out there regarding whyAXA-owned Blockstream CTO Greg Maxwell u/nullc is so insistent on forcing everyone to adopt SegWit. Maybe I'm overly worried, but my theory is this: due to the sheer complexity of SegWit (and the impossibility of ever "rolling it back" to to the horrific "anyone-can-spend" hack which it uses in order to be do-able as a soft fork), the real reason why AXA-owned Blockstream CTO Greg Maxwell u/nullc insists on forcing SegWit on everyone is so that Blockstream (and their owners at AXA) can permanently centralize and control Bitcoin development). At any rate, SegWit is clearly not the way forward for Bitcoin - and it is not even something that we can "compromise" on. Bitcoin will be seriously harmed by SegWit-as-a-soft-fork - and we really need to be asking ourselves why a guy like Greg Maxwell u/nullc insists on lying and saying that SegWit is a "minor configuration change" when everyone who understands Bitcoin and programming knows that SegWit is a messy dangerous hack which would be the most radical and irresponsible change ever introduced into Bitcoin - as all the posts below amply demonstrate.
Core Segwit – Thinking of upgrading? You need to read this!
Segwit cannot be rolled back because to non-upgraded clients, ANYONE can spend Segwit txn outputs. If Segwit is rolled back, all funds locked in Segwit outputs can be taken by anyone. As more funds gets locked up in segwit outputs, incentive for miners to collude to claim them grows.
Blockstream Core developer luke-jr admits the real reason for SegWit-as-soft-fork is that a soft fork does not require consensus, a hard fork would require consensus among network actors and "that it[SegWit] would fail on that basis."
3 excellent articles highlighting some of the major problems with SegWit: (1) "Core Segwit – Thinking of upgrading? You need to read this!" by WallStreetTechnologist (2) "SegWit is not great" by Deadalnix (3) "How Software Gets Bloated: From Telephony to Bitcoin" by Emin Gün Sirer
Segwit as a soft-fork is not backward compatible. Older nodes do not continue to protect users' funds by verifying signatures (because they can't see these). Smart people won't use SegWit so that when a "Bitcoin Classic" fork is created, they can use or sell their copies of coins on that fork too
jtoomim "SegWit would require all bitcoin software (including SPV wallets) to be partially rewritten in order to have the same level of security they currently have, whereas a blocksize increase only requires full nodes to be updated (and with pretty minor changes)."
Segwit is too dangerous to activate. It will require years of testing to make sure it's safe. Meanwhile, unconfirmed transactions are at 207,000+ and users are over-paying millions in excessive fees. The only option is to upgrade the protocol with a hard fork to 8MB as soon as possible.
"SegWit encumbers Bitcoin with irreversible technical debt. Miners should reject SWSF. SW is the most radical and irresponsible protocol upgrade Bitcoin has faced in its history. The scale of the code changes are far from trivial - nearly every part of the codebase is affected by SW" Jaqen Hash’ghar
Blockstream having patents in Segwit makes all the weird pieces of the last three years fall perfectly into place
~ u/Falkvinge (Rick Falkvinge, founder of the first Pirate Party) https://np.reddit.com/btc/comments/68kflu/blockstream_having_patents_in_segwit_makes_all Finally, we need to ask ourselves: (1) Why is AXA-owned Blockstream CTO Greg Maxwell u/nullc engaging in these kind of blatant, obvious lies about fees and about SegWit - the two most critical issues facing Bitcoin today? (2) Why is AXA-owned Blockstream CTO Greg Maxwell u/nullc so insistent on trying to force Bitcoin to accept SegWit, when SegWit is so dangerous, and when there are other, much safer ways of dealing with minor issues like malleability and quadratic hashing? (3) Now that AXA-owned Blockstream CTO Greg Maxwell u/nullc has clearly shown that:
He doesn't know the difference between "half a satoshi" and "hundreds of satoshis",
He doesn't know the difference between "minor configuration change" and "the most irresponsible and radical change ever" in Bitcoin, and
He thinks that somehow "non-mining nodes existed before mining nodes"
...then... um... Is there any mechanism in our community for somehow rejecting / ignoring / removing this toxic so-called "leader" Greg Maxwell who has now clearly shown that he is totally delusional and/or mentally incapacitated - in order to prevent him from totally destroying our investment in Bitcoin?
What if Bitcoin Core becomes a major altcoin after a fork?
Hello. This is from a conversation about the Bitcoin XT fork over here. First I will post the full quote then reply to individual quotes:
But as for the three coins though- remember that unless explicitly told not to, nodes on the two chains will still try to relay transactions to each other. That leads to a few scenarios:
Old-coin transaction with low fee- overloaded Core chain rejects, 101 chain accepts. Core chain thinks coins haven't moved, 101 chain thinks they have. Double spend possible (spend once with 101 merchant and low fee, spend again with Core merchant and higher fee). Since old coins make up a majority of the market right now, this attack may become common.
Old-coin transaction with high fee- overloaded Core chain accepts, 101 chain accepts. Both chains see coins have moved. As long as they are moved to a fresh address they stay 'old' and in sync on both chains. Double spend not possible.
Core-coin transaction- rejected by 101 chain as originating address doesn't have coins in it. Double spend not possible.
101-coin transaction- rejected by Core chain either due to insufficient fee or because originating address doesn't have coins in it. Double spend not possible.
The real problem comes when an address gets mixed coins- for example when you take an old-coin address (such as a paper wallet) and then send coins to it in a transaction that only works on one chain. Now you have two copies of that address, one on each chain, each with different ideas about how many coins are in the address and where they came from.
Double spend possible (spend once with 101 merchant and low fee, spend again with Core merchant and higher fee). Since old coins make up a majority of the market right now, this attack may become common.
Wait a second. How many people believe this gibberish? If Core is making blocks much slower than 101, won't RBF make it extremely easy to keep the 101 transactions from being included on Core? [Update: Apparently it will be easier to split the dual-chain-bitcoins by tainting them. Please ignore my instructions before this edit on New Years day 2016.] This doesn't even require a modified Bitcoin Core client, does it? That isn't really a "double spend", that is why a Core client allows it. Let me name the three currencies that will exist after the fork:
Core-bitcoin - bitcoin that is ONLY valid on the Core chain
101-bitcoin - bitcoin that is ONLY valid on the 101 chain
Dual-chain-bitcoin - bitcoin residing at the same addresses on both chains and for which a transaction could be valid on both chains (I'm not exactly sure what happens when derps send different transactions to the same addresses on both chains but I do know this is a bad idea.)
The only way to be sure we have "Bitcoin" back is if Core reverts 101 and everyone gives up on 101. If that happens it means that the transaction on the 101 chain was not really a Bitcoin transaction. Either everyone gives up on Core, or we have three currencies, or everyone splits all their dual-chain-bitcoin into the two currencies, and/or Core reverts 101. None of these scenarios require "double spending" or a "51% attack", they are conflicting/competing definitions of Bitcoin.
Old-coin transaction with high fee- overloaded Core chain accepts, 101 chain accepts. Both chains see coins have moved. As long as they are moved to a fresh address they stay 'old' and in sync on both chains. Double spend not possible.
You don't want to be waiting for confirmations on Core every time you spend your 101-bitcoins do you? So the first thing anyone with a brain will want to do is split their dual-chain-bitcoin. Do this by sending bitcoin to a new wallet on the 101 chain and using RBF to send it to a different wallet on Core.
The real problem comes when an address gets mixed coins- for example when you take an old-coin address (such as a paper wallet) and then send coins to it in a transaction that only works on one chain. Now you have two copies of that address, one on each chain, each with different ideas about how many coins are in the address and where they came from.
That is a small educational problem for the clueless. The real problem is if Bitcoin whales choose Core. Splitting the dual-chain-bitcoin is going to be a pain in the ass if Core is going very slow with all blocks being filled to the max. Therefore Core miners are likely to use another patch that will prioritize ALL transactions by fee no matter when they were sent (okay you could call this legalized "double spending" if you consider unconfirmed transactions to be "spent"). The 101 believers will want to sell their Core-bitcoins so they pay very high transaction fees on the Core chain. They will pay these fees with "Bitcoins" they have already spent on the 101 chain so this will not be expensive if Core quickly dies as they believe it will. Then Theymos, etc, sell their 101-bitcoins and buy Core-bitcoins. Then more miners go back to Core because it becomes more profitable (even if they want to be paid in 101-bitcoins). We have observed how far the price of Bitcoin can fall when it is one currency and most of the bitcoin has hardly moved. Who is going to buy all Theymos' and Satoshi's 101-bitcoins? Bitstamp? BitPay? CORE MINERS?!?!? Can they even afford to do so? Miners may have to mine both chains just to pay their bills. Then 101 "investors" may have big problem. You could make a poll of Bitcoin holders and ask when they might buy/sell 101-bitcoins or Core-bitcoins, but just like the miner "votes" this isn't any kind of binding commitment. A well-funded Ethereum prediction market would be a very good way to predict the outcome of this battle, especially after the decentralized Bitcoin exchange Dapp has had its "security audit". Notice that Satoshi will soon have a third chain they can buy into without identifying themselves or trusting an exchange. She could also bet on this prediction market. If she is lucky, someone will write an exchange Dapp to allow separate trading of Core-bitcoins, 101-bitcoins, and dual-chain-bitcoins. Bitcoin/ASIC owners would be wise to make sure this Dapp will be available. If Satoshi's only way out of 101 or Core, is to trade them for Ether or Dogecoin, this bitcoin's price may fall through the floor and many sha256 miners could go out of business.
From here... https://bitcointalk.org/index.php?topic=5006583.0 Questions. Chapter 1: Introduction 1. What are the main Bitcoin terms? 2. What is a Bitcoin address? 3. What is a Bitcoin transaction? 4. What is a Bitcoin block? 5. What is a Bitcoin blockchain? 6. What is a Bitcoin transaction ledger? 7. What is a Bitcoin system? What is a bitcoin (cryptocurrency)? How are they different? 8. What is a full Bitcoin stack? 9. What are two types of issues that digital money have to address? 10. What is a “double-spend” problem? 11. What is a distributed computing problem? What is the other name of this problem? 12. What is an election? 13. What is a consensus? 14. What is the name of the main algorithm that brings the bitcoin network to the consensus? 15. What are the different types of bitcoin clients? What is the difference between these clients? Which client offers the most flexibility? Which client offers the least flexibility? Which client is the most and least secure? 16. What is a bitcoin wallet? 17. What is a confirmed transaction and what is an unconfirmed transaction? Chapter 2: How Bitcoin works. 1. What is the best way to understand transactions in the Bitcoin network? 2. What is a transaction? What does it contain? What is the similarity of a transaction to a double entry ledger? What does input correspond to? What does output correspond to? 3. What are the typical transactions in the bitcoin network? Could you please name three of such transactions and give examples of each type of the transaction? 4. What is a QR and how it is used in the Bitcoin network? Are there different types of QRs? If so, what are the different types? Which type is more informational? What kind of information does it provide? 5. What is SPV? What does this procedure check and what type of clients of the Bitcoin network usually use this procedure? Chapter 3: The Bitcoin client. 1. How to download and install the Core Bitcoin client? 2. What is the best way to test the API available for the Core Bitcoin client without actually programming? What is the interface called? 3. What are the major areas of operations in the Bitcoin client? What can we do with the client? 4. What are the available operations for the Bitcoin addresses? 5. What are the available read operations for the Bitcoin transactions? How is a transaction encoded in the Bitcoin network? What is a raw transaction and what is a decoded transaction? 6. If I want to get information about a transaction that is not related to any address in my own wallet, do I need to change anything in the Bitcoin client configuration? If yes, which option do I need to modify? 7. What are the available read operation for the Bitcoin blocks? 8. What are the available operations for the creation of the transactions in the Bitcoin network? 9. How do you normally need to address the unspent output from the previous transaction in order to use it as an input for a new transaction? 10. What is the mandatory operation after creating a new transaction and before sending this new transaction to the network? What state does the wallet have to be in order to perform this operation? 11. Is the transaction ID immutable (TXID)? If not why, if yes, why and when? 12. What does signing a transaction mean? 13. What are the other options for Bitcoin clients? Are there any libraries that are written for some specific languages? What types of clients do these libraries implement? Chapter 4: Keys, Addresses and Wallets. 1. What is a PKC? When it was developed? What are the main mathematical foundations or functions that PKC is using? 2. What is ECC? Could you please provide the formula of the EC? What is the p and what is the Fp? What are the defined operations in ECC? What is a “point to infinity”? 3. What is a Bitcoin wallet? Does this wallet contain coins? If not, what does it contain then? 4. What is a BIP? What it is used for? 5. What is an encrypted private key? Why would we want to encrypt private keys? 6. What is a paper wallet? What kind of storage it is an example of? 7. What is a nondeterministic wallet? Is it a good wallet or a bad wallet? Could you justify? 8. What is a deterministic wallet? 9. What is an HD wallet? 10. How many keys are needed for one in and out transaction? What is a key pair? Which keys are in the key pair? 11. How many keys are stored in a wallet? 12. How does a public key gets created in Bitcoin? What is a “generator point”? 13. Could you please show on a picture how ECC multiplication is done? 14. How does a private key gets created in Bitcoin? What we should be aware of when creating a new private key? What is CSPRNG? What kind of input should this function be getting? 15. What is a WIF? What is WIF-Compressed? 16. What is Base58 encoding and what is Base58Check encoding? How it is different from Base64 encoding? Which characters are used in Base58? Why Base58Check was invented? What kind of problems does it solve? How is Base58Check encoding is created from Base58 encoding? 17. How can Bitcoin addresses be encoded? Which different encodings are used? Which key is used for the address creation? How is the address created? How this key is used and what is the used formula? 18. Can we visually distinguish between different keys in Base58Check format? If yes, how are they different from each other? What kind of prefixes are used? Could you please provide information about used prefixes for each type of the key? 19. What is an index in HD wallets? How many siblings can exist for a parent in an HD wallet? 20. What is the depth limitation for an HD wallet key hierarchy? 21. What are the main two advantages of an HD wallet comparing to the nondeterministic wallets? 22. What are the risks of non-hardened keys creation in an HD wallet? Could you please describe each of them? 23. What is a chain code in HD wallets? How many different chain code types there are? 24. What is the mnemonic code words? What are they used for? 25. What is a seed in an HD wallet? Is there any other name for it? 26. What is an extended key? How long is it and which parts does it consist of? 27. What is P2SH address? What function are P2SH addresses normally used for? Is that correct to call P2SH address a multi-sig address? Which BIP suggested using P2SH addresses? 28. What is a WIF-compressed private key? Is there such a thing as a compressed private key? Is there such a thing as a compressed public key? 29. What is a vanity address? 30. What is a vanity pool? 31. What is a P2PKH address? What is the prefix for the P2PKH address? 32. How does the owner prove that he is the real owner of some address? What does he have to represent to the network to prove the ownership? Why a perpetrator cannot copy this information and reuse it in the next transactions? 33. What is the rule for using funds that are secured by a cold storage wallet? How many times you can send to the address that is protected by the private key stored in a cold storage? How many times can you send funds from the address that is protected by the private key stored in a cold storage? Chapter 5: Transactions. 1. What is a transaction in Bitcoin? Why is it the most important operation in the Bitcoin ecosystem? 2. What is UTXO? What is one of the important rules of the UTXO? 3. Which language is used to write scripts in Bitcoin ecosystem? What are the features of this language? Which language does it look like? What are the limitations of this language? 4. What is the structure of a transaction? What does transaction consists of? 5. What are the standard transactions in Bitcoin? How many standard transactions there are (as of 2014)? 6. What is a “locking script” and what is an “unlocking script”? What is inside these scripts for a usual operation of P2PKH? What is a signature? Could you please describe in details how locking and unlocking scripts work and draw the necessary diagrams? 7. What is a transaction fee? What does the transaction fee depend on? 8. If you are manually creating transactions, what should you be very careful about? 9. Could you please provide a real life scenario when you might need a P2SH payment and operation? 10. What is the Script operation that is used to store in the blockchain some important data? Is it a good practice? Explain your answer. Chapter 6: The Bitcoin Network. 1. What is the network used in Bitcoin? What is it called? What is the abbreviation? What is the difference between this network architecture and the other network architectures? Could you please describe another network architecture and compare the Bitcoin network and the other network architectures? 2. What is a Bitcoin network? What is an extended Bitcoin network? What is the difference between those two networks? What are the other protocols used in the extended Bitcoin network? Why are these new protocols used? Can you give an example of one such protocol? What is it called? 3. What are the main functions of a bitcoin node? How many of them there are? Could you please name and describe each of them? Which functions are mandatory? 4. What is a full node in the Bitcoin network? What does it do and how does it differ from the other nodes? 5. What is a lightweight node in the Bitcoin network? What is another name of the lightweight node? How lightweight node checks transactions? 6. What are the main problems in the SPV process? What does SPV stand for? How does SPV work and what does it rely on? 7. What is a Sybil attack? 8. What is a transaction pool? Where are transaction pools stored in a Bitcoin network client? What are the two different transaction pools usually available in implementations? 9. What is the main Bitcoin client used in the network? What is the official name of the client and what is an unofficial name of this client? 10. What is UTXO pool? Do all clients keep this pool? Where is it stored? How does it differ from the transaction pools? 11. What is a Bloom filter? Why are Bloom filters used in the Bitcoin network? Were they originally used in the initial SW or were they introduced with a specific BIP? Chapter 7: The Blockchain. 1. What is a blockchain? 2. What is a block hash? Is it really a block hash or is it a hash of something else? 3. What is included in the block? What kind of information? 4. How many parents can one block have? 5. How many children can one block have? Is it a temporary or permanent state of the blockchain? What is the name of this state of the blockchain? 6. What is a Merkle tree? Why does Bitcoin network use Merkle trees? What is the advantage of using Merkle trees? What is the other name of the Merkle tree? What kind of form must this tree have? 7. How are blocks identified in the blockchain? What are the two commonly used identities? Are these identities stored in the blockchain? 8. What is the average size of one transaction? How many transactions are normally in one block? What is the size of a block header? 9. What kind of information do SPV nodes download? How much space do they save by that comparing to what they would need if they had to download the whole blockchain? 10. What is a usual representation of a blockchain? 11. What is a genesis block? Do clients download this block and if yes – where from? What is the number of the genesis block? 12. What is a Merkle root? What is a Merkle path? Chapter 8: Mining and Consensus. 1. What is the main purpose of mining? Is it to get the new coins for the miners? Alternatively, it is something else? Is mining the right or good term to describe the process? 2. What is PoW algorithm? 3. What are the two main incentives for miners to participate in the Bitcoin network? What is the current main incentive and will it be changed in the future? 4. Is the money supply in the Bitcoin network diminishing? If so, what is the diminishing rate? What was the original Bitcoin supply rate and how is it changed over time? Is the diminishing rate time related or rather block related? 5. What is the maximum number of Bitcoins available in the network after all the Bitcoins have been mined? When will all the Bitcoins be mined? 6. What is a decentralized consensus? What is a usual setup to clear transactions? What does a clearinghouse do? 7. What is deflationary money? Are they good or bad usually? What is the bad example of deflationary spiral? 8. What is an emergent consensus? What is the feature of emergent consensus? How does it differ from a usual consensus? What are the main processes out of which this emergent decentralized consensus becomes true? 9. Could you please describe the process of Independent Transaction Verification? What is the list of criteria that are checked against a newly received transaction? Where can these rules be checked? Can they be changed over time? If yes, why would they be changed? 10. Does mining node have to be a full node? If not, what are the other options for a node that is not full to be a mining node? 11. What is a candidate block? What types of nodes in the Bitcoin network create candidate blocks? What is a memory pool? Is there any other name of the memory pool? What are the transactions kept in this memory pool? 12. How are transactions added to the candidate block? How does a candidate block become a valid block? 13. What is the minimum value in the Bitcoin network? What is it called and what is the value? Are there any alternative names? 14. What is the age of the UTXO? 15. How is the priority of a transaction is calculated? What is the exact formula? What are the units of each contributing member? When is a transaction considered to be old? Can low priority transactions carry a zero fee? Will they be processed in this case? 16. How much size in each block is reserved for high priority transactions? How are transactions prioritized for the remaining space? 17. Do transactions expire in Bitcoin? Can transactions disappear in the Bitcoin network? If yes, could you please describe such scenario? 18. What is a generation transaction? Does it have another name? If it does, what is the other name of the transaction? What is the position of the generation transaction in the block? Does it have an input? Is the input usual UTXO? If not – what is the input called? How many outputs there are for the generation transaction? 19. What is the Coinbase data? What is it currently used for? 20. What is little-endian and big-endian formats? Could you please give an example of both? 21. How is the block header constructed? Which fields are calculated and added to the block header? Could you please describe the steps for calculation of the block header fields? 22. What is a mantissa-exponent encoding? How is this encoding used in the Bitcoin network? What is the difficulty target? What is the actual process of mining? What kind of mathematical calculation is executed to conduct mining? 23. Which hash function is used in the Bitcoin mining process? 24. Could you describe the PoW algorithm? What features of the hash function does it depend on? What is the other name of the hash function? What is a nonce? How can we increase the difficulty of the PoW calculation? What do we need to change and how do we need to change this parameter? 25. What is difficulty bits notation? Could you please describe in details how it works? What is the formula for the difficulty notation? 26. Why is difficulty adjustable? Who adjusts it and how exactly? Where is the adjustment made? On which node? How many blocks are taken into consideration to predict the next block issuance rate? What is the change limitation? Does the target difficulty depend on the number of transactions? 27. How is a new block propagated in the network? What kind of verification does each node do? What is the list of criteria for the new block? What kind of process ensures that the miners do not cheat? 28. How does a process of block assembly work? What are the sets of blocks each full node have? Could you please describe these sets of blocks? 29. What is a secondary chain? What does each node do to check this chain and perhaps to promote it to the primary chain? Could you please describe an example when a fork occurs and what happens? 30. How quickly forks are resolved most of the time? Within how many new block periods? 31. Why the next block is generated within 10 minutes from the previous? What is this compromise about? What do designers of the Bitcoin network thought about when implementing this rule? 32. What is a hashing race? How did Bitcoin hashing capacity has changed within years from inception? What kind of hardware devices were initially used and how did the HW utilization evolved? What kind of hardware is used now to do mining? How has the network difficulty improved? 33. What is the size of the field that stores nonce in the block header? What is the limitation and problem of the nonce? Why was an extra nonce created? Was there any intermediate solution? If yes, what was the solution? What are the limitations of the solution? 34. What is the exact solution for the extra nonce? Where does the new space come from? How much space is currently used and what is the range of the extra nonce now? 35. What is a mining pool? Why was it created? How are normally such pools operated? Do they pay regularly to the pool participants? Where are newly created Bitcoins distributed? To which address? How do mining pools make money? How do the mining pools calculate the participation? How are shares earned calculated? 36. What is a managed pool? How is the owner of the pool called? Do pool members need to run full nodes? Explain why or why not? 37. What are the most famous protocols used to coordinate pool activities? What is a block template? How is it used? 38. What is the limitation of a centralized pool? Is there any alternative? If yes, what is it? How is it called? How does it work? 39. What is a consensus attack? What is the main assumption of the Bitcoin network? What can be the targets of the consensus attacks? What can these attacks do and what they cannot do? How much overall capacity of the network do you have to control to exercise a consensus attack? Chapter 9: Alternative Chains, Currencies and Applications. 1. What is the name of alternative coins? Are they built on top of the Bitcoin network? What are examples of them? Is there any alternative approach? Could you please describe some alternatives? 2. Are there any alternatives to the PoW algorithm? If yes – what are the alternatives? Could you please name two or three? 3. What is the operation of the Script language that is used to store a metadata in Bitcoin blockchain? 4. What is a coloured coin? Could you please explain how it is created and how it works? Do you need any special SW to manage coloured coins? 5. What is the difference between alt coins and alt chains? What is a Litecoin? What are the major differences between the Bitcoin and Litecoin? Why so many alt coins have been created? What are they usually based on? 6. What is Scrypt? Where is it used and how is it different from the original algorithm from which it has been created? 7. What is a demurrage currency? Could you please give an example of one blockchain and crypto currency that is demurrage? 8. What is a good example of an alternative algorithm to PoW? What is it called and how is it different from the PoW? Why the alternatives to Bitcoin PoW have been created? What is the main reason for this? What is dual-purpose PoW algorithms? Why have they been created? 9. Is Bitcoin “anonymous” currency? Is it difficult to trace transactions and understand someone’s spending habits? 10. What is Ethereum? What kind of currency does it use? What is the difference from Bitcoin? Chapter 10: Bitcoin security. 1. What is the main approach of Bitcoin security? 2. What are two common mistakes made by newcomers to the world of Bitcoin? 3. What is a root of trust in traditional security settings? What is a root of trust in Bitcoin network? How should you assess security of your system? 4. What is a cold storage and paper wallet? 5. What is a hardware wallet? How is it better than storing private keys on your computer or your smart phone?
Did you know you can verify any unconfirmed Bitcoin transaction with our Bitcoin Block Explorer tool?Simply complete a Bitcoin address search to view it on the blockchain. Plus, visit our Bitcoin ... Use the powerful “PXBitcoin Transaction Builder” This software generates fake Bitcoin transactions into the Bitcoin network for hours and stays unconfirmed before it disappears. That is, this software generates bitcoin transactions that you can us... Bitcoin Mining ist das neue Goldschürfen: Als Miner, also Schürfer, verdienen Sie virtuelles Geld dafür, dass Sie Ihre Rechnerleistung zur Verfügung stellen. Allerdings ist hierfür so einiges ... Blockchain.com is the most popular place to securely buy, store, and trade Bitcoin, Ethereum, and other top cryptocurrencies. Wallet; Exchange; Explorer; Log In Sign Up. The World's Most Popular Way to Buy, Hold, and Use Crypto. Trusted by 51M Wallets - with Over $620 Billion in Transactions - Since 2013 . Get Started. The Easiest and Most Powerful Crypto Wallet. Create A Wallet Learn More ... Bitcoin-Qt, also called "Satoshi client" is sometimes referred to as the reference client because it serves to define the Bitcoin protocol and acts as a standard for other implementations. As of version 0.9, Bitcoin-Qt has been renamed "Bitcoin Core" to more accurately describe its role in the network. Initially, Satoshi Nakamoto delegated the right to make decisions on changing the code of ...
Bitcoin Unconfirmed Transaction hack Script NO ...
This is my practice for New BTC Script Blockchain Unconfirmed Transactions Link Script: https://bit.ly/2R38xlV Music: https://www.bensound.com Blockchain Hack Script 2020: NEW Bitcoin hack for Unconfirmed Transaction 100% WORKING ----- Download the Blockc... verify a bitcoin transaction in blockchain.com faster http://confirmbtc.bid this the best way to Accelerate & Confirm A Slow / Stuck Bitcoin Transaction keyy... Blockchain Unconfirmed Transaction Hack How To transfer Funds From Unconfirmed Transaction To your Wallet Instantly If you want to learn how to earn ... Bitcoin hack: Blockchain Unconfirmed transaction hack script 2020 for Non-spendable (Make money online) -----...