Architectural Analysis

DRAFT ONLY  2018-Sep-01

Proposal for discussion

 

Goal/Problem

There’s a lot that stands in the way of making the world a better place:

  • We don’t know who we can trust.
  • We have too much information, and far too much disinformation.
  • We need ways to delegate our voice to people closer to each problem.
  • We lack tools to support activism on a global scale.
  • Our democracies are most often unaccountable to us.

These obstacles are addressed by TSIS.  There are other impediments, but they relate mainly to the viability of available solutions, such as solution costs, consensus, or political resolve.

We can’t make problems more solvable or make solutions cheaper, but we can make it easier to identify great solutions, to seek consensus on them, to organize and plan action, to find the money, to influence governments, and to overcome entrenched interests.

One thing in favour of ordinary people is that there are a lot of us, and if enough of us push in the same direction at the same time, we are nearly unstoppable.  Technology can make this so much easier.

What technology do we need?  We need to enable many ordinary people to work together for change.  In its simplest form, the process is:

information –> decisions –> actions –> changes

The point of information is to make informed decisions, and the point of decisions is chose actions, and the point of actions is to make changes.

In more detail, we need several things for this change process to function well:

  • We need to reliably know the sources of our information, i.e. who authored it or endorsed it. Without integrity in identities, there is no integrity in information.
  • We need a much better idea of who we can trust for our purposes, and who we can’t.
  • We need high quality reliable information, with clear identification, and much less disinformation.
  • We need ways to delegate our voices and votes to people closer to our problems, without losing the ability to decide for ourselves, and for effective leadership to emerge.
  • We need ways for large numbers of people to converge around causes, to debate and agree on approaches, to organize and plan, in order to make changes.
  • We need to make democracy much more transparent and accountable, especially to make changes that require legislation or government action
  • We need to keep an eye on the powerful undemocratic forces that seem to rule our world in secret, especially those influences arising from great concentration of wealth.

Further requirements may emerge, but these appear to be the major ones, for thousands or even millions of people to share great information, explore ideas, make decisions, take action, and make effective changes.

Comparisons with Other Projects

There are a many initiatives to tackle parts of the problem.  Although some of them might be leveraged, none have been identified that are anywhere as scalable and comprehensive.  TSIS is envisioned on the scale of Google or Facebook, though it need not be big to have tremendous benefit on smaller scales.

Many projects address a specific problem, real or perceived.  What we need is systems thinking about the overall problem.   Solutions to fractions of the problem may take decades to converge on an integrated solution, and if that happens, it is unlikely to be a world changing solution.

Architecture – TSIS Infrastructure

Identity Service

  • user identity validation, calculation of trust levels based on validations
  • definitions of users, groups, feeds – profiles, attributes, access policies
  • user permissions for group management, feed management, feed access, and private content
  • user authentication (login)
  • feed server authentication
  • kerebos-like broker for trusted inter-client connections, e.g. between feed servers and users

Reputation Service

  • User membership in communities
  • Community access controls
  • Communication policy controls
  • Content management
  • Discretionary content sharing controls
  • Dispute management system

Information (feed) Service

  • Feed services for private, public, and external feeds
    • user access controls – publication
    • feed moderation if applicable
    • item metadata creation
    • feed delivery
    • user access controls – consumption
    • standardized API
    • feed archival and search
  • Data stored in “streams”, i.e. distributed replicated shared journals
  • Different streams for data with different lifecycles
    • identity information (users, groups, feeds)
    • information feed metadata (with references to content)
    • item corrections and critiques

Storage Service

  • Third party cloud storage
  • Content addressed by TSIS IDs
  • Public content à structured cloud storage
  • Private content à structured cloud storage with access overlay
  • Access control integration with identity server

Proxy Delegation Service

  • An extension of the identity service
  • Offers to accept delegation, by topic, referencing user profiles
  • Individual delegations by topic
  • Delegation policy implement, e.g. conditions for change of leadership

Activism Service

  • Build on Identity Services
    • Group definitions and permissioning
    • Feed definition and permissioning
  • An integrated suite of straightforward tools, for users to define causes, discuss causes, propose solutions, vote on them, organize and plan, fund raise, lead, communicate status, and so forth
  • Many of these components maybe available as open source

Democratic Service

  • Build on Identity Services

Wealth Registry Service

  • Straightforward, distant future functionality

Architecture – External to TSIS

Replicated Cloud Storage Services

External Feed Services – API integration

Third party client user interfaces

Design – User Interfaces

 

Architecture Choices

Many current projects are premised on “hot” emerging technologies such as blockchain.  While blockchain has many merits, it is extraordinarily counterproductive to start with a solution rather than start with the problem and search for the best solution.  Unfortunately, people have consistently made the wrong choices, over many decades, whether the hot technology was client/server architecture, or C++ templates, or J2EE, or whatever was new at the time.  People eventually learn that technologies make some things easier by generally making other things harder, after enough huge mistakes.

Blockchain is one such hot new technology.  The technology has great merits for the right problems, but it is inappropriate for most TSIS purposes.

  • Decentralization of data is not nearly as important as decentralization of ownership and control, such as control over the use of information or of system evolution.
  • Redundancy is important for TSIS, but there are vastly more efficient forms of redundancy than block chain, which are all more amenable to repair and recovery after a glitch.
  • Blockchain adds little evident business value in many reported business cases.
  • Blockchain is more complex and costly to get working without multiple layers of encryption.
  • Blockchain is still immature for many use cases, and thus risky for sensitive purposes.
  • Blockchain is popular in some measure because of cybercurrencies, which are arguably ponzi schemes that depend on a steady source of new buyers for their value. The glamour of blockchain will fade if people stop buying for any reason. There are debilitating failure scenarios which are more likely in a widespread financial calamity, one of the reasons for cybercurrencies.
  • Blockchain puts sensitive data out in the open, protected only by encryption. One security crack, and nobody will trust blockchain. Cracking it may be easier than it seems. For example, Snowden explained that US agencies managed to corrupt international encryption standards, so that 256 bit encryption is a fraction as secure as it should be. Blockchain can also be compromised by vulnerabilities in such as a TCP stack patch, or routing spoofs, etc.

Add a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.