NeoResearch, a Latin America-based NEO development community, has released a report documenting its contributions to the NEO ecosystem between February 2018 and May 2019. The report highlights 16 separate contributions, including new tools, projects, and core contributions made on behalf of the NEO ecosystem.

In the report, NeoResearch provided summaries and introductions to its various projects, noting the intentions and current progress for each. In addition to more familiar contributions such as those made to the development of dBFT 2.0 or the browser-based development suite NeoCompiler Eco, the report also provides an entry point for less well-known projects.

As the majority of contributions and details have been omitted from NEO News Today’s coverage for the sake of brevity, interested parties are encouraged to browse the full report found here.

New Tools

Notable examples of more recent projects created to benefit the NEO ecosystem include NeoPT, a C++ implementation of the NEO blockchain that is designed to be portable for use on a variety of devices, and nvm-opt, a project that aims to optimize the NeoVM contract opcodes generated by the different available language compilers.

NeoPT is focused on the creation of modules that are interconnected and can be used for various other applications; for example, a wallet module could be used by a project that wishes to develop a wallet application in C++. Currently, cryptographic and transaction modules are available, alongside their respective unit tests.

Nvm-opt uses multiple optimization techniques to make smart contracts more efficient, reducing the total number of opcodes required. In addition to reducing the GAS cost for deployment, this process may also increase the performance of smart contracts. NeoResearch noted that several contracts may be optimized by approximately 20-30%, and in some cases, up to 80% optimization has been achieved.

Experimental Projects

As a research team, the NeoResearch community also dedicates time to exploring new avenues for improving the NEO protocol. Examples include a CUDA implementation of NeoVM and the development of quantum-safe cryptography for NEO.

High-performance NeoVM is the working title applied to the CUDA implementation, leveraging GPU computing to overcome bottlenecks in the virtual machine. This study occurred in partnership with Brazilian universities and resulted in the successful demonstration of the use of parallelization techniques in cryptographic computations.

NeoResearch’s investigation of quantum-safe cryptography for NEO began with studies on several algorithms proposed by NIST-CRRC, which the team seeks to embed into the NEO blockchain as part of a hybrid mechanism. The team presented its current findings at NEO DevCon 2019 in February 2019, though implementation is pending further research.

Diagnostic Tools

Various projects under NeoResearch also focus on providing useful tools for detecting and correcting errors, including a storage audit for the NEO blockchain, a consensus communication draw tool, and a mathematical model for verifying dBFT consensus states.

The NEO Storage Audit project is a persistent store of incremental changes to the NEO blockchain, providing developers with direct access to storage values, block by block. This allows data verification and automated testing to be undertaken.

Consensus Draw is an automated tool that presents messages between consensus nodes in a human-readable manner. It was used to help diagnose issues in consensus encountered in dBFT 1.0, such as the block fork issue, and is used to focus the development and testing of dBFT 2.0.

NeoResearch also created a mathematical model designed to diagnose and verify various dBFT consensus states, such as those found during failures and attacks. As the model continues to advance by incorporating the new features found in dBFT 2.0, it will be used for other mathematical and formal proofs for the consensus mechanism.

Closing Thoughts

NeoResearch concluded its contribution report by sharing a few words on the community’s adventures so far as part of the NEO ecosystem. It also reiterated the importance of open communities in the development of NEO:

“It has been a great pleasure to be part of this amazing ecosystem, full of passion and possibilities. The great variety of projects covered by NeoResearch community, in a short period of one year, demonstrates its capability of adapting, learning, and solving hard problems.

We would like to thank all other communities, developers, users and exchanges, for giving to us this vote of trust. In particular, [we would like] to express our belief that communities will keep playing a crucial role in NEO ecosystem. Communities are a place where minds are born, where different products and ideas emerge with the potential of reaching the real-world and also contribute to the core code.”