Trusted Peer-2-Peer (TP2P)

by Daniel C. Watson
10.30.2017
www.TP2P.org
danw@tp2p.org

In 2008 Satoshi Nakamoto combined existing technology concepts in new and imaginative ways to create the distributed data structure blockchain and a specific-use application of blockchain: bitcoin.  Since that time, other blockchains have been created using a core set of blockchain innovations, which I call the Foundational Principles of Bitcoin (FPBIT). I believe, however, that all of these blockchain experiments using the FPBIT will eventually end up in failure.

These failures are not for lack of trying or monetary investment. It is my contention that the FPBIT are not well-suited for further development of blockchain technology generally—and that a new set of principles, the Foundational Principles of Blockchain (FPBLOCK), must be developed to supplant those of FPBIT, thereby preparing blockchain technology for general-use development. This paper elucidates FPBIT, FPBLOCK, and my personal contribution to blockchain technology, Trusted Peer-toPeer
(TP2P), a network topology for communication, computation, and data storage.

The Foundational Principles of Bitcoin (FPBIT)

I would observe that there are six Foundational Principles of Bitcoin, as set forth by Nakamoto: uniqueness, permanency, transparency, anonymity, monetization, and Turing-incompleteness.

Uniqueness: There is only one blockchain, and all transactions are processed on this chain.

Permanency: The bitcoin blockchain shall exist for all time.

Transparency: All transactions and blocks are encoded in plain text.

Anonymity: User interaction in the bitcoin blockchain shall be anonymous.

Monetization: Blockchains represent monetary value, and transactions cost money to process.

Turing-incompleteness: The script language for bitcoin shall be Turing-incomplete.

To individuals who have delved into the Foundational Principles of Bitcoin, which were revealed to us by Nakamoto, they are self-evident and logical. Uniqueness, permanency, and transparency are all inherently necessary for individuals to be connected with each other and to transact bitcoins. Anonymity is a desired feature of unregulated digital currency. Monetization is self-explanatory; bitcoin was designed as digital currency, and monetary value is used as an incentive to mine blocks.  Turing-incompleteness of the script language was a design choice to limit the possibility of error, and the advanced computational power of a Turing-complete language is not necessary.

The Foundational Principles of Blockchain (FPBLOCK)

I contend that the four Foundational Principles of Blockchain are disposability, iterative identity, iterative security, and Turing-completeness.

Disposability: Innumerable blockchains can be created and disposed of at any time.  This is the opposite of uniqueness and permanency.

Iterative Identity: Users shall be opaquely identified when interacting with blockchains.  This is the opposite of anonymity.

Iterative Security: Blockchain data can and will be encrypted as necessary.  This is the opposite of transparency.

Turing-Completeness: Blockchains shall use Turing-complete languages in order to process every conceivable application used by client-server architecture.  This is the opposite of Turing-incomplete.

The advantages of developing blockchain technology to the specifications of FPBLOCK should be self-evident. Every day millions of computer users on client/server architectures delete wordprocessing documents, spreadsheets, etc. It is important to have the ability to prune and archive data by deleting blockchains and passing subsets of data forward to new blockchains. Modern computing necessitates identity and cryptography; these tend to be intuitive for practitioners in this field.

Blockchains don’t need to be a store of monetary value, and they don’t require capital to process any more than other data structures, such as tuples, arrays, or lists. A group processing its own peer-to-peer, networked database would constitute a sufficient opportunity cost for this to occur. This is one reason why monetization is not included in FPBLOCK.

FPBLOCK can use a single Turing-complete scripted language to operate; the full language can process meaningful data, while a subset of such a language can be used to process transactions as in bitcoin.

Trading FPBIT Monetization for FPBLOCK Iterative Identity

Once one realizes that monetization is not necessary, it follows that the process utilized for monetization can be repurposed. Monetization was initially proposed in the original bitcoin white paper: “We define an electronic coin as a chain of digital signatures.” FPBLOCK creates a new, more useful, definition of iterative identity: “I define a user as a chain of digital signatures.”  A user and his/her interaction with a blockchain is a series of mathematically iterated addresses. With this definition, a user’s access can be individually defined, granted, or revoked. Thus, TP2P is not a blockchain consisting of monetized coins. Rather, it is a powerful computational engine allowing user access with access tokens.

FPBLOCK Iterative Security

Iterative security is a natural and logical complementary idea to iterative identity. Once users have a means to interact within a blockchain, there will be a need for users of the same blockchain to keep certain data private from other users, user groups, and outside agents. The same iterative concept can be applied for generating cryptographic seeds for encrypting individual user transactions within a TP2P blockchain.

Putting It All Together: Trusted Peer-to-Peer (TP2P)

After analyzing the various components of both bitcoin and blockchain (and noting the limitations of current analysis), I’m proposing the following blockchain system: a network topology for communication, computation, and data storage known as Trusted Peer-to-Peer.

The fundamental building process for establishing TP2P is as follows:

    1. Create a Turing-complete language for general-purpose communication, computation, and data storage. This scripted language will process iterative identity and iterative security as part of its design.
    2. Create a software client that can interpret and process the above language and connect to other network nodes via standard peer-discovery mechanisms. The client has an included IDE (intted development environment) for writing blockchain programs in the aforementioned scripted language.
    3. Users establish a web of trust using the software client and scripted language. As the web of trust grows, users write and distribute blockchain applications.

TP2P is a new paradigm combining the best features of client-server and blockchain technologies. The word “Trusted” in TP2P refers not only to the web of trust developed among the peer-to-peer nodes using this new blockchain technology, it also refers to the benefits derived from it. Distributed applications with user-level control can be deployed without the costly overhead of server operating systems and data-backup strategies.

A communications system built upon a TP2P web of trust is resistant to and safe from the vagaries of advertising, data mining, and censorship. The time has come to abandon failed information-technology strategies and embrace TP2P, an elegant 21st-century solution for communication, computation, and
data storage.