Bitcoin SV Infrastructure team provides release of 3 products to realise Satoshi’s peer to peer vision for Bitcoin
by Cass Clark
November 17, 2020 (4min read)

The Bitcoin SV team are releasing 3 products simultaneously that, along with several other services, provide all the tools required to implement the client-side peer to peer and SPV workflows.  These are:

  1. Bitcoin SV Node software – Upgrade to v1.0.6 Release
  2. mAPI v1.2.0 Release
  3. SPV Channels CE v1.0.0 Release

This combination of products is designed to help finally realise the “peer to peer” part of Satoshi Nakamoto’s vision for Bitcoin and the network’s scaling. 

To learn more about the practical impact of these 3 products, please read this blog post from Steve Shadders, Technical Director of the Bitcoin SV Infrastructure team: https://bitcoinsv.io/2020/09/30/realising-finally-satoshis-peer-to-peer-vision-for-bitcoin/

Bitcoin SV Node software – Upgrade to v1.0.6 Release

Version 1.0.6 upgrade is the finalised release from version 1.0.6 (beta release), it is a demonstration of upcoming features made available for early testing.  It primarily focusses on event notification capabilities, making the process of monitoring transaction confirmation progress more efficient and improving merchant assurance of transactions.

Content details listed below:  

  • ZMQ topic zmqpubremovedfrommempool renamed to zmqpubdiscardedfrommempool
  • STN NOVEMBER2020 RESET
  • Fix: clearinvalidtransactions RPC returned the number of bytes freed as zero.
  • Fix: Node started even if initialisation error (invalidtxsink parameter was not set to ZMQ when zmqpubinvalidtx is defined)
  • Fix: Validation published transactions with rejection reason txn-already-in-mempool or txn-already-known.
  • ZMQ: Push information (blockhash) in which block transaction we collided with arrived.
  • Do not use deprecated boost bind features.
  • #include <limits> added to script_num.cpp to fix build issues with later compilers.
  • Remove logging from consensus.
  • isCorruptionPossible removed from invalid transaction notification.
  • ThreadSanitiser reports issues in thread safe queue tests.
  • ThreadSanitiser reported heap-use-after-free.
  • Fix: gettxouts parameters CLI type mismatch.
  • Fix: CheckTxInputExists should not be used.
  • Remove assert and fix shutdown after unsuccessful startup.
  • Unconditionally log P2P stall messages if denugp2pthreadstalls is specified.

Binaries and source code can be downloaded here:

URL: https://download.bitcoinsv.io/bitcoinsv/

Should you have any support questions, please direct them via [email protected]

2. mAPI v1.2.0 Release

This release of mAPI (formerly called Merchant API) introduces a number of changes to further enhance miner services to network users. In particular, we confirm mAPI’s capabilities to improve SIT (Safe Instant Transactions) by identifying double spend scenarios and introducing callback notification features.

On transaction submission, the merchant or intermediary can optionally request merkle proofs to be delivered through a designated callback channel. mAPI 1.2.0 implements the first use case for the newly released CE (Community Edition) of SPV Channels, offering end-to-end encryption of messages to connected or partially connected clients.

In addition, the v1.2.0 upgrade includes improvements on administering node connections, fee quotes and quote authorisation through a revamped token issuer. The new feature of an API gateway, with REST Admin Interface, provides the additional usability, security and robustness required to administer a fully functional mAPI service.

Content details listed below:

  • Add new parameters on submit transaction for:
  • Notifications of double spends
  • Requesting merkle proof callback
  • Callback URL
  • Message encryption parameter
  • Application of SPV Channels for secure and reliable message exchange on callbacks
  • API gateway implementation for processing of submit transaction, query transaction status and fee quotes
  • API gateway REST Admin Interface
  • Revamped token issuer functionality
  • Revamped Create Fee Quote functionality
  • Revamped node connections configuration

To download mAPI version 1.2.0 click here

Should you have any support questions, please direct them via [email protected]

3. SPV Channels CE v1.0.0 Release

The SPV Channels specification defines lightweight HTTP APIs and describes appropriate client-side cryptography that together enable applications to asynchronously exchange messages confidentially, with mutual authentication and message integrity guarantees. SPV Channels are designed to enable parties to exchange messages even when no direct connection between them is available, such as when parties are behind NAT, or when one party is offline.

Channels are configured to receive messages. Individual channels have owners, and owners may configure channel read/write permissions for unauthenticated connections and distinct read/write permissions for those to whom they issue revocable API keys.

The security model is established by prescribing an application-level end-to-end encryption protocol, which protects transported messages.

SPV Channels CE is a self-hosted implementation of the service and client with the following features:

Content details listed below:  

  • Channel APIs
    • Create Channel
    • List Channels
    • Delete Channel
    • Get Channel Info
    • Get Token
    • Get Channel Tokens
    • Amend Channel
    • Generate Channel API Token
    • Revoke Channel API Token
  • Message APIs
    • Write message to channel
    • Get message in channel
    • Mark message as read or unread
    • Get all unread messages in channel
    • Delete message in channel
  • Notifications
    • Push notifications, alerting users of new message in channel
  • Encryption
    • End-to-end encryption libraries using libsodium

To download SPV Channels CE version 1.0.0 click here

Should you have any support questions, please direct them via [email protected]

Thank you for your continued support of Bitcoin SV.

Articles Release Notes