1 Initially, HYCON was developed with Microsoft TypeScript. Can you tell me the reason and what you achieved during HYCON development?
“The voting procedure in SPECTRE is quite a drain on resources, so its implementation needs to be carefully managed. Our initial prototype was written in Python for ease of development, however, the final version of the INFINITY SPECTRE implementation is to be written in language such C, C++, or Rust, such that complete control over data structures and memory management is maintained allowing for better performance.” Hycon Whitepaper v1.2.2
Prototype in TS, change to Rust has always been the plan. Hycon R&D team started off small, and the team was able to develop the project rapidly by using TS. TS language focuses on garbage collecting and causes problems and slows things down (although better than JavaScript) and this is primarily due to node.js. Typescript results in slower code. It’s single threaded, therefore we can’t exploit multithread processing. Using TS, the team has been able to create a blockchain with the following features:
Number of Nodes: ~40–60
Transactions per second/Throughput: 100 TPS
Transaction Speed [Public BC]: Depends on each user ~ 180 kb/s
Blocksize [Public]: 300 kb (Block transactions are limited to 4096)
Block Interval/Latency/Creation Time: 30 seconds (median), 43 seconds (mean)
Hash Rate: 12,985 kh/s (htracker.info)
Now mainnet is launched, the team is focused on performance, because there isn’t a rush. Bring in Rust!
2 What is RUST? Can you explain more about it?
Considering the project, Rust language makes memory management more complicated, however, results in higher performance code. Rust’s automatic memory management happens at compile time, instead of runtime. This clever compile analysis results in faster outcomes and allows developers to find bugs more efficiently like they do when using C++. Rust’s enables the developers to take advantage of multithreading, thus exploiting multithread processing.
3 Why do you change SW language to RUST from HYCON? Is there any major step MS TypeScript does not support?
TS is quicker to code; however, high performance is hard to achieve. Rust is harder to code; however, results in higher performance. The reason the Hycon R&D Team chose to use rust specifically is because it guarantees memory safety, and zero cost abstraction. Developers will be able to use high-level concepts without any performance costs and garbage collectors; ultimately leading to better performance.
4 Do you expect HYCON development speed would be faster than before? If so, can we expect some change in the current roadmap?
The speed of writing all the components from TS to Rust will be dependent on each developer. In general, because of the feedback Rust gives each developer, Hycon development speed will be slower compared to the development of mainnet. Roadmap is takes into account Rust development, so this shouldn’t affect the development plans.
To developers it’s not important which language is used. It’s important to use the language that is best for the project and achieves the project goal. The decision to use Rust has been decided since the writing of the whitepaper, as a means to achieve scalability. For the time being, TS and Rust will be able to coexist peacefully; Rust integrates with any language that exists. However, when we move to SPECTRE, we will no longer be supporting TS because it will not be able to handle the greater computational load.