Skip to content

A cellular network of trust for implementing open source money based on private credit; Solves several problems with blockchain. Most notably, it is infinitely scalable and fully distributed.

License

Notifications You must be signed in to change notification settings

Digithought/MyCHIPs

 
 

Repository files navigation

MyCHIPs

MyCHIPs is an open-source network protocol for implementing a novel kind of digital money based on private credit and quantified in units of CHIPs:

The CHIP Symbol: A CHIP

This is not a Bitcoin/blockchain derivative, but rather a whole new (and yet very old) approach that solves several notorious problems with public blockchain systems. Most notably, it is more fully distributed and infinitely scalable.

A Tiny CHIP Network

If blockchain-based coins can be thought of as a crypto-stock or crypto-equity, a digital CHIP would be more like a crypto-bond. Either one can be used as money, or a medium of exchange. However, a system based on private credit is more resilient to things like speculation, volatility, corruption, inflation, and deflation. So it is a better solution when considering these three closely related purposes of money:

- a medium of exchange,
- a store of value, and 
- a measure of value.

For introductory information on the algorithm, check out the MyCHIPs Papers.

Getting Started:

General documentation is found here.

To try out the software, jump in here.

At the current development state, you can launch a configurable number of server processes, as well as a network simulator to create bot users that will begin trading with each other. There is also a rudimentary admin console that allows you to browse the database, generate user connection tokens, and peruse trading contracts.

Project Background:

In 2017, I posted this as an empty project hoping to attract a team of participants. But there was not much traffic, and less interest. Nearly everyone interested in monetary reform seemed to now be chasing after big returns in Blockchain money. So I began programming the project myself.

Initially, this involved reviving some old tools I have successfully used on other projects in the past: Specifically, Wyseman and Wyselib for deployment of a backend database, and Wylib for a frontend GUI.

While Wylib is not the solution for an eventual user interface, it has been what I needed for an administrative console during development. And it can suffice for a crude user SPA until a dedicated mobile app can be built. As of Spring 2021, the BYU Capstone project produced a prototype app authored in Flutter/Dart. Unfortunately the websocket interface is not yet finished so it does not yet talk to the MyCHIPs server.

I originally kept the source closed for some time while I tried to work out an algorithm for performing a distributed lift (the credit clearing function that makes the system work). It also took me a while to figure out a contract and licensing structure I felt would make the system robust and resilient to attack. I want MyCHIPs to be free for everyone to use, but only if they will use it in good-faith commerce and trade as it is intended.

Current Project Status:

The holy grail of MyCHIPs has been a network implementation of the lift protocol, which is introduced in an intuitive way in this article and explained in some more technical detail in this article.

As of March, 2020, the software can successfully discover, compute and perform fully distributed lifts in a simulated network. This milestone was considered a "preliminary proof of concept" and triggered the release of this code subject to the attched LICENSE. The work continues to make the codebase production ready.

At the time of the public release of the source code, a study was commissioned to DSR Corporation to analyze the lift alorithm as proposed in the documentation and partially implemented in the software. As expected, they uncovered several issues that need improvement before the system can be expected to perform in a fault-tolerant way. Their work and results are summarized here.

In response to that study, this outline was drafted to determine how the algorithm could be improved to resolve the issues uncovered by the DSR study. That lead to the development of the version 1.x protocol. A followup work was recently completed at BYU to both validate the original DSR results, and evaluate the new, proposed protocol. The results prove suitable safety and liveness within a reasonable set of assumptions. The defense of that Master's thesis can be viewed here..

Development was begun in 2022 on a mobile app written in React Native. This facilitated the use of the existing JavaScript API and is progressing. The app can currently be loaded onto mobile devices from mychips.net, an example CHIP Service Provider site. Current focus is on completing the mobile app and fully implementing the lift and route discovery protocols on the backend.

Milestones Completed so Far

  • Backend PostgreSQL database
    • Database authoring/modification tool
    • Data dictionary, including multi-language support
    • Basic schema to support many users per instance
    • User/group/permission structures
    • Future capability for full ERP integration
    • CRUD+A API: CReate, Update, Delete + Actions/reports
  • Multi-function Javascript server
    • Peer-to-peer process
    • Administrator server
    • User access to control layer
  • Frontend GUI framework
    • Vue-based Single Page Applications for administration
    • Vue-based Single Page Applications for user access (demonstration only)
    • Network visualization tool
    • Table previewer
    • Record editor
    • Parametric search tool
    • Support for actions/reports other control-layer functions
    • Support for editing/viewing tally contracts
    • Prototype Flutter/Dart app
    • Partially working React Native app
  • Simulations
    • Agent-based modeling simulation process (very basic)
    • Local simulation engine (single host)
    • Network based simulation engine (multiple sites)
    • Docker based simulation engine (N sites)
    • Command line UI to create/analyze simulated data sets
  • Model algorithm
    • Users can negotiate tallies with each other
    • Users can exchange chits (credit pledges) with each other
    • Sites can discover possible lift pathways through the network, with no central authority
    • Can (currently manually) initiate circular and linear lifts through the network
    • Chit transactions are stored in hash-chain list
    • Consensus algorithm between stock and foil
  • Test original algorithm (DSR Study)
  • Validate improved lift algorithm (BYU Study)
  • Mobile App
    • Unified JavaScript API works for all existing UI's
    • App connecting
    • Basic user preferences
    • Basic screen layouts
    • Tally initiation sequence

Want to help out? Clone this repo and follow the instructions to get a simulated network running and visualize credit lifts in the administrator console.

There is a current project roadmap in the TODO file. Let us know how you would like to participate!

Talent Needs:

  • Mobile app development; React Native
  • Javascript/Node.js
  • SQL, PLPGSQL
  • Encryption/cryptography
  • General Internet security
  • Internet protocols
  • Peer-to-peer networking
  • Accounting
  • Economics
  • Contract law

Other Interesting Projects/Resources:

About

A cellular network of trust for implementing open source money based on private credit; Solves several problems with blockchain. Most notably, it is infinitely scalable and fully distributed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TLA 34.9%
  • JavaScript 22.6%
  • PLpgSQL 19.6%
  • TeX 9.7%
  • Dart 2.7%
  • Shell 2.6%
  • Other 7.9%