State of the Layer – End of Year 2019

Omni State of the Layer, End of Year 2019

Lots of news to share in this year-end update!  This update includes the following sections:

  • Omni Core 0.7.0 Release
  • Omniwallet User Experience Refresh
  • OmniBOLT development updates
  • OmniLAB Syllabus 
  • Omniwallet-Mobile from OmniLAB
  • Electrum Plug-in
  • Specification Cleanup
  • OmniJ and related work
  • Decentralized Exchange Upgrade
  • Omniwallet.org Regional and Functional Restrictions

Omni Core 0.7.0 Release

Thanks to the sponsorship from Tether, Omni Core maintainer dexX7 (https://github.com/dexX7) and Peter Bushnell (https://github.com/Bushstar), the creator of Feathercoin, have completed and released Omni Core 0.7.0.  Among other features this release rebases all Bitcoin Core 0.18.1 improvements into Omni Core.

Major updates are much faster indexing of transactions and the update to the decentralized exchange as described later.

Release notes for this major upgrade can be found on GitHub:

https://github.com/OmniLayer/omnicore/releases/tag/v0.7.0

Omniwallet User Experience Refresh

The talented team at Rana Dev (https://ranadev.io) has been engaged to create a new, updated version of omniwallet.org.  The Omni team asked them to focus on usability and streamlining the most used aspects of the wallet, and to make the wallet work on mobile web.  Initial prototypes are looking amazing and the team is pleased to share some examples of the new interface below:

OmniBOLT development updates

OmniBOLT is an in-progress specification, based on the fundamental theory of Lightning Network, describing how to enable Omni Layer assets to be transferred via Lightning Network channels, and how Omni Layer assets will benefit from instant payment on Lightning channels. We propose this Omni Layer-capable extended protocol to expand the horizons of basic Lightning Network, to support Omni Layer assets. 

The OmniBOLT Daemon (OBD) is a golang implementation of the specification. It runs as an independent process connecting to a full node of Omni Core (version 0.7.0), which provides the on-chain services for Omni transactions on the Bitcoin network. The current OBD implementation is tightly-bound to Omni Core. Also currently being released is an API that enables light clients to communicate with OBD network. It is an easy way for our community to develop Lightning applications. 

Development summary:

  1. Applied the HD (Hierarchical Deterministic) mechanism for generating/managing OBD users’ address/keys/mnemonic words.
  2. Finished HTL Contract for single node version of OBD. Tested on a user base of hundreds. 
  3. New OBD test procedures and documentation are updated.
  4. Update the OBD API online document (https://api.omnilab.online/), completed the HTLC related API descriptions.
  5. Update the READ.ME file of the OBD repository(https://github.com/LightningOnOmnilayer/LightningOnOmni). This document is a step by step instruction for a brand-new user of OBD.
  6. Released one OBD demonstration video.
  7. The OBD query interfaces have been developed and improved, and an interface for querying user-related information has been added.

The following tasks are in our working pipeline :

  1. Work in parallel with Omni Core team, who are developing new interfaces supporting SegWit in Omni transactions. We currently use some tricks to circumvent this part of work, in order to prove the concept. It works but is not secure enough. After the new features of Omni Core are ready, we will change our code base to the new Omni Core.
  2. Larger scale tests of HTLC.
  3. Try to connect OBD to the LND network. At least we hope we can connect to the existing onion network.
  4. Or develop own network module, to enable OBD nodes to talk to each other.
  5. Complete path discovery/finding algorithms and transfers among multiple OBD nodes and any number of clients.

Online API documents for our community: https://api.omnilab.online/

For details of Update: https://omnilab.online/news/

Please visit https://omnilab.online/omnibolt/ for more information.

OmniLAB Syllabus 

There is one aim for this syllabus: to instruct relatively unsophisticated programmers / audiences to understand the background, basic theory, and application of blockchain technology, grasp fundamental concepts, technical processes, specifications and their applicable scenarios. After passing this examination, audiences shall become a specialist with ability to develop blockchain products and applications. We are looking for the cooperative institutions globally to spread our certification standards and the technical culture of Omni. 

Strategic Partners till this moment: Odaily  Blockbeats  Ccvalue  BTCU 

Please find more details here: https://github.com/LightningOnOmnilayer/Omni-Academy 

Email: contact@omnilab.online for cooperation. 

Omniwallet-Mobile from OmniLAB

We have also begun working on mobile versions of OmniWallet, testing binaries are available in our repo. OmniWallet-mobile is a native wallet for Omni Layer assets, released on both Android and iOS. It currently supports Bitcoin and all Omni Layer tokens, providing Bitcoin & Omni Layer users with an ease-of-use and unrivaled blend of security. The wallet is completely open source, which includes a set of standard backend services, written in java/golang, and a mobile side app written in Dart (Flutter framework by Google).

OmniWallet Mobile: https://github.com/LightningOnOmnilayer/OmniWalletMobile_V2

Electrum Plug-in

A team of developers has created an electrum wallet plugin which supports Omni Layer assets.  This will allow any electrum-based wallets to begin using Omni Layer assets such as USD₮ directly.  These haven’t yet been put into the official electrum client but are available for testing here: https://github.com/engenegr/electrum/tree/3.3.4-omniplugin 

Specification Cleanup and Documentation Efforts

We have recently started a project to update the Omni Protocol Specification and related technical documentation. This work has already begun and will ultimately include:

  • Converting the document from basic Github markdown to the more full-featured AsciiDoc markdown format.
  • Removing obsolete and historic sections of the Specification to focus on the details of the Protocol itself.
  • Updating the specification to include details on Class C transactions and other new features.

We also have created the Omni Layer Documentation Project repository. The README for this repository includes links to important existing documents. (If something is missing please let us know by submitting a Pull Request.) This repository also has a directory containing our first steps towards implementing Omni Layer Enhancement Proposals (OLEs) that will be the Omni equivalent of Bitcoin Improvement Proposals (BIPs).

OmniJ and related work

The OmniJ lead developer, Sean Gilligan (https://github.com/msgilligan), has been hard at work on improvements in bitcoinj and OpenJDK-based wallet framework technology that will allow us to build a bitcoinj-based Omni Layer wallet that can ultimately be deployed on mobile, desktop, or server.  Since bitcoinj provides lightweight serverless blockchain access (SPV mode) this architecture provides nice decentralization at the Bitcoin layer and only relies on Omni Core API servers for Omni token balances. The initial focus is on a desktop wallet, which should be appearing in alpha-test versions. OmniJ will also be updated to finally support Class C transactions.

Decentralized Exchange Upgrade

As some know – but few use – the Omni Layer provides a fully-decentralized exchange mechanism on the Bitcoin blockchain: one feature allows you to swap between BTC and OMNI tokens, and another allows for the exchange between any Omni Layer tokens (e.g. USD₮ <-> MaidSafe).  The team calls these the DEx and the MetaDEx. With the 0.7.0 update Omni Core and the forthcoming Omniwallet interface update, the team would finally like to open up the primary decentralized exchange to work between BTC and any Omni Layer token directly on the Bitcoin blockchain. The team is working on the functional interfaces within Omniwallet and the proper RPC calls within Omni Core, at which point the Feature Activation transaction necessary to make the feature live will be broadcast to the blockchain.

Omniwallet.org Regional and Functional Restrictions

Finally, the team has decided that due to laws and regulations prohibiting the export of services and technologies to certain countries and jurisdictions, Omniwallet.org is now blocking all connections from the following countries:

  • Cuba
  • Iran
  • North Korea
  • Sudan
  • Syria

Also, in the forthcoming version of Omniwallet.org, users in the United States will no longer be able to use Omniwallet.org to interact with the on-chain Distributed Exchanges available on the Omni Layer protocol on the Bitcoin blockchain. Other wallet functions will be unaffected, and read-only information about offers, trades and prices from the DEx will remain available on Omniwallet and Omniexplorer. While this was a difficult decision, it protects the ability of the Omni developers to continue innovating cutting edge decentralized technologies for the benefit of all users. 

Looking forward to 2020!

State of the Layer – End of Year 2019