A distributed system (blockchain as an example) consists of components located on networked computers which communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a non-contradictory state (consensus).
Software development for a distributed system should take into account peculiarities of the system (Fallacies of distributed computing). Ignoring these peculiarities leads to various vulnerabilities and problems. In some cases, they cannot be eliminated without significant changes in the software architecture.
A distributed application (d-app) consists of two parts:
- — Smart-contracts,
- — Smart-tools (interfaces, off-chain storages, etc.)
Both parts should be developed with the restrictions of distributed system (blockchain) in mind.
Let’s look a little bit closer at the parts of d-apps.
In the nutshell, a smart-contract is an executable code and data which are stored in a blockchain. Overall smart-contract developing is not rocket science. But there are a lot of nuances which should better be known before smart-contract development. Performing numerous security audits of smart-contracts we have not seen any smart-contract without issues.
- — Interfaces to interact with smart-contracts,
- — Off-chain storages to store confidential data and/or large files,
- — Monitoring of transaction executing,
- — Other tools that are required to fulfill business needs which cannot be done with blockchain means.
Why our team?
- — Successful experience of software development for distributed systems,
- — Excellent understanding of blockchain technologies,
- — Experience of smart-contract development,
- — Common sense.
Our team has these competencies and even more. We have been focusing on software security analysis, financial applications development and, last years, on Blockchain technologies. Our strong IT security background at the development stage allows to avoid security problems in the future.
I agree to the processing of personal data (PDF, 54.5 kb)