Towards a Roadmap

The PSF had it's first Community Committee (CommComm) meeting this week. One of the 'broad stroke' ideas that has been resonating with the community is the idea of cross-blockchain technology. Many businesses want to leverage blockchain technology, without exposing themselves to the risk of any one blockchain.

This post lists the existing software under the care of the Permissionless Software Foundation. While the focus to-date of this software has been on the Bitcoin Cash (BCH) blockchain, it now also works on the Bitcoin ABC (BCHA) blockchain, and could be expanded to work on the Avalanch (AVAX) and Bitcoin SV (BSV) blockchains. It will all depend on the efforts put forth by developers interested in those chains.

This post is a first attempt at putting together a technical roadmap for the PSF. It's inspired by the Bitcoin ABC roadmap. On the left of the PSF roadmap is the 'Core' software described in the scope of the Technical Steering Committee. The right three columns reflect the three focal points in the Mission of the PSF:

  • Privacy
  • Free Speech
  • Economic Action

The purpose of this 'rough draft' is to encourage discussion in our general Telgram channel and our VIP Telegram channel, and to provide food for thought in our first, upcoming Technical Steering Committee meeting.

Roadmap Rough Draft
Roadmap Rough Draft

Repositories Maintained by the PSF

The roadmap above reflects the existing and future software maintained by the PSF. Below are links to the code repositories represented in the picture. All the code under the PSF is open source and MIT licensed, allowing businesses to fork and customize any of it for their needs.

Core

The 'core' software make up the top three layers of the Cash Stack. They are what allow modern phone and web apps to interact with a blockchain, for business applications. The other columns of the roadmap depend on, and build on top of, this core software.

  • gatsby-ipfs-web-wallet - a GatsbyJS Theme for building mobile-first web apps that incorporate basic wallet functionality.

    • docker-gatsby-webserver is designed to serve a modern Gatsby website and web-apps over the clear web, Tor, and IPFS network simultaneously. Each network can be selectively turned off too. e.g. a website could be served over just Tor, with IPFS and the clear web turned 'off'.

    • bch-wallet-starter is a Gatsby Starter based on gatsby-ipfs-web-wallet Gatsby Theme. This code base demonstrates how to combine the Theme with Plugins to build a customized business application.

    • gatsby-plugin-bch-sweep is a Gatsby Plugin that can be added to a website utilizing gatsby-ipfs-web-wallet, to sweep BCH, BCHA, and SLP tokens from a paper wallet. It also demonstrates how to build Plugins for web wallets.
  • bch-js - a JavaScript library that provides tools for builing front end and back end applications for interacting with a blockchain.

  • bch-api - a REST API for wrapping blockchain infrastructure like indexers and full nodes. This provides one common interface for application developers to work with, abstracting away any specific knowledge about the underlying infrastructure, and allowing them to focus on what they do best: build applications. This code base provides a REST API for communicating with the infrastructure listed below.

    • The Cash Strap page lists the Docker containers below, as well as pre-synced databases that can be easily downloaded and mounted by those Docker containers. This allows businesses and developers to quickly bootstrap the infrastructure necessary to build their own, independent Cash Stack.

    • docker-slpdb - The SLPDB indexer used for indexing SLP tokens on the BCH and BCHA networks. This indexer could also be modified to track SLP tokens on BSV and AVAX blockchains.

    • docker-fulcrum - The Fulcrum indexer that utilizes the Electrumx protocol. This is the server that run Electron Cash and Electrum ABC wallets. This indexer is used to track address balances and UTXOs, which is fundamental information needed to build a wallet.

    • docker-abc - The Bitcoin ABC full node needed to interact with the BCHA blockchain.

    • docker-bchn - The BCHN full node needed to interact with the BCH blockchain.

    • docker-bchd - The 'developer-centric' BCH full node that contains an integrated UTXO indexer, SLP indexer, and gRPC interface.

Privacy

  • Message.FullStack.cash - This web app was originally created to allow people to send nearly-uncensorable, end-to-end encrypted (ee2e) messages (similar to email) to any Bitcoin Cash address. It's grown into a community gateway, IPFS file upload tool, and essential business communication tool.

  • Collaborative CoinJoin is a protocol specification for allowing HD wallets, like slp-cli-walllet, to coordinate and generate CoinJoin transactions. These transactions anonymize coins and give users financial privacy.

Free Speech

  • UncensorablePublishing.com is an introductory site to uncensorable publishing techniques, how governments censor websites, and how to use PSF software to build private and uncensorable web apps.

  • IPFS-Filecoin Bridge - The initial steps for this bridge can be found on message.FullStack.cash, in the File Upload area. Anyone can pay a hosting fee of $0.01 in BCH to have a file hosted on the IPFS network. These fees go to burn PSF tokens. This feature can be expanded for Filecoin.

  • IPFS-based API - This milestone is in its initial research stages. IPFS is an effective network for circumventing aggressive firewalls, like that of China's. The front end for wallet.FullStack.cash is already available over IPFS, but the back end REST API is not, and can be blocked. An IPFS pub-sub channel with Bitcoin-based end-to-end encryption would be a secure, uncensorable way deliver API access and ensure that any web app can reach the blockchain.

Economic Action

  • FullStack.cash is a blockchain-as-a-service REST API that developers and businesses can use to power their business applications.

  • wallet.FullStack.cash is a white-label web wallet that businesses can customize to quickly build their own, custom applications. This wallet is based on the gatsby-ipfs-web-wallet Gatsby Theme.

  • TorList.cash is a decentralized database of websites. Akin to a pre-search-engine curated list. Websites running over Tor and IPFS are placed on equal footing with clearnet websites. Websites ranking in each category is based on staked PSF tokens, inceasing demand for the token. The IPFS-based database is easily replicated, to prevent censorship.

  • The SLP Token protocol is a simple structure for implementing tokens on top of a blockchain. SLPDB is an indexer that crawls the blockchain and tracks the creation and movement of tokens. Tokens are a powerful tool for economic action.

  • The SLP Post Office Protocol allows SLP tokens to be used natively, without exposing users to the friction of needed 'gas' to move tokens. The same SLP token can be used to pay the transaction fees. This makes it much easier to onboard new users. The PSF maintains a Post Office Server and a Post Office Plugin for the web wallet.

  • SWaP Protocol is a trustless way of creating a decentralized exchange (DEX) for trading SLP tokens and native assets (like BCH, BCHA, etc), making bets, establishing trustless escrow, and more. The PSF would like to develop tools around this protocol to enable more economic action using tokens.

Comments

Want to leave feedback or discuss this blog post? Please leave comments on this Member.cash thread: