Hub Culture Developer Portal


;

HubID: Delivering Digital Self-Sovereignty

  • Created : Feb, 04, 2016
  • Last Updated: April, 15, 2016

As Ven moves into the financial markets and becomes more usable for purchases and transactions, the need to authenticate identity to avoid money laundering and other fraud risks becomes paramount. Since Ven issuance and exchange comes from a central point, and since it grew from the social network, an intrinsic layer of identity already exists with transactions.

However, the data sets generated by a centralized digital ledger imply unique challenges of their own because Ven users and Hub Culture certainly do not want transactional and personal data routinely made available to third parties. Uniquely among all social networks and most advertising-oriented social media, Hub Culture does not scrape, aggregate or sell member data to monetize it. In fact, not a single piece of user data has ever been sold to a third party – Hub Culture explicitly grants users unique ownership of their data within Hub Culture, their transaction data, and the Ven in their account. This can be done in theory with the data in the archives and in practice by passing ownership of decisions regarding the use of data to each member directly.

Such a system could not be practical or sustainable unless digital currency accounts are linked to profiles and costs are covered in other novel ways. For example, Hub Culture pioneered the concept of individual payments for content generated inside the network, through news and video posted by members – an opportunity made possible by individual data ownership. There are also “collaboration hubs” linked to private Ven accounts and even knowledge brokerage and retail opportunities – all of which feature margins.

In 2013, Hub Culture and MIT Media Lab partnered with ID3 to take this idea to a radical next step: ensuring digital “self- sovereignty” with user data through the creation of HubID, a secure vault wrapped in elliptical curve cryptography and the Open Mustard Seed open source technology platform. Through this innovative blend of technologies, online users not only have a “Personal Data Store” (PDS) to put their personal data in perpetuity, they receive a unique piece of online real estate through a private “virtual machine” dedicated to hosting just their data. While Hub Culture currently covers the cost of that privilege, the growth of Ven redemption and usage will eventually overtake the costs of this service, enabling members to decide how and when data in their vault is used.

Data in the vault is segmented into a series of tabs, each of which are designated a unique hex color on the Web. These tabs combine to form the HubID, a digital badge that manifests these verified components with the member’s profile image. Together, these elements form a unique Aura, which can be accessed by others who desire to authenticate a user transaction with Ven. The final result is a digital identity and transaction capability owned by the individual and uniquely verified. At the core of this technology is voice biometric technology developed with Validsoft, a leading mobile security firm, to provide near-perfect unique-ness in digital identity for highly secure access and transaction approvals.

Together, HubID and Ven seek to provide a completely intelligent, self-sovereign Web experience. The technology works with all other systems, granting a unique API for identity to each user, which can be adapted and used only with the member’s approval. At their discretion, users often pay for, or receive payment for, access privileges in Ven.

This technology is the basis for Voin, an intelligent data coin now in development by Hub Culture. Voin is the world’s first intelligent coin, and can slip into a pocket, hang from a chain around the neck, or rest on a lapel. With fingerprint and voice biometric technology it is highly secure, but also easy to use: the owner simply speaks a value into Voin and matches a voiceprint for access to make a transaction. As both a transaction wallet and an ID, Voin represents a completely new approach to money and the application of closed loop device payments.

HubID SDK

HubID SDK provides basic techniques that make it easier to work with HubID API. It implements method OAUTH authorization and execution of queries to the api.

Demo example

Install

These methods allow you to query HUBID api. List of all available methods can be found in the documentation

<script>
    window.HubIDAsyncInit = function() {
      HubID.init({
        'clientID': 'your-application-id', // Required for all queries
        'publicKey': 'your-application-public-key',  // Required for queries using the public key
        'privateKey': 'your-application-private-key' // Required for queries using the private key
      });

    };
    (function(d, s, id){
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement(s); js.id = id;
      js.src = "http://api.hubculture.local/hubid-sdk/dist/hubid-sdk.js";
      fjs.parentNode.insertBefore(js, fjs);
      js.onload = HubIDAsyncInit;
    }(document, 'script', 'hubid-sdk'));
</script>
                    

Login

For use user data, the user needs to log in HubID and in your application.

<script>
    HubID.login(
        {
          holderID: 'my-hubid-holder' // Specify the id element in which the login button will be placed.
        },

        function(result) {
            // success callback
        },
        function(err) {
            // error callback
        }
    );
</script>
                    

Get user login status

For use user data, the user needs to log in HubID and in your application.

<script>
    HubID.getLoginStatus(
        function(result) {
            // success callback
        },
        function(err) {
            // error callback
        }
    );
</script>
                    

Api requests

These methods allow you to query HUBID api. List of all available methods can be found in the documentation

<script>
    HubID.apiGet(
        {
          uri: 'api-method-uri' // Api uri. Example: '/user'.
        },

        function(result) {
          // success callback
        },
        function(err) {
          // error callback
        }
    );
    HubID.apiPost(
        {
          uri: 'api-method-url', // Api uri. Example: '/user'.
          data: 'send-data-object' // Request body data (must be object)
        },

        function(result) {
          // success callback
        },
        function(err) {
          // error callback
        }
    );
    HubID.apiPut(
        {
          uri: 'api-method-url', // Api uri. Example: '/user'.
          data: 'send-data-object' // Request body data (must be object)
        },

        function(result) {
          // success callback
        },
        function(err) {
          // error callback
        }
    );
    HubID.apiDelete(
        {
          uri: 'api-method-url' // Api uri. Example: '/user'.
        },

        function(result) {
          // success callback
        },
        function(err) {
          // error callback
        }
    );
</script>