WebWallet - Design Principles

Technical

Abstraction Design

  • Generality
    Building abstractions is a matter of finding generally applicable patterns to describe particular subjects within a common framework. Generality is achieved by identifying all parameters required to create a general-purpose conceptual model that fully describes a set of subjects, while specificity is achieved by enabling the configuration of such parameters.
  • Uniformity
    Once patterns are identified, problems can be modeled in a uniform way, and their solutions should have better usability and interoperability. Uniformity is achieved by standardizing the data models and interfaces so that all representations and interactions look the same regardless of the particular details of the underlying resources and operations.
  • Explicitness
    Good abstractions make assumptions explicit. Even after identifying enough parameters to fully describe something, some properties may remain hidden due to the assumption that they will not to change in the future. Explicitness is achieved when all properties that are currently constant but could become configurable are added to the conceptual model.

Philosophical

  • Openness
    • Source: code must be available to be copied, read, modified, shared and run.
    • Access: raw data and core functionality should be exposed for direct access.
    • Publishing: any participant must be able to launch a currency, royalty-free.
  • Ubiquity
    • Time: currency should have no concept of business days or operating hours.
    • Location: must be reachable everywhere without geographical restrictions.
    • Device: computing can occur on any platform with support for cryptography.
  • Permissionless
    • Issuance: every issuer must have complete control over the issuance policy.
    • Interaction: sending core requests should not require previous authentication.
    • Innovation: experimentation and integration with no bureaucratic procedures.
  • Neutrality
    • Origin: no distinction should be made to favor or obstruct any currency issuer.
    • Content: all addresses, currencies and transactions must be treated equally.
    • Purpose: currencies must be censorship resistant regardless of their purpose.
  • Freedom
    • Speech: using currency as a form of communication comparable to speech.
    • Expression: using currencies to express different forms of value and trust.
    • Association: easily joining or leaving contexts using a particular currency.

results matching ""

    No results matching ""