Verifone will enable cryptocurrency payments at major merchants via BitPay

Crypto payments are becoming increasingly popular as Bitcoin (BTC) and other digital assets continue to go mainstream. This has become the case for both cryptocurrency holders and non-cryptocurrency owners who are primarily interested in the concept of using cryptocurrencies for payments.

Recent data has found that 93% of cryptocurrency users surveyed would consider making crypto purchases. The report further revealed that 59% of consumers who do not own cryptocurrencies would be interested in using it to make purchases in the future.

New study reveals high demand for cryptocurrency payments
As such, it should come as no surprise that major payment providers such as Mastercard (NYSE:MA) have stepped up their efforts to support crypto payments in the future. In addition, social media giants like Twitter (NYSE:TWTR) are also working to enable cryptocurrency payments through mechanisms like tipping.

While it could not disclose which physical and online merchants will begin supporting crypto payments, the company’s reach is substantial and will therefore likely have an impact on crypto payments adoption. To put this in perspective, Verifone operates 36 million point-of-sale or POS devices and has processed more than 10 billion transactions, generating more than $350 billion in volume per year.

Twitter enables Bitcoin tipping feature for all its users
Stephen Pair, CEO of BitPay says that while BitPay allows merchants to process crypto transactions, Verifone is by far the largest partnership to date: Verifone customers request crypto payments. This has become the case as there are millions of cryptocurrency users today who have blockchain wallets on their phones that they want to take advantage of.

Speaking of Pair, Verifone’s head of alternative payment methods, the company is witnessing a major shift in consumer behavior due to reasons such as the COVID-19 pandemic. Specifically that, more than ever, consumers are relying on mobile wallets, viewing them as quick and easy payment methods:

There has been a shift from having a credit card to having a trusted mobile app that consumers want to leverage to spend. We are leveraging this market to bring cryptocurrencies to the general public.
As easy as using Venmo or PayPal, but for crypto transactions.
Verifone’s advanced payment engine was designed to support cryptocurrency transactions and works in the same way as its terminals that accept Venmo or PayPal payments. The only difference is that both physical and online merchants will now be able to accept Bitcoin, Ethereum (ETH), Dogecoin (DOGE), Bitcoin Cash (BCH), Wrapped Bitcoin (WBTC), Litecoin (LTC) and five dollar-linked stablecoins such as Gemini dollar (GUSD), USD Coin (USDC), Pax Dollar (USDP), Maker DAO (DAI) and Binance USD (BUSD).


The Bitcoin Network part1

Peer-to-Peer Network Architecture
Bitcoin is structured as a peer-to-peer network architecture on top of the Internet. The term peer-to-peer, or P2P, means that the computers that participate in the network are peers to each other, that they are all equal, that there are no “special” nodes, and that all nodes share the burden of providing network services. The network nodes interconnect in a mesh network with a “flat” topology. There is no server, no centralized service, and no hierarchy within the network. Nodes in a peer-to-peer network both provide and consume services at the same time with reciprocity acting as the incentive for participation. Peer-to-peer networks are inherently resilient, decentralized, and open. The preeminent example of a P2P network architecture was the early Internet itself, where nodes on the IP network were equal. Today’s Internet architecture is more hierarchical, but the Internet Protocol still retains its flat-topology essence. Beyond bitcoin, the largest and most successful application of P2P technologies is file sharing with Napster as the pioneer and BitTorrent as the most recent evolution of the architecture.

Bitcoin’s P2P network architecture is much more than a topology choice. Bitcoin is a peer-to-peer digital cash system by design, and the network architecture is both a reflection and a foundation of that core characteristic. Decentralization of control is a core design principle and that can only be achieved and maintained by a flat, decentralized P2P consensus network.

The term “bitcoin network” refers to the collection of nodes running the bitcoin P2P protocol. In addition to the bitcoin P2P protocol, there are other protocols such as Stratum, which are used for mining and lightweight or mobile wallets. These additional protocols are provided by gateway routing servers that access the bitcoin network using the bitcoin P2P protocol, and then extend that network to nodes running other protocols. For example, Stratum servers connect Stratum mining nodes via the Stratum protocol to the main bitcoin network and bridge the Stratum protocol to the bitcoin P2P protocol. We use the term “extended bitcoin network” to refer to the overall network that includes the bitcoin P2P protocol, pool-mining protocols, the Stratum protocol, and any other related protocols connecting the components of the bitcoin system.

Nodes Types and Roles
Although nodes in the bitcoin P2P network are equal, they may take on different roles depending on the functionality they are supporting. A bitcoin node is a collection of functions: routing, the blockchain database, mining, and wallet services.

All nodes include the routing function to participate in the network and might include other functionality. All nodes validate and propagate transactions and blocks, and discover and maintain connections to peers. In the full-node example in Figure 6-1, the routing function is indicated by an orange circle named “Network Routing Node.”

Some nodes, called full nodes, also maintain a complete and up-to-date copy of the blockchain. Full nodes can autonomously and authoritatively verify any transaction without external reference. Some nodes maintain only a subset of the blockchain and verify transactions using a method called simplified payment verification, or SPV. These nodes are known as SPV or lightweight nodes. In the full-node example in the figure, the full-node blockchain database function is indicated by a blue circle named “Full Blockchain.” In Figure 6-3, SPV nodes are drawn without the blue circle, showing that they do not have a full copy of the blockchain.

Mining nodes compete to create new blocks by running specialized hardware to solve the proof-of-work algorithm. Some mining nodes are also full nodes, maintaining a full copy of the blockchain, while others are lightweight nodes participating in pool mining and depending on a pool server to maintain a full node. The mining function is shown in the full node as a black circle named “Miner.”

User wallets might be part of a full node, as is usually the case with desktop bitcoin clients. Increasingly, many user wallets, especially those running on resource-constrained devices such as smartphones, are SPV nodes. The wallet function is shown in Figure 6-1 as a green circle named “Wallet”.

In addition to the main node types on the bitcoin P2P protocol, there are servers and nodes running other protocols, such as specialized mining pool protocols and lightweight client-access protocols.

The Extended Bitcoin Network
The main bitcoin network, running the bitcoin P2P protocol, consists of between 7,000 and 10,000 listening nodes running various versions of the bitcoin reference client (Bitcoin Core) and a few hundred nodes running various other implementations of the bitcoin P2P protocol, such as BitcoinJ, Libbitcoin, and btcd. A small percentage of the nodes on the bitcoin P2P network are also mining nodes, competing in the mining process, validating transactions, and creating new blocks. Various large companies interface with the bitcoin network by running full-node clients based on the Bitcoin Core client, with full copies of the blockchain and a network node, but without mining or wallet functions. These nodes act as network edge routers, allowing various other services (exchanges, wallets, block explorers, merchant payment processing) to be built on top.

The extended bitcoin network includes the network running the bitcoin P2P protocol, described earlier, as well as nodes running specialized protocols. Attached to the main bitcoin P2P network are a number of pool servers and protocol gateways that connect nodes running other protocols. These other protocol nodes are mostly pool mining nodes (see Chapter 8) and lightweight wallet clients, which do not carry a full copy of the blockchain.

Figure 6-3 shows the extended bitcoin network with the various types of nodes, gateway servers, edge routers, and wallet clients and the various protocols they use to connect to each other.

Network Discovery

When a new node boots up, it must discover other bitcoin nodes on the network in order to participate. To start this process, a new node must discover at least one existing node on the network and connect to it. The geographic location of other nodes is irrelevant; the bitcoin network topology is not geographically defined. Therefore, any existing bitcoin nodes can be selected at random.

To connect to a known peer, nodes establish a TCP connection, usually to port 8333 (the port generally known as the one used by bitcoin), or an alternative port if one is provided. Upon establishing a connection, the node will start a “handshake”

A constant that defines the bitcoin P2P protocol version the client “speaks” (e.g., 70002)
A list of local services supported by the node, currently just NODE_NETWORK
The current time
The IP address of the remote node as seen from this node
The IP address of the local node, as discovered by the local node
A sub-version showing the type of software running on this node (e.g., “/Satoshi:”)+
The block height of this node’s blockchain

The peer node responds with verack to acknowledge and establish a connection, and optionally sends its own version message if it wishes to reciprocate the connection and connect back as a peer.

How does a new node find peers? Although there are no special nodes in bitcoin, there are some long-running stable nodes that are listed in the client seed nodes. Although a new node does not have to connect with the seed nodes, it can use them to quickly discover other nodes in the network. In the Bitcoin Core client, the option to use the seed nodes is controlled by the option switch -dnsseed, which is set to 1, to use the seed nodes, by default. Alternatively, a bootstrapping node that knows nothing of the network must be given the IP address of at least one bitcoin node, after which it can establish connections through further introductions. The command-line argument -seednode can be used to connect to one node just for introductions, using it as a DNS seed. After the initial seed node is used to form introductions, the client will disconnect from it and use the newly discovered peers.

Once one or more connections are established, the new node will send an addr message containing its own IP address to its neighbors. The neighbors will, in turn, forward the addr message to their neighbors, ensuring that the newly connected node becomes well known and better connected. Additionally, the newly connected node can send getaddr to the neighbors, asking them to return a list of IP addresses of other peers. That way, a node can find peers to connect to and advertise its existence on the network for other nodes to find it.