AMA for Testnet Preview

IoTeX
IoTeX
Published in
6 min readApr 26, 2018

--

Our first code release StoneVan has released on April 20, 2018! Here are the details for your information.

Note: We edited the questions and answers for clarity. We will update this post as we add in more related Q&As.

Q: Are we planning to publish detailed descriptions of the Testnet preview features we have introduced?

A: We are not planning to provide more detailed descriptions of features released in our Testnet preview, StoneVan, as they are relatively basic ingredients of a blockchain. However, we do have a concrete plan to explain more advanced features which will be released in subsequent code releases (e.g., Testnet Alpha) in the coming months. For instance, we are preparing yellow papers for our consensus scheme and our Cross-Chain Communication (CCC) protocol. For more details on features to be released, please reference our project roadmap.

Q: Bech32-encoded address, serialization and deserialization of messages on the wire, Merkle tree, transactions, blocks and chain, transaction pool — how exactly are these features presented and used?

A: These are basic ingredients to make a blockchain secure and scalable. We present a system diagram in the README.md on our Github to explain how we make use of these building blocks at a high level. Please do check it out, and note that we will be explaining more advanced features as part of future code releases.

Q: How and why is Golang better than Solidity and other blockchain-centric programming languages? What are the differences?

A: Golang is a programming language for building blockchains, while Solidity is a programming language used for writing smart contracts running on top of blockchains. To build a public blockchain from scratch, there are various programming languages to choose from. Bitcoin was first built using C/C++, and EOS and Zilliqa use C/C++ as well. Lisk and Crypti are built using Javascript. QRL is built using Python. IoTeX and other blockchain projects such as Decred, Hyperledger/Fabric, Ontology, and others use Golang. We chose Golang primarily because:

  • Compared to C/C++, Golang has a relatively short development cycle, which helps to expedite the realization of the IoTeX protocol.
  • Compared to Python and Javascript, Golang offers better performance, reliability, and concurrency, which are desired features to make the IoTeX network reliable and enhance performance.

Q: When will organizations and individuals be able to create their own “marker”/tokens? How many programming languages can IoTeX support?

A: Organizations and individuals will be able to create their own tokens no sooner than the launch of Testnet Beta in late August. Ideally, IoTeX will make the root chain-subchain protocol language-neutral, meaning one can implement a subchain using one’s favorite programming language.

Q: What is the detailed plan for the remaining seven sub-stages?

A: This is a great question! In this AMA, we will cover the main deliverables of the upcoming sub-phase releases at a high-level. Testnet Alpha will have full support of R-DPoS, including voting, randomized committees, a more reliable P2P layer, and RPC with clients. Testnet Beta will focus on cross-chain communication, economic models for operating subchains, and demo software development kits (SDK). Testnet Stable aims to make all existing Testnet features extremely stable and reliable. Mainnet Preview will continue to focus on stability and reliability, and we will launch the IoTeX network after thorough public testing. Mainnet Alpha will be a big release that focuses on privacy, and Mainnet Beta will be another major release focusing on IoT. Mainnet Stable will focus on large-scale deployment and massive adoption. Please stay tuned for more details on subsequent sub-stages.

Q: I read in the whitepaper that IoTeX makes use of BFT to manage denial of service (DOS) attacks, which should reduce evil attacks due to bad actors. Why has IoTeX not made use of DAG?

A: DAG has two forms: block DAG and tangle DAG. We assume you are referring to tangle DAG. Tangle DAG sacrifices global consensus to achieve efficiency (i.e., high throughput and zero transaction fee). Without global consensus, smart contracts become intractable. IoTeX uses R-DPoS which achieves both consensus and efficiency, as we view autonomous device coordination via smart contracts as a core component and design choice of IoTeX.

Q: In addition to allowing IoT manufacturers to deploy their IoT devices on the IoTeX blockchain, IoTeX will partner with IoT chip makers to develop IoTeX blockchain- enabled chips to accelerate the design and manufacture cycles of IoT devices. Do we have some more information about those partners?

A: This cannot be disclosed for now.

Q: In the whitepaper, smart homes are pointed out. Will there also be some focus on intelligent transportation, medical care, smart cars, and intelligent factories?

A: Yes! While we are working with vendors and hardware partners on blockchain integration and applications, we also encourage our community to explore these and other various used cases as well.

Q: The Testnet Preview code cannot connect to other nodes, why?

A: As we emphasized in our initial code release and video, the Testnet Preview is only an initial version with limited features, performance, and reliability, and is subject to rapid change. Rather than spend time on setting up P2P connections, we have chosen to focus on delivering a Testnet Alpha with more features, better performance, and reliability.

Q: What will be the ways (if any) to mine IoTeX? Are there super nodes? Is it only a POS system or there will also be a PoW miner?

A: IoTeX uses R-DPoS, which means there will be delegates or so-called “super nodes” (elected in a more democratic way, watch for our yellow paper in next few weeks) that mine IoTeX blockchains. The initial mining reward will be decided once the Mainnet is launched.

Q: I saw the demo in the video released and to be honest I am not impressed, this is just a demo of a normal blockchain? What is new? I was expecting an end-to-end use case between, for example, a car and a garage door.

A: As we emphasized in our video, this initial code release is simply a preview of Testnet, which serves as a baseline implementation that we will iterate on going forward. Before demonstrating a really cool DApp / use case running on IoTeX blockchains, we need to first build a fast and reliable consensus scheme and efficient cross cross-chain communication. These are major challenges, which are keeping both our research and engineering teams busy at the moment. That being said, we would love for the community to hook up IoT devices to the IoTeX blockchain in creative ways and demonstrate to us!

Q: It looks very similar to Hyperledger from IBM .

A: Good catch :) There are two aspects of our protocol that may have led to the conclusion that IoTeX is similar to Hyperledger:

  • They are both written in Golang! Please refer to previous question about why we chose Golang.
  • They both use PBFT, but in very different ways. As a consortium blockchain, Hyperledger usually works in a non-hostile environment so it has relatively simple requirements for a consensus scheme — PBFT, Raft and Paxos are all great candidates. As a public blockchain, IoTeX works in a hostile/Byzantine environment that requires a much more complicated consensus scheme, which is R-DPoS. R-DPoS treats PBFT as a building block to achieve instant finality, but it is much for far reaching than that. Watch out for our yellow paper that will explain this in further detail, to be release in the next few weeks.

About IoTeX

IoTeX is dedicated to create the next generation of the IoT-oriented blockchain platform. The cutting edge blockchain-in-blockchain architecture will address the scalability, privacy, isolatability, and developability issues relating to the IoT DApps and ecosystem growth. By combining token incentives with our vibrant global community, we believe we can crowdsource top industry and community talents to push the frontier of blockchain 3.0.

Telegram Group: https://t.me/IoTeXGroup
Telegram Announcement Channel:
https://t.me/iotexchannel
Twitter:
https://twitter.com/iotex_io
Join us:
https://iotex.io/careers

--

--