blog pages

ZynerTrail – tells where your product is from on blockchain

ZynerTrail

I am excited to announce that our first blockchain product “ZynerTrail” is out in the market. It is a generic blockchain platform to trace the origin and properties of your products in real time.

Advantages over Traditional Approach

In the past, we used to record all properties, log, history, etc of a product using a traditional database. This “centralized” approach comes with the following drawbacks:

  • Usually, only one party is responsible for managing the data
  • If the single party changes the data, there is no way for users to know who, when and what are changed
  • If the single platform is down, data will not be available.

Blockchain technology can address these issues with the following properties:

Immutable – data can’t be changed once created
Traceable – track who create/change/delete and when
Transparent – data owned/managed by parties with permission
Available – platform de-centralized without service down-time

User Cases

Below are 2 real life examples that make sure of our product:

1. Food Safety

  • Scan QR code using your mobile or type in serial number on desktop

  • Properties and production history of product displayed

2. Branding for Premium Goods

  • scan the QR code printed on your product

  • display the timeline of your product (e.g. who’s the artist, participate in which exhibitions, what award it received, etc)

  • link to articles which further describe your product

 

  • up-sell/cross-sell other products

Of course, our blockchain product can apply to any industry (e.g. Supply Chain, Retail & Consumer Goods, Banking & Finance, Healthcare, Education…… )

Customization

Our product can be customized in just 3 simple steps.

Step 1. Frontend Presentation

Firstly and most importantly, need to define how to present your product. For example, it can be a timeline that shows the history of your product on mobile or web.

Step 2. Define Data Model

Secondly, need to define the data that need to store in the blockchain, in what format it should exist and how they should link to each other.

Step 3. Make Back-end Adaptations

 

Finally, we need to customize the back-end admin system so that data can be managed easily. API is available as well to add/modify/delete blockchain data in batch mode.

Behind the scene

Though the end-product looks simple, the technologies behind are quite involved. To give you a simplified picture, our platform consists of the following components:

 

  • Blockchain infrastructure
  • Smart Contracts
  • Dapp
  • Frontend Mobile/Web Applications UI
  • Backend Admin

Blockchain As A Service (BAAS)

Out of the above components, the investment on building the “Blockchain Infrastructure” is the highest. To give you an idea, a minimal up and running blockchain infrastructure should consists of:

1. Orderer
2. Certificate Authority
3. Messaging System (e.g. Kafka+Zookeeper)
4. State DB (e.g. CouchDB)
5. Peers
6. Command Line Interface

We have addressed this issue by offering Blockchain as a Service. We can setup “channel” and “peer” nodes for your company on the fly. The service is charged on monthly basis. In this way, you can minimize your upfront investments on blockchain technologies. And when your service expands, you can add more resources on top or even build your own blockchain infrastructure.

Contact Us

Interested to add more values to your products using the latest blockchain technologies? Please don’t hesitate to contact us. We are reachable anytime at www.zynersoft.com.

Building a Blockchain Platform using Hyperledger

In my last article, I mentioned that we picked Hyperledger as the choice for building our blockchain platform. Hyperledger is actually an umbrella project under which there are multiple projects that we will make use of. More description about the projects goes here:

Hyperledger Fabric

It is the core framework implementation for private and permissioned business networks. It has a modular/plug-and-play architecture for ledger database, consensus mechanism and membership services. Key concepts for this model are:

  • Assets — Asset definitions enable the exchange of almost anything with monetary value over the network, from whole foods to antique cars to currency futures.
  • Chaincode — Chaincode execution is partitioned from transaction ordering, limiting the required levels of trust and verification across node types, and optimizing network scalability and performance.
  • Ledger Features — The immutable, shared ledger encodes the entire transaction history for each channel, and includes SQL-like query capability for efficient auditing and dispute resolution.
  • Privacy — Channels and private data collections enable private and confidential multi-lateral transactions that are usually required by competing businesses and regulated industries that exchange assets on a common network.
  • Security & Membership Services — Permissioned membership provides a trusted blockchain network, where participants know that all transactions can be detected and traced by authorized regulators and auditors.
  • Consensus — A unique approach to consensus enables the flexibility and scalability needed for the enterprise.

Hyperledger Composer

Hyperledger composer is a sub-project to assist users to simply and facilitate the creation of Hyperledger Fabric blockchain applications. Using composer, developers or even business users can build chaincode and blockchain applications with ease. This is handy when a company wants to build a POC (Proof of Concept) before the actual production platform without spending too much time and resources. Hyperledger composer models the business network by creating the following files:

  • Network model file (.cto). As part of your business network model, you define the assets as well as the transactions and participants that can interact with those assets. The model file contains definitions of assets, participants, and transactions.
  • JavaScript file (.js). This file defines the transaction functions.
  • ACL file (.acl). This file contains the access control rules that define the rights of the different participants in the business network.
  • Query file (.qry). This file defines the query that can run in a network.

The above files are exported as archive file Business Network Archive (.bna) file, pictured as:

Hyperledger Explorer

This is another sub-project designed to create a user-friendly Web application on which user can view, invoke, deploy or query blocks, transactions and associated data, network information (name, status, list of nodes), chain codes and transaction families, as well as any other relevant information stored in the ledger. We can also make use of the API provided to build a tailor web application. The function can be similar to what is provided by etherscan for Ethereum.

The understanding of the above concepts are essential before we can build out our platform.

In the next article, I am going to define the project scope for our supply chain blockchain platform.

Building a Blockchain Platform for Supply Chain

The Problem

Nowadays, managing a supply chain is becoming much more complicated than before. A supply chain can have over hundreds of workflows, many suppliers or vendors involved, participants span over multi-geographical locations, cycles extend over months or even years, etc.

As examples, it’s very difficult to know what the shipment status of your goods, where ingredients of your meal originates from, trace the trading records of your jewelry…

The Solution

Blockchain comes into help in the following aspects:

  • Transparency & Traceability
    anybody who have the permission can participate in a blockchain by joining as a “node”. Being a “node” on the blockchain is actually owing the data. On the other hand, any data changes made by one participant are visible to and checked by every other participants in the blockchain platform.
  • Increase Security
    information inside the blockchain can only be added, but not edited or deleted (once data is being recorded, it’s chained together making it impossible for anybody to change). Any change is recorded as a visible addition to the datastore, making it immutable.
  • Automation
    a blockchain smart contract is a digital agreement that self-executes when predetermined conditions are met. These code-based contracts enable agreed upon actions (such as shipments and payments) to occur automatically, immediately and without intermediaries, upon the satisfaction of contract terms. For example, we can automate the payment release process when customer confirms the receipt of their goods.
  • Time and Cost Saving
    There is no need for a blockchain platform to have a single party for authoritative control. This can save a lot for time and cost for setting up a central party for data ownership/administration and the trouble of synchronizing data with the peers.

Requirements for the Blockchain Platform

There are plenty of blockchain platforms out there in the market. For us, it has to fulfil the following requirements:

  • Permissioned
    In contrary to public blockchain platform such as bitcoin, the one we are building is restricted to be accessed by parties with permissions only. In other words, we need to choose a “permissioned” type of blockchain platform. It should uses access control lists (ACLs) to manage access to resources by associating policies which specify rules that evaluates to true or false, given a set of identities
  • Channel for private communication
    for the blockchain platform we are building, the feature of sharing data only with certain parties is needed. For example, we have vendors A & B and customers C & D in our platform. All participants have the possibility of sharing information with each other. But for a particular product, price information can only be shared between vendor A and customer C only.
  • Production ready
    Although a lot of platforms in the market are feature-rich, only few of them are tested extensively and production-ready. We need a proved one that has good community support and is already running in the market.

The Choice

Considering all the above requirements we have, Hyperledger (initially contributed by Digital Asset and IBM) is the best choice. It is actually an umbrella project of open source blockchains and related tools, started by the Linux Foundation. In building our platform, we will make use of the following projects:

Hyperledger Fabric is the main project for the blockchain framework implementation.

Hyperledger Composer is a set of collaboration tools for building blockchain business networks that make it simple and fast to create smart contracts and blockchain applications.

Hyperledger Explorer is to used create a user-friendly Web application. It can view, invoke, deploy or query blocks, transactions and associated data, network information (name, status, list of nodes), chain codes and transaction families, as well as any other relevant information stored in the ledger.

In the coming articles, we will go through how we build our blockchain platform for supply chain using the Hyperledger projects mentioned above. See you soon. Cheers.

Blockchain – Current Technical Trends

Summary

Blockchain is undoubtedly the hottest topic in IT now. There are hype all over the world on this new technology. Many people even think that it will be a game changer for different industries. But how to build a blockchain platform? What types of platforms are available in market? What are the popular freeware/paid-ware? What programming techniques or software skills are needed?…. In the following articles and the ones to come in near future, I am going to share my knowledge and experience gained over the past few months of blockchain implementation.

Blockchain platforms can be broadly classified as “Permissionless”  or “Permissioned”. Let’s go through their characteristics, example freeware, sample applications…

Permissionless Blockchain

Permissionless blockchain is one that has absolutely no access restriction. Anyone with an internet connection can send transactions as well as become a validator. Since it’s open to all, it’s applications are usually targeted to B2C. Bitcoin and Ethereum (I’m sure you’ve heard of them already!) are the most typical and successful implementations of permissionless blockchain. Any online user can register to these platforms by creating a wallet. And with his/her wallet address as ID, a user can trade his bitcoin/ETH with others. He can even participate in the transaction validation process(so call “mining”) and get bitcoin/ETH as reward.

Popular Platforms in the market

With all the fundamental concepts and techniques in mind, you can of course develop your own blockchain platorm. But with limited time and resources, there is no need to re-invent the wheel. A lot of brilliant developers have already done this for you. Below is a list of free and popular permissionless blockchain platforms in the market

  • Ethereum
    an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. It is widely adopted as a platform for issuing ERC20 tokens and ICO. (will cover these concepts in detail later)
  • Openchain
    an open source distributed ledger technology. It is suited for organizations wishing to issue and manage digital assets in a robust, secure and scalable way.
  • NEO
    a non-profit community-driven blockchain project. It utilizes blockchain technology and digital identity to digitize assets and automate the management of digital assets using smart contracts. Using a distributed network, it aims to create a “Smart Economy”.

Sample Applications

A perfect platform but without good application means nothing at all. Followings are some of the successful and popular permissionless blockchain decentralized applications:

  • Bitcoin
    earliest and most successful use of permissionless blockchain technology. It is a decentralized digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority
  • ICO (Initial Coin Offering)
    a type of crowdfunding using cryptocurrencies. It can be a source of capital for startup companies. In an ICO, a quantity of the crowdfunded cryptocurrency is sold to speculators or investors in the form of “tokens”, in exchange for legal tender or other cryptocurrencies such as bitcoin or ETH. Ethereum is the most popular choice of platform to issue such tokens. There exists a standard called ERC20 for the issue of tokens which we will explain more in the coming articles.
  • Cryptokitties
    a blockchain based virtual game that allows players to purchase, collect, breed and sell various types of virtual cats.It represents one of the earliest attempts to deploy blockchain technology for recreational and leisurely purposes.

Similar to Apple app store and Android Play, there is a marketplace – State of the ÐApp where you can find the latest decentralized applications (so call ÐApp) built on top of the Ethereum platform.

Permissioned Blockchain

On the other hand, we have permissioned blockchain which a user cannot join unless he/she is invited by the network administrator. In other words, participation, transaction and access validation is restricted. Due to these properties, its applications are usually targeted to the B2B market.

Popular Platforms in the market

There are also production-ready platforms for permissioned blockchain in the market that can save tremendous efforts of building one from scratch. Most famous ones are:

  • Hyperledger
    this project was initially contributed by Digital Asset and IBM. It’s actually an umbrella project (Fabric, Composer, Explorer, etc) of open source blockchains and related tools, started in December 2015 by the Linux Foundation. One of the distinguishable feature is having a modular architecture, allowing components such as consensus and membership services, to be plug-and-play. It can host smart contracts called “chaincode” that comprise the application logic of the system. And if you want to share data only with certain parties, you can create a private channel with just those participants. But unlike most of permissionless blockchain platforms, it doesn’t require a built-in cryptocurrency and mining.
  • Corda
    an open-source distributed ledger platform, specially geared towards the financial world as it handles more complex transactions and restricts access to transaction data. But, it has also attracted interest from other industries including insurance, healthcare, energy and governments
  • MultiChain
    a platform that helps users to establish a certain private Blockchains that can be used by the organizations for financial transactions. A simple API and a command-line interface are what MultiChain provides us. This helps to preserve and set up the chain.

Sample Applications

So far, permissioned blockchain applications are targeted more on the business space. Big service providers (like IBM, Microsoft, AWS etc) and big corporations of different industries are investing a lot of money, time and effort on the development of blockchain applications. Here are some examples:

  • Trendlens (Joint venture between IBM & Maersk)
    a global trade platform using blockchain technology aimed at improving the cost of transportation, lack of visibility and inefficiencies with paper-based processess
  • Hong Kong Monetary Authority
    HKMA and seven banks to joinly launch blockchain-based trade finance platform. It’s scheduled to have trial-run in Sep, 18.
  • Everledger
    global startup that uses the best of emerging technology including blockchain, smart contracts and machine vision to assist in the reduction of risk and fraud for banks, insurers and open marketplaces.

Hope the above can give you an idea of the current situation of the blockchain space. In the coming articles, I am going to share further my experience of building blockchain platforms (both permissionless & permissioned) using the technologies mentioned above. Please stay turned. Thanks for reading.