Provide testing, services and consulting for emerging software systems
a quality assurance platform for blockchain ecosystems
NtaTrust falsifies or verifies functional properties (correctness and security properties) using five core techniques, including dynamic analysis, fuzz testing, symbolic execution, model checking and static analysis, that have synergistic and complementary strengths.
Both dynamic analysis and fuzz testing are computationally efficient for detecting vulnerabilities. While dynamic analysis predicts erroneous behaviors under a fixed input, fuzz testing varies inputs to monitor more program behaviors. Symbolic execution is a more comprehensive and systematic technique for exploring program paths and uncovering subtle vulnerabilities. Static analysis and model checking, on the other hand, focus on sound over-approximations of the behavior of blockchain ecosystems.Static analysis can efficiently identify suspicious code and model check can precisely verify the correctness of models derived from blockchain ecosystems.
Therefore, inside NtaTrust, static analysis and model checking are geared toward verifying properties, whereas fuzz testing, dynamic analysis and symbolic execution are geared toward detecting property violations. For additional information, please refer to our one-page description and whitepaper.
altcoin code similarity analysis
The teams at Netta Labs and Xi'an Jiaotong University examined 488 cryptocurrencies with open source code. After comparing the code underpinning the analyzed cryptocurrencies in pairs, we found that the code of 405 cryptocurrencies (83%) yielded a similarity score of between 90% and 100% with another. Further, 324 of the virtual currencies (66.6%) had a similarity score of between 95% to 100%. Only 38 cryptocurrencies (8%) were found to have a similarity score of less than 80%. 45 virtual currencies (9%) were found to have a similarity score of between 80% and 90%. The figure to the left gives the code similarity graph of the 488 cryptocurrencies. Each node represents an altcoin and an edge links two altcoins if their code similarity is above 80%. There are forty names shown in the figure. The names in red are the top 20 altcoins that have gained most since their ICOs, while the names in green are the bottom 20 that have lost most value since their ICOs.
automated rating on software quality of blockchain projects
With the rapid infiltration into traditional domains and expansion into new horizon, blockchain is a technology that transforms the concepts of trust and value in modern society. However, it is undeniable that blockchain technology is still in an early stage. While there are blockchain projects that are built on well-designed algorithms and rigorous developments, there are ones that are hastened to the market with the purpose to claim a spot, or even worse, lure investments. Thus unbiased research and rating of blockchain projects are important and needed.
NtaRank evaluates blockchain projects based on the following two principles. Firstly, only software quality is considered. There are many subjective factors that may affect a project such as reputation of team members. However, eventually it is software that decides the trustworthiness of a blockchain project. NtaRank thoroughly examines the source code using various techniques. Secondly, only automated techniques are used. While human scrutinization may provide valuable inputs, subjective opinions are hard to be consistent across all projects and thus introduce bias. NtaRank uses algorithms that are uniformly applied to all projects.
If the data collected by IoT devices are genders only, NtaProtect automatically processes users images using novel PR-GAN algorithm. It removes identify of a user but still allows ML to recognize genders. PR-GAN not only works for images, but also works for audio and text data.