Join us on the Road to Neo3 and learn about the technological advances made by the Neo development community.
The exception handling series looks at the NeoVM's new exception handling mechanism, intended to make Neo smart contracts behave more like traditional applications that can recover from unexpected errors.
This article introduces the Neo Virtual machine and the initial Try-Catch proposal that enables programs for exceptions ahead of time to avoid crashes.READ MORE
This article follows the lifecycle of a Neo smart contract in order to better understand how the new mechanism for exception handling is applied.READ MORE
The block sync series introduces the reader to the header-first synchronization approach commonly used in blockchain networks, and how dBFT enables Neo to benefit from a more efficient synchronization method currently in development.
Block Sync Optimization
This article covers past discussion on network optimization with a particular focus on improving the block synchronization process, followed by the exploration of a new block synchronization method for Neo3.READ MORE
This article dives into an index-based block synchronization mechanism under development for Neo3, originating from past community discussion on new P2P commands designed to reduce network overhead during block syncing.READ MORE
SyncManager & Test Results
This article looks at the implementation of the index synchronization mechanism, facilitated by the new SyncManager class, in addition to initial test results comparing the new design to the previous header-first sync mechanism.READ MORE
State Determinism & Persistence
The state series concentrates on issues stemming from the lack of state persistence on Neo, notes unique considerations for determining global state on the Neo blockchain, and walks the reader through the different components required for the implementation.
State Root & Trust Problems
The first article in this feature explores the current lack of global state on Neo2 and notes the first proposed solution for Neo3, the inclusion of a state root in block headers.READ MORE
Performance & Bug Fixing
This article discusses the downsides to publishing the state root in block headers, such as potential performance reduction and the loss of Neo’s unique bug fixing capabilities.READ MORE
Distributing State Over P2P
This article looks at the alternate, decoupled approach currently under development for global state persistence on Neo3 — distribution of state through P2P messages.READ MORE
Merkle Roots & Patricia Tries
This article aims to provide more information on Merkle roots and Patricia tries, fundamental components required for state root derivation, and how they can be used for simplified payment verification by light clients.READ MORE
Merkle Patricia Trie
For the final episode in the state root series, we explore how implementation of Merkle Patricia tries will provide strong storage consistency guarantees on both full nodes and light nodes on the Neo network.READ MORE
The contract ID feature introduces known issues with script hashes used on Neo2, explaining the benefits to a different approach that will be used on Neo3 to generate deterministic unique contract identifiers.
Script Hashes & Migration
We begin by looking into the development process behind a new feature that is intended to improve the smart contract system for developers by resolving issues with script hashes.READ MORE
Unique Contract Identifiers
In this article we examine Zhang's proposal with a naive unique contract ID implementation, replacing script hashes with UIDs and providing a deterministic UID generation scheme.READ MORE
The oracle feature aims to provide readers with a primer on the role and applicability of blockchain oracles on a smart contract platform, then introduces the components under development for the native oracle service on Neo3.
Introduction to Oracles on Neo3
The feature begins with a primer on blockchain oracles and potential use cases, and provides some context and goals for the native oracle implementation under construction for Neo.READ MORE
Transactions & Broadcast Model
This article looks at oracle transactions, which are responsible for carrying oracle requests through the network, and examines the proposed transaction structure and broadcast mechanism.READ MORE
Request Execution & Consensus
This article looks at how oracle requests are executed in NeoVM, how consensus can be achieved on the results, and outlines the initial protocols, filters, and response formats.READ MORE
Decentralization & Economic Model
For the final article in the feature on oracles, we’ll cover how the oracle network aims to decentralize and explore current progress into designing the economic model.READ MORE