Join us on the Road to Neo3 and learn about the technological advances made by the Neo development community.
Exception Handling
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.
Exception Handling
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 MORETry-Catch implementation
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 MOREBlock Synchronization
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 MOREIndex Synchronization
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 MORESyncManager & 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 MOREState 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 MOREPerformance & 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 MOREDistributing 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 MOREMerkle 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 MOREMerkle 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 MOREContract IDs
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 MOREUnique 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 MOREOracles
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 MORETransactions & 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 MORERequest 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 MOREDecentralization & 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