IoTeX AMA — July 2018 (Roll-DPoS)

Our Tech AMA campaign has ended! This AMA focused on more technical questions especially around Roll-DPoS and our recent Testnet Alpha:Strive release. Thank you all for engaging with us and submitting so many thoughtful questions in the span of just two hours. We will begin distributing the points as soon as possible. For our future AMAs that are more specific and focused around a chosen topic, participants are only eligible for participation points if the questions submitted pertain to the topic.

Check out the AMA details here:

Participation Steps

  1. Subscribe to the IoTeX subreddit r/IoTeX
  2. Visit the pinned “IoTeX AMA — Roll DPoS” post in the r/IoTeX subreddit on July 6, 2018 between 10AM — 12PM PDT. We will also post a link in the official IoTeX Telegram group when the campaign starts.
  3. Ask us a question and include your Telegram hashid (PM @IoTeXBountyBot and enter /hashid) — we will only give points for new questions (no duplicate questions)!
  4. We will answer the questions one by one in Reddit. If you have follow-up questions, please feel free to comment on our reply!
  5. We will also select the most thoughtful questions and give additional bonus points.
  6. We will transcribe the AMA and post the list of questions and answers to our Telegram group.

Point System

  1. Participation points: 50 points per person (must follow ALL steps above)
  2. “Most Thoughtful Questions” Bonus: 500 points (Up to 10 people, chosen by the IoTeX team)

Note: points will be distributed no later than July 13.

Rules

  1. Shoot us your questions about our recent Testnet Alpha: Strive release or any other technical question you may have!
  2. Profanity and spam messages are forbidden.

Most Thoughtful Questions

Congratulations to our community and supporters for asking the following questions which we have chosen as the most thoughtful questions for July 2018’s Tech AMA.

Q1: How does IoTeX manage to deliver so many features every 2 months on time, as we know it was coded from scratch? Also, with so many features and new things on the IoTeX platform, how can interested users participate in learning and helping IoTeX?

We have been working so hard to ensure that all the features on our roadmap can be delivered on time. Our R&D team is composed of talented software developers and researchers and everyone collaborates closely to make the development process highly efficient.

We highly encourage our community developers to help IoTeX team to realize our ultimate vision. Interested developers can play with our code available on Github and file issues. Once we have a more mature blockchain platform, application developers can develop DApps on top of IoTeX blockchain.

Q2: In the situation where a group of devices are disconnected from the internet but are still communicating/transacting with each other (i.e. loss of internet connection or maintenance to part of the network in a manufacturing environment where production cannot stop due to loss of network connectivity), how is the data integrity maintained when the affected devices rejoin the network and attempt to write their transactions to the Blockchain?

When the devices become disconnected from the Internet and rejoin the network, those devices will first synchronize with the full nodes in the network to retrieve the latest state of the blockchain. They also can send the new transactions to the block producers to post new transactions on the blockchain.

Q3: In Laymans terms could you please shed more light on optimized elliptic curve cryptography(ECC) library; how does it function on the IoTex Blockchain?

The optimized ECC library will be used on the IoTeX blockchain to sign and verify transactions. This library will also be integrated into the lightweight client running on IoT devices. The elliptic curve we selected is also specified in ZigBee Smart Energy Profile 1.2.

Q4: I noticed in your codebase that you use both int32 and int64. Will this affect the different IoT devices that the blockchain will be deployed to? Will there be compatibility issues?

The current codebase is mainly for the blockchain backend and resource-constrained IoT devices will run a lightweight client. When developing the software for the lightweight clients, we will use the most common data types to accommodate as many IoT devices as possible.

Q5: Several blockchains, for example EOS, launched its mainnet and had several issues after its launch, regarding governance and RAM price etc. How does IoTeX plan to mitigate issues that might arise in mainnet situations that might not show up in generic Testnet environment?

We realized the various issues during the EOS launch. IoTeX will be extremely cautious for launching the mainnet. A different stages of testing will be conducted before the mainnet will be launched.

Q6: What have been your biggest challenges regarding the technology development?

While the concept of blockchain is simple and elegant, there are many technical and research challenges. We saw the challenges in the following 4 axises.

  • Security: to build up a solid public blockchain platforms, we need to deal with tons of existing security attack, such as DDoS, as well as newly invented attacks tamed for blockchain.
  • Horizontal scale: Like the traditional enterprise systems, making thousands or even tens of thousands nodes work together is a non-trivial challenge to resolve.
  • Performance: High TPS is not only decided by the consensus design, it’s also heavily depends on the implementation. Performance of the blockchain, tx pool read/write, and encryption will all affect the transaction throughput.
  • Research: blockchain technology is still at very early stage. There’re still quite a few problems that haven’t been well understood yet

Q7: In which way will users see the detailed information associated with the transfer (sender, recipient, amount, block ID, etc.) and what restrictions will be imposed on this information?

It depends on the IoT applications. For highly sensitive transactions, all the related transaction information (sender, recipient, amount) will be hidden in the blockchain using modern cryptographic techniques.

Q8: In this industry everything is developing so quickly. How far is this technology ahead of itself and how long will it be in demand? What is the horizon of development?

In our humble opinion, instead of being ahead, the blockchain technology is falling behind what the problems it want to resolve. Some problems such as scalability have got enough attention and moved forward a little farther than others. However, it you compare it to the enterprise solution, there’s still a huge gap (e.g, TPS). Another there are other technologies, such as preserving user privacy on the public blockchain, is still not well understood, so that a bunch of use cases which have high privacy requirement are still not unlocked. This is where IoTeX want to push forward.

Q9: Does IoTeX value privacy more than decentralization and how do you plan to achieve privacy-preserving techniques without losing on decentralization? Is there any way to implement privacy-preserving techniques and provide interoperability at the same time without losing on decentralization?

Yes and no. Yes, we value privacy very much. No, we’re not sacrificing decentralization for privacy. Instead, we’re working on the technology to improve DPoS’ tradeoff on decentralization, which is our Roll-DPoS design. We leveraged a few cryptography technologies to enable a larger delegate pool, and randomize the probability of being the block producer, so that we could involve more participants in the ecosystem.

Q10: About the Roll-DPoS mechanism, will every subchain have their own Delegated Nodes? How granular do you expect the blockchain to grow, i.e: do you expect hundreds of huge subchains (like one with that will be joined by all car manufacturers, one from all TV producers, and so on), or thousands/hundreds thousands of tiny blockchains (i.e. one for each manufacturer, or even more for each manufacturer)?

Depending on the applications and system loads, subchains might have their own delegates. The blockchain will gradually grow with more and more IoT manufactures connect their devices into the IoTeX blockchain. It is highly possible that hundreds of huge subchains and thousands of tiny blockchains will co-exist in IoTeX system.