We aggregate and tag open source projects. We have collections of more than one million projects. Check out the projects section.
Exonum is an extensible open source blockchain framework for building private blockchains which offers outstanding performance, data security, as well as fault tolerance. The framework does not include any business logic, instead, you can develop and add the services that meet your specific needs. Exonum can be used to build various solutions from a document registry to a DevOps facilitation system.
Public vs Private Blockchains
A blockchain is a list of records, blocks of transactions, where each new block contains the cryptographic hash of the previous one. Therefore, a block cannot be modified or removed without altering the subsequent chain, not to mention an attack of the kind can only be achieved through a collusion of participants of the network.
Anyone can join a public blockchain, receive a copy of its data base and participate in the consensus. Public blockchains are considered secure, as the large number of participants renders a collusion virtually impossible.
On the other hand, only a limited number of participants is admitted to a private blockchain by its owner. Whereas a private blockchain offers a much more efficient performance, it is also less secure and trustworthy. Firstly, the limited number of participants makes nodes vulnerable to hacker attacks, secondly, collusions between node administrators become a reality.
With this in mind, Exonum offers highly efficient private blockchains, which can be just as secure as public ones by means of applying its efficient and flexible authoring tools.
Key Features
Let’s take a look at some of the main features that contribute to Exonum’s performance and reliability:
Rust
Exonum is written in Rust, one of the most secure programming languages. During the framework development it has proven to be a more universal and effective tool in many aspects as compared to Java, C and C++.
Byzantine Fault-Tolerant Consensus Algorithm (BFT Algorithm)
Exonum’s BFT algorithm ensures that the system will continue to operate correctly even if up to 1/3 of the nodes behave maliciously. The consensus algorithm cycle has several stages during which a new block is compiled only if more than 2/3 of validators agree on it. The algorithm can process up to 5000 transactions per second with a clearing latency of 0.5 sec.
Bitcoin Anchoring
The anchoring service periodically sends the hash of the Exonum system state to the public Bitcoin blockchain. If any changes are made to the Exonum blockchain or if it is rewritten from scratch, the existence of anchored data will immediately reveal such actions.
Services
Exonum functionality can be extended by services. Services in Exonum are similar to smart contracts in other platforms; they determine the rules of transaction processing and encapsulate the business logic of a blockchain application. Services are written in the same programming language as the framework core - Rust. Due to this factor, Exonum services have higher performance and speed as compared to the competitors’ analogs. Bitcoin anchoring is an example of a service.
Nodes
Exonum-powered blockchain presupposes 3 types of roles for its network participants:
Approach to Business Logic
Initially, Exonum does not contain any business logic enabling the users to extend its functionality with the help of services. Exonum was not designed to serve one particular goal, rather it is a framework which can be adapted to different needs. The good grounds for that is in its essence - Exonum does not offer a vertical solution with extensive functionality in one sphere, but it is a horizontal solution which can be extended to many spheres at once. In other words, the idea behind Exonum was to select and implement the solutions common for many economic spheres to create a framework for building applications which would serve various purposes.
Although now the services are written in Rust only, they are actively working on implementing Java bindings into Exonum in order to make it handier for the large enterprise community.
Meanwhile, there are already real-life examples of registry, banking and DevOps systems running on Exonum. And there are many more spheres where Exonum-powered private blockchains might prove useful.
Research and Contribution to the Community
With the rise of Bitcoin, the theme of blockchain has gained huge popularity among the software developers community. Various solutions have been introduced that use blockchains instead of regular storages to promote security and productivity. However, not all these solutions are elegant.
Exonum has a dedicated Research and Development team who vigorously study existing solutions and come up with the ways to improve them or introduce completely new ways of solving existing issues.
As Exonum is an open-source software platform, most of the solutions, which appear as a result of extensive research, are shared with the community. Anyone can use the code provided by the Exonum team to learn, experiment and extend it to include the functionality one needs.
Among the many results of Exonum team’s research are:
Time Oracle
Exonum 0.5 features time oracle - a time service within the blockchain. The team were faced with two implementation options: either making the time oracle a part of the consensus process or a separate service. The latter method was selected, as research acknowledged it as a more manageable and flexible solution.
Asynchronous Operation Using Tokio
Previously, an Exonum-powered system operated synchronously, which hindered its operation. As a result of research, the team have implemeted the Tokio library into Exonum. The solution significantly increased the speed of operation and enabled Exonum blockchain to function asynchronously as new tasks come in and system resources are freed up.
Test Kit
Another contribution of the Exonum research team is the test kit. This library allows developers to test services without network operation and consensus algorithm involved. Tests run in the same system process as the service code itself to simplify the debugging process of the service business logic.
Currently, the R&D team are looking into WebAssembly that will allow running services written in bytecode and deploying pieces of precompiled code in Exonum without rebuilding the whole system.
Another point of current interest to the team is a 2-way peg as a means of integration with Ethereum. The 2-way peg would enable exchange of information between blockchains and let Exonum interact with Ethereum similarly to a sidechain.
Existing Exonum-powered Systems
Exonum has already been used for building a number of applications, let’s take a look at some of them:
Georgia
The National Agency of Public Registry in the Republic of Georgia has implemented an Exonum blockchain into their land titling registry in test mode. Blockchain implementation will significantly reduce the service delivery time and operational costs, as well as provide real-time audit capabilities.
Ukraine
Ukraine’s governmental System of Electronic Trading in Seized Property (SETAM) is being shifted to Exonum to apply blockchain. The blockchain system will store records of seized property, a registry of auction participants and a log of auctions. The implementation will enhance citizens’ trust in the system as well as provide extra security.
Aricent
A pilot project was implemented at Aricent to improve the efficiency of their software development process (DevOps). According to the company’s internal research, the introduction of an Exonum blockchain has led to a considerable acceleration of the product development cycle.
Exonum and Its Main Competitors
The rapidly growing market of blockchain solutions has already resulted in the active race of technologies in the sphere. With more and more players joining this game, Exonum is most often distinguished from others through analyses against such popular projects as Ethereum and Fabric.
As compared to public blockchain solutions, Exonum offers a considerably higher speed of operation, while at the same time Exonum private blockchains offer virtually the same level of security as public blockchains due to its anchoring feature.
Exonum’s BFT consensus algorithm is determined mathematically which means it does not require economic reward for proper functioning. As a result, Exonum does not require mining and does not depend on the exchange rate of any of the cryptocurrencies. This all makes the cost of operation of an Exonum blockchain always predictable.
The Exonum framework is flexible and adjustable to its users’ needs. The system allows adjusting several consensus related parameters, for example, timeouts. Developers can write their own various services for Exonum and incorporate the desired business logic therein. Additionally, Exonum services offer wide possibilities for interaction with applications through web API.
The Exonum framework continuously grows, improves and develops, and you can take part in that process too. To ask questions, communicate your ideas and keep up with the latest developments in the platform, join the official Exonum channels in Gitter and Telegram, as well as the repository in GitHub.
References:
Subscribe to our newsletter.
We will send mail once in a week about latest updates on open source tools and technologies. subscribe our newsletterBlockchain is buzzing across the world with its endless potential for disrupting a broad spectrum of the industries beyond the storage and transferring the values. Cryptocurrencies are revolutionizing variant industries and plenty of people talk about it with and their potential. Blockchain technology may have been made for bitcoins but it has immense potential for making the transactions secure and exciting. The technology is not ubiquitous but it already seems to be disrupting a huge number of the highly centralized industries that demonstrate practical use cases for changing the way businesses are done.
It is a fact the 2020 is not going the way we expected to be but when it comes to technology breakthrough we can say 2020 will be the heir of greatness. <br />Speaking of technical breakthroughs we have got artificial intelligence which is known to be taking over the mankind like a wildfire. Everything around us is connected through AI be it shopping travelling or even reading. Every other activity of ours is transforming into a whole new extent.
Bitcoin is an open source digital currency which could be transferred in a P2P payment network. It is decentralized and it is not controlled by any central authority or banks. It is transferred from person to person and no authority will be aware of your transaction. Its quite different from PayPal or Banks.
Light 4j is fast, lightweight, secure and cloud native microservices platform written in Java 8. It is based on pure HTTP server without Java EE platform. It is hosted by server UnderTow. Light-4j and related frameworks are released under the Apache 2.0 license.
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It is pre-loaded with user authentication, content administration, site maps, RSS feeds and many more tasks. Security features provided are cross site scripting (XSS) protection, cross site request forgery protection, SQL injection protection, click-jacking protection, host header validation, session security and so on. It also provides in built caching framework.
RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS 2.1 specification, a JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol. It is licensed under the Apache 2.0 license.
Magento 2 is no longer a buzzing term. Since Its inception one and a half years ago, developers are in love with its rich technology stack. The following post emphasizes on Dependency Injection (DI), one of the best design patterns that Magento 2 uses.
Light 4j is a fast, lightweight and cloud-native microservices framework. In this article, we will see what and how hybrid framework works and integrate with RDMS databases like MySQL, also built in option of CORS handler for in-flight request.
SEO friendly URL is recommended for any website which wants to be indexed and wants its presence in search results. Searchengine mostly index the static URL. It will avoid the URL which has lot of query strings. Almost all websites generate content dynamically then how could the URL be static. That is the job of the programmer.
PHP, the general-purpose scripting language has been used since decades for socket programming and web development. But in recent times, Python has become the most sought after programming language. This all-purpose programming language is attracting more developers in the industry owing to its highly dynamic and extensible nature. Let's see how Python is winning over age-old PHP.
RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It comprises of frameworks for mock, embeddable server, rest client, proxy servers, logging and so on.In this article, we will walk-through ETag implementation and show the behaviour related to ETag done by rest easy framework. Example is developed using RESTEasy 3.7 and deployed in tomcat as RESTEasy framework is portable.
The Apache Struts Project Team announced End of Life (EOL) for Struts 1.x web framework. Struts was launched in the year 2000. It is only of the widely used web framework. It gave better control over writing UI and business logic code directly in to JSPs.
Activiti Cloud is the first Cloud Native BPM framework built to provide a scalable and transparent solution for BPM implementations in cloud environments. The BPM discipline was created to provide a better understanding of how organisations do their work and how this work can be improved in an iterative fashion.
In any project there will be a need to send mail out to users. It could be an alert mail, forget password or authentication related mail. Mail is the default communication between the software and the users. As a developer, we can write code, to send out a mail but we need to make sure whether it got successfully received and how the body of mail, Is it the same like what we have sent. GreenMail is a Email test framework which helps to send and receive mails. It is a test framework which supports SMTP, POP3, IMAP including SSL.
Material design is inspired from the real world building architecture language. It is an adaptable system of guidelines, components, and tools that support the best practices of user interface design. Backed by open-source code, Material streamlines collaboration between designers and developers, and helps teams quickly build beautiful products. In this article, we will build COVID stats using Angular Material design.
Nowadays on the web, Shopping is one of the most popular activities. Everyone can shop at their recess, anytime from anywhere. However, this is interesting that anyone can have their pages built to display their favourite products and services.
F# is a functional programming language for the .NET Framework. It combines the succinct, expressive and compositional style of functional programming with the runtime, libraries, interoperability, and object model of .NET. Microsoft recently released its source code under Apache License.
Most of the projects will have a requirement of sending and receiving mails. We have mentioned about GreenMail - Email Test Framework, in our previous article about API based SMTP testing. In this article, we discuss about MailHog - Web and API based SMTP testing. You send out a mail from your code and you can check it via web visually and also via API. Those who do API testing can check via API. Developers may want to visually verify the format of the mail. MailHog is a best bet for SMTP testing.
Text editors are mainly used by programmers and developers for manipulating plain text source code, editing configuration files or preparing documentation and even viewing error logs. Text editors is a piece of software which enables to create, modify and delete files that a programmer is using while creating website or mobile app.In this article, we will discuss about top 7 all-round performing text editors which is highly supportive for programmers.
RESTEasy is JAX-RS 2.1 compliant framework for developing rest applications. It is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS 2.1 specification, a JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol.
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.