Hello OPEN Community,
We want to provide a community update to highlight some of the technical developments we have accomplished in 2020 while also sharing our plans, recent developments and vision for 2021.
At OPEN, just like in the past, we always take a diligent approach towards completing technical builds before announcing them to our community in order to ensure that the majority of what we are working on can be found live directly on GitHub. This allows for the most transparency as to current updates and developments within the project, while keeping everything as open source as possible. In the past we have constantly strived to keep our Github repositories as transparent as possible and have taken further steps over December and January to make it even more transparent. Recently we have made some environmental changes and moved all of our repositories that were on Gitlab to Github. For example, our CI/CD pipeline for projects like OPEN State and OPEN API was migrated to GitHub Actions. This was done to ensure that we can meet some of the requests for visibility into developments and to be open to all who are engaged with our technologies.
If you have been following our technical progress on GitHub over the last year, you will know that we have made many new developments over the challenging year. We want to take a moment to highlight some of these developments, including new additions projects like our webhook invocation of the OPEN State.
You can find these details summary below in case you have not been following our progress.
An Introduction to OPEN State
Our team has been working hard to develop the OPEN State, which first started development back in 2019. OPEN State plays a vital role within the OPEN Platform as it is meant to decrease the algorithms and complexities of working with blockchains. When a user deploys OPEN Scaffolds into the necessary blockchains via OPEN API, control is referred to the OPEN State. OPEN State enables connections to multiple blockchains via adapters that track the state of each OPEN Scaffold associated with a developer, user’s wallet, or account depending on the environment. It also requests useful data from all necessary blockchains in one open sourced framework. When the state of any wallet that OPEN tracks is changed, OPEN State creates an appropriate transaction and can push the data via a webhook. If you have not already, check out our repository for more information on how OPEN State works.
From a practical use case standpoint, OPEN State provides an open source solution for tracking wallets and makes life much easier for developers who need to utilize multiple chains with their respective benefits and to accept native cryptocurrencies for their goods or services. Application developers can significantly cut development time, dependencies, costs and shorten the steps of integrating multiple blockchain technologies for their business needs whether it be data or payments.
Currently, there are two ways of integrating blockchain payment technology – native integrations and payment gateway integrations. Native integrations are usually very complicated as a developer needs to make separate integrations with each type of cryptocurrency, tracking their statuses and using their own SDK. The common rules of thumb for implementing a native integration are detailed in the hypothetical steps below:
Developers may also prefer to use a payment gateway integration. However utilizing a payment gateway is the opposite or riskier approach based on the nature of blockchain technology and decentralization and only meets a small number of use case needs. Further when you involve a 3rd party, you lose benefits of decentralization such as anonymization as well as control over funds and payments. Furthermore, your solution becomes centralized by that 3rd party. In addition, there are security risks – the payment gateway could be compromised, its resources can be attacked, true blockchain validation would not be present and the keys can be stolen. Also, your application environment is now dependent on the third party whereas you may require a robust solution that tracks changes in a direct one to one or one to many without a third party approach which is the innovation of the OPEN State.
To implement integrations for a plethora of different blockchain networks such as Bitcoin and Ethereum, a developer has to implement an individual integration for each network. Furthermore, additional resources are required in terms of the number of developers working on the project (which could amount to several), extra time, and extra costs. These integrations are time-consuming to debug and require various libraries that can potentially produce conflicts and cause difficulties when one tries to put them together within a complex architectural design. Also, the developer and business owner need to periodically check for updates from various cryptocurrency platforms to be up to date, make necessary fixes, and support the system so that it is in a working state.
Considering all the inconveniences and costs mentioned above, we have developed a solution that cuts costs and headaches. A developer only needs to integrate with OPEN State and every inconvenience mentioned above is handled for them. Utilizing a powerful reactive approach, OPEN State is easily scalable, stable, and has been developed with modern architecture that is accompanied by clear documentation. Since day one of design and development we have taken into consideration multiple developer perspectives in the design of our architecture.
Many backend services are REST-ful (i.e. they operate over HTTP), which is why the communication between services usually goes through HTTP. Microservice calls or API calls often involve calling many other services depending on the results from the first calls. In cases with so much input out occuring, if you were to wait for one call to complete before sending the next request, the client could malfunction before you managed to assemble a reply. So external service calls, especially complex orchestrations of dependencies between calls, are a good area to optimize. Within OPEN State, as we call external APIs over HTTP (such as getting the state of blocks in Ethereum), we utilize Non-Blocking IO and Kotlin coroutines. This enables multithreading, which does not require a large amount of resources and is the classical multithreading model that allows you to use threads for other actions while waiting for some response in the code (i.e. data from a database). It also allows for the effective use of resources (capabilities) of the machine, if it is used properly.
Furthermore, our storage libraries provide reactive drivers that enable us to save time and reduce the cost of upgrading due to necessity. The architecture of tracking wallets provides an easy way to extend into multiple integrated blockchain networks. OPEN State is not only powerful from a performance standpoint, it is also scalable and is already integrated with Ethereum. In the near future, OPEN State will support Bitcoin and BNB (Binance’s blockchain). Thus, OPEN state is different from other architectures due to its scalability, stability and simplicity. Below is a high level diagram of the OPEN State project:
Stay tuned for more developments on the OPEN State.
Deploying CI/CD for OPEN State
We deployed CI/CD for OPEN State as the CI/CD pipeline is required to automate processes of task implementation and integration. GitHub has a set of instruments to implement CI/CD using GitHub Actions. OPEN State CI/CD has 4 steps that describe all processes of development: testing, building, packaging, and deployment. Test steps run after each commit to the repository. This ensures that new changes do not break the solution process. The build step creates executable files for Docker images and saves them in cache. The packaging step creates a Docker image that contains the last changes made in the project. The image is pushed to DockerHub, which allows everyone else to use it in their projects. Every image contains a tested copy of OPEN State, which can be deployed directly from DockerHub. There is no need to compile the project, no need to create an image, and no need to create your own registry – everything is done by OPEN State CI/CD. The deployment step updates both test and production instances using the latest Docker image. Build, packaging, and deployment steps are executed only upon releasing new versions of OPEN State. All OPEN State CI/CD runs are logged in GitHub and contain all created artifacts.
Token Snapshot Tool Update
In a previous community update, we highlighted our open-sourced approach in providing free and effective solutions for all developers and projects to overcome technical challenges. In this spirit of creating effective solutions, we introduced our Token Snapshot Tool repository that was made open to everyone and every project. The tool was developed and published in response to enable anyone to overcome existing technical barriers in rapidly creating a snapshot of an ERC-20 token in CSV format at a specific block.
As explained in our last update, this solution could be required to conduct a rapid swap to remedy a potential hack scenario, if one were to occur in the future. We also mentioned that we were developing an alternative version of the tool to make it even more accessible to all and are happy to announce that this new version was released in our repository last year. This updated version helps developers overcome major technical barriers as it does not require an archive node to run, is faster to start, and can be used with Infura’s free plan to keep things ‘open’ – pun intended. To explore the implementation of the tool in detail, you can check out our GitHub repository. In the repository, you can find the README with instructions on how to run the application. Feel free to clone and use! Don’t forget to star the repository and contribute in case of bugs. You will see in the repository that there are two different modes to implementing the Token Snapshot Tool. The two modes to create a snapshot are:
We published the Token Snapshot Tool to a custom brew tap. After we completed the tool, we created a merge request to Homebrew with our custom formula. Then, we decided to have a custom tap repository. Also, we deployed CI/CD for the tool to ensure that the most recent changes do not break the solution. The CI/CD pipeline just runs, tests and builds the project.
We have developed a webhook invocation. Put simply, a webhook is just a HTTP link that is used to make a bridge between the blockchain and non-blockchain worlds. It is used to inform users that something has happened to their wallet in the blockchain world. The architecture of a webhook invocation is scalable, is high-performance, and can be used across a large number of servers. OPEN State users are notified about wallet events with all necessary details, such as transaction amount, transaction date, wallet address, and transaction hash. This technology provides a great opportunity to create new and improved versions of existing applications with cryptocurrency support. The technology can be used by different types of applications, such as online shops.
Here is a simplified example use case:
John’s company is an online bookstore where customers want to buy books. A customer pays John with cryptocurrency. The application that John utilizes to track the book and payment needs to track and reflect the payment to automate the transaction. John cannot utilize a wallet alone, he requires extensibility in features for example he needs to accept and reflect the possible cryptocurrencies that the customer pays with on their respective blockchain networks. For example, the store application is connected to both Ethereum and Bitcoin chains while utilizing John’s own customized instance of the OPEN Chain that is related to the needs of the application environment. For example, the application requires the ability to accept and track various cryptocurrency transactions and their validations across their respective chains (i.e. ETH and BTC chains in this case). For security, the application developer in this case requires an open source solution that connects directly with the various chains, reducing dependencies and vulnerabilities within any APIs from any middle parties. OPEN State detects the new payment transaction and lets John know that he received a payment to his wallet via calling a webhook. Once the state is changed, John gets a notification from his application utilizing the OPEN State and begins the delivery process. All John needs to do is register his wallet with OPEN State and provide a webhook URL. As a developer of the bookstore, John’s application criteria was specified in the following ways:
In short, this is an incredibly efficient way to do business with wallets in the cryptocurrency industry. Under the hood, this works in the following way: when OPEN State detects new transactions in a wallet, it creates or updates tasks for webhook invocation in the queue. Webhook queues contain information about a wallet and the last transactions that need to be processed. The queue is ordered by transaction loading time, so the oldest transaction in the wallet is processed first. A webhook for each transaction is invoked until the process garners a successful response. Each attempt of webhook invocation is rescheduled with delay and calculated using Fibonacci row in case of a negative response. If the webhook invocation is successful, it is removed from the queue and information about its execution is saved in MongoDB. Otherwise, the webhook is invoked every day for 17 days. If all attempts fail, OPEN State stops invoking webhooks for that wallet and moves the webhook task to a special queue for further processing. Using this approach allows users to be informed about new transactions properly without spamming or overloading of their servers. This architecture is described in following diagram:
For example, OPEN State would send the following data via POST request on webhook processing:
Asset Currency Conversion Upgrade
We fixed an issue relating to an active currency converter. Our previous client updated the conditions on their API, so we had to change the implementation of features with exchange rates. After thorough research, we decided that the Binance API would be the best solution. It does not require API keys or other additional parameters and has a simple response that makes it an ideal implementation on the OPEN API side. Though developers may choose to utilize different currency conversion APIs we by default offer implementation utilizing the Binance API as we believe they will continue to keep this API active and available for the foreseeable future.
The Next Generation – ETH 2.0
Ethereum 2.0 consists of a number of upgrades to the Ethereum network with different release dates in 2020, 2021 and beyond. The first of these upgrades took place during the Beacon Chain genesis launch event, which was set for December 1st, 2020. According to Ethereum’s official guide to Ethereum 2.0 upgrades, the Beacon Chain conducts or coordinates an expanded network of shards and stakers. It is not like the Ethereum mainnet of today, it doesn’t have accounts and it cannot handle smart contracts. The chain’s role will be modified over time but it serves as a foundational component for the secure, sustainable and scalable Ethereum that is being built now and in the future. Ethereum’s vision for introducing Beacon Chain and other 2.0 upgrades later on is to bring about a digital future on a global scale. However, this cannot be achieved without unlocking Ethereum’s full potential by overcoming major challenges that have surfaced since the launch of the Ethereum protocol in 2015. These challenges include high transaction fees that make Ethereum expensive for users, fast growing need for disk space to run an Ethereum client, and the environmental impact of the Proof of Work consensus algorithm that keeps Ethereum secure and decentralized. Ethereum 2.0’s set of upgrades address these exact challenges and more. The hope is that Ethereum will become more scalable, secure, and sustainable while preserving the network’s core value of decentralization. Improvements will be released incrementally over time and we are excited to see what’s next. The OPEN State can be used in conjunction with leading blockchains such as Ethereum. As Ethereum evolves, we continue to upgrade our dependencies which are slated for early Q1, 2021.
Threats to the Decentralized Industry – The Alarming Great Reset and the WEF
Being enthusiasts of a fair and just society through decentralization, we could not help but notice the ever-increasing buzz about the Great Reset initiative within the decentralized space. The Great Reset is reported by an increasing number of sources as a preplanned agenda developed by what Bitcoin.com calls fascists in their article, “A Look at the ‘Fascist’ Agenda Behind the ‘Great Reset’ and the WEF’s Reboot Propaganda”. The article highlights that the Great Reset is backed by global elites and organizations to be pushed on the rest of society.
With global demonstrations in virtually every part of the globe being shunned by mainstream media and an unprecedented level of censorship to keep up the narrative behind our current times, it is becoming more and more evident that there is a group of people forcing a single agenda and narrative globally with a plan for each industry and each area of our lives. This includes moving from fiat to digital currency.
The Great Reset initiative was started by the World Economic Forum (WEF) to ‘improve the state of the world’ according to their website. The WEF centers their initiative around the COVID-19 pandemic and its political, economic and social consequences. They state that the pandemic has more than ever exposed ‘the inconsistencies, inadequacies and contradictions of multiple systems – from health and financial to energy and education’. The WEF sees that they are entering ‘a unique window of opportunity to shape the recovery [from the COVID-19 pandemic]’ and that their pre-planned initiatives ‘will offer insights to help inform all those determining the future state of global relations, the direction of national economies, the priorities of societies, the nature of business models and the management of a global commons’. They continue by saying ‘the Great Reset initiative has a set of dimensions to build a new social contract that honours the dignity of every human being’. Some of the initiative’s ideas that have already been announced are:
But at what cost? To usher in such a reset, a problem has to be presented that is so widely experienced it would involve a dire economic situation for such a reset to be required in the first place. Entirely hypothetically speaking – could self serving agendas be the core motive or is there something more altruistic at play here warranting unnecessary censorship and new potentially dangerous laws to our freedoms.
Crypto and The Great Reset Economy
Our industry, based on the premise of decentralization and decentralized technologies, is the exact opposite of what the Great Reset represents – pure centralization through the use of technology under the ‘recommendations’ of a very small number or group of people. Coincidentally, under the media blast of lockdowns last year, a series of political efforts to end aspects of software encryption was released. This leads to a direction that could very well harm the nature of the cryptocurrency industry itself.
What are other implications of the Great Reset on crypto? Cointelegraph published an article that warns the Great Reset means world leaders have big plans for a new world order with centralization appearing to be a significant part of it, stating that ‘global governments want to put the world on a distributed ledger in order to digitize finance so governments can have more control’. This is of course against the founding principles of crypto and blockchain technology, which are focused on decentralization of existing flawed centralized systems and most importantly the personal freedoms of people around the world. The article states that instead of social credit systems and centralized fiat currencies, crypto allows each individual to be in control of their own money, to be less dependent on banks, and to be in control of defining what money and real value is. It seems as though the Great Reset may pit governments and their central bank digital currencies against the cryptocurrencies of the people – centralization versus decentralization.
Numerous resources can be found on this topic from various doctors, economists, lawyers, politicians, and organizations who point out that this could be a very alarming world to live in – whether they are being heard is another story. Recent comments about the lack of Freedom and Democracy missing from the WEF’s plan from Brazillian leaders has recently come out as a concern as global protests take place and censorship continues. Decentralization is a tool that can be used to help keep democractic principles and design in place in numerous areas that affect life, not just blockchain technology.
In addition to upgrading our dependencies as the industry evolves, we are looking at a number of initiatives and technology development approaches that can attract developers from within and external to the industry. As we are seeing a return of interest of cryptocurrency, digital fiat currencies and underlying decentralized technologies grow deeper from outside of the industry. This brings hopes to a future potential of an influx of new developers into the space.
As a result, OPEN is pushing additional internal processes and content to our public Github as mentioned earlier. This year, our focus will be predominately be the development of OPEN State, appealing to developers from multiple different environments within the decentralized spectrum of technologies. By focusing on this interoperable cross chain tool, in conjunction with our bridging approach we should be able to provide utility to a number of people across the industry and the coming industries built on top of the decentralized technology landscape.
We’re also hoping to launch our own application by Q4 of 2021 to bolster developer interest in the platform of technologies but in OPEN historical fashion more announcements will come after this has already been started on our public Github.
In addition to the above we will be producing more visible updates and summaries that our community can track monthly. Most of these will be present on our Github and additional resources will be placed there. For instance, last month we publicly published wikis describing in detail the architecture of our tracking mechanism that was in design and development phases during Q3 and Q4 of 2020.
OPEN Development Bounty Coming Soon
Further we are excited to announce the upcoming launch of the OPEN Development Bounty as we continue to focus on bringing talented developers to engage the OPEN ecosystem. In this bounty, we will be rewarding developers for building applications and projects leveraging OPEN’s technology in any environment. OPEN’s open sourced approach is meant to push the mission of decentralization and in that same fashion this program is open for any development environment or use of technologies outside of our platform in conjunction with our technologies. For example our released SDKs and documentation, developers can choose to deploy scaffolds, integrate APIs or build a DApps or utilize the OPEN State. Our robust OPEN Chain and OPEN Platform documentation provides the tools necessary for developers to build robust applications and solutions around decentralized technologies.
We are interested in a wide variety of applications and projects that developers can create in a myriad of categories, including but not limited to gaming, DeFi, payments, and UI improvements of existing OPEN technologies. We will keep this bounty open-ended and would love to see where individual developers or development teams take this.
We have more planned under wraps so stay tuned for updates including the OPEN Development Bounty update, where we will provide more details and as always find our primary updates on our Github and utilize our Docs at https://docs.openfuture.io/.