Neo Smart Economy
Published in

Neo Smart Economy

Decentralized Storage for the Real Economy

Consensus Distributed 2020

On May 11th, Neo SPCC co-founder and CIO Stanislav Bogatyrev presented flagship R&D team’s projects, the decentralized object storage NeoFS integrated with Neo blockchain, аnd NeoGo, a full Neo node implementation with SDK for Go programming language, at virtual Consensus Ditributed 2020 in New York.

First Stanislav talked about the NeoGo project. He noted that the Neo developers community is diverse from a programming language choice point of view. Following that paradigm, Neo SPCC team supports and develops an open-source NeoGo project. It is a full Neo Node and NeoVM implementation in Go Programming Language which is fully compatible with .Net reference implementation and supports all Neo 3.0 features. NeoGo nodes are already stably running in Neo mainnet, together with .Net-based nodes and one NeoGo-based Consensus Node is issuing blocks in Neo testnet. NeoGo has an SDK with Go compiler to NeoVM bytecode. It is compatible with Neo Blockchain Toolkit plugin for Visual Studio Code developed by NGD Seattle. Developers can write Smart Contracts and dApps in Visual Studio Code with interactive debugger not only using C# but also using Go. Neo offers Go developers to integrate backend software of their dApps and centralized applications with Neo Blockchain using SDK libraries and event subscription channels through WebSockets and RPC. Neo SPCC is using Neo blockchain, and NeoGo in particular, as a source of truth and synchronization of nodes in the NeoFS storage network.

Secondly, NeoFS was introduced as a decentralized distributed object storage where users can reliably store object data and have a transparent data placement process due to decentralized architecture and flexible storage policies. Under the users, both individuals and enterprises are implied. Each NeoFS node is responsible for executing the storage policies that users select for geographical location, reliability level, number of nodes, type of disks, capacity. Thus, NeoFS gives full control over data to the users. Taking into account legislation, users can define relevant policies. Stanislav emphasized that data storage system has to be trustworthy in terms of its code is public and open for verification.

NeoFS has an incentive economic model and pricing which follow free-market principles. Each node declares how much it wants to receive as a reward for data storage services. Data placement function considers the declared price and prefers nodes with a better price. However, other parameters defined by the user as a storage policy leave opportunities for nodes that want higher price but provide better or unique services, to still get into the data placement function result. All storage nodes’ service fees are paid in GAS.

Technical advantages of NeoFS were also noted, including:

  • almost infinite horizontal scalability;
  • work on commodity hardware;
  • stable data placement with minimal migration even in a chaotic unstable network;
  • interactive zero-knowledge proof protocol for data integrity validation.

A novel feature of NeoFS is its accessibility directly from NeoVM on the smart contract code level. Applications are not limited to on-chain storage and can manipulate large amounts of data without paying a prohibitive price. NeoFS has a native gRPC API and support of popular protocol gates such as S3, Http, FUSE, and sFTP allowing developers to easily integrate their applications without rewriting their code. It becomes possible, for example, to have dApp’s Smart contract to manage digital assets and data access permissions on NeoFS and let users access that data using a regular Web Browser or mobile application.

NeoFS is ready to be used as an object data storage for scalable Web applications in a public, private, or hybrid configuration. To demonstrate how NeoFS and Neo can power modern web applications, Neo SPCC has developed a service called NeoFS.Send working in public NeoFS testnet as a technology demonstration. It allows uploading a file to NeoFS using a web application interface and setting an expiration period for it. Right after being stored in NeoFS network, the uploaded content becomes available through NeoFS.CDN. It is a fully functional Content Delivery Network with Geo DNS features, TLS encryption, and Edge caching controlled by the smart contract on Neo Blockchain. Now other people can use a regular Web browser to download files from the nearest and fastest HTTP gate. It will be cached there so that the next person will get it almost instantly.

In conclusion, Stanislav shared the team’s idea to add more ecosystem components that would allow developing truly decentralized applications solving almost any problems that nowadays were solved in a centralized manner. The team’s next target is a decentralized serverless computing platform. While NeoFS allows offloading heavy data, serverless computing service will allow offloading heavy computations. Then, together with NeoFS used as a storage, it will become a foundation for a decentralized database and combined, this will cover almost all needs of modern applications on their way to becoming decentralized.

Neo SPCC: https://nspcc.ru/en
NeoFS: https://fs.neo.org
NeoGo: https://github.com/nspcc-dev/neo-go
GitHub: https://github.com/nspcc-dev/
NeoFS.Send: https://send.fs.neo.org

E-mail: org@nspcc.ru

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store