mychips

    0.1.13 • Public • Published

    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 decentralized 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. For technical information about the implementation, you may want to start with Tallies and then Lifts.

    Getting Started:

    General documentation is in here. To try out the software, follow the Developer Instructions.

    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.

    I have 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 honest commerce and trade as it is intended.

    Current Project Status:

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

    As of March, 2020, the software is successfully discovering, computing and performing fully distributed lifts in a simulated network. I consider this as a "preliminary proof of concept" and so am ready to release this code subject to the attched LICENSE. It will need a lot more work to become production ready, but maybe this provides enough of a testing platform that others will be more willing to help make that happen.

    To kick off the public release, I commissioned a study by 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, I created an outline of how the algorithm might best be improved to resolve the issues uncovered by the DSR study. Now there is work being done at BYU to both validate the original DSR results, and evaluate proposed solutions. This represents the current state of the project.

    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
    • 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 algorithm (DSR Study)

    If you are interested in participating, clone this repo and follow the instructions in the Developer Instructions. You should be able to get a simulated network running and visualize credit lifts in the administrator console. Then review the work and results in the DSR study and see if you can help us move the project forward to deployment.

    There is a project roadmap in the TODO file.

    Talent Needs:

    • Distributed asynchronous network consensus protocols (TLA+, SPIN)
    • SSL/TLS, private/public key encryption
    • General Internet security
    • Internet protocols
    • Peer-to-peer networking
    • JavaScript/Node coding
    • SQL, PLPGSQL coding
    • Mobile app development
    • Accounting
    • Economics
    • Contract law

    Interesting Projects/Sites/Resources:

    Install

    npm i mychips

    DownloadsWeekly Downloads

    2

    Version

    0.1.13

    License

    GPL-3.0

    Unpacked Size

    20.5 MB

    Total Files

    305

    Last publish

    Collaborators

    • gotchoices