utreexo blockchain skeleton

Related tags

Cryptography sunyata
Overview

banner

sunyata

GoDoc Go Report Card

sunyata is a blockchain skeleton. It implements a minimally-functional proof-of-work blockchain, including consensus algorithms, p2p networking, a transaction pool, a wallet, and a simple miner. "Minimally-functional" means that sunyata only supports one transaction type: sending X coins to address Y. There is no scripting system or multisig support; all addresses are pubkey hashes.

But sunyata does implement one feature that no other blockchain does: a UTXO accumulator, namely Tadge Dryja's Utreexo. This accumulator replaces the traditional UTXO database with a Merkle forest; instead of checking for a UTXO's existence within a database, nodes verify a proof of the UTXO's existence (provided in the transaction) against the accumulator. The accumulator itself is tiny -- about 1 KB -- and grows logarithmically with the number of unspent outputs, whereas a database grows linearly.

This design has a number of benefits for performance, scalability, and functionality, making it vastly easier to run a fully-validating node. A new user can start validating new blocks almost instantly: all they need is a copy of the latest accumulator state. Initial block download can be performed in parallel by using multiple accumulator states at checkpoints throughout the chain. And since no costly database operations are required to process incoming blocks, you can sync almost as fast as your disk's write speed.

sunyata is not a cryptocurrency; it's just the skeleton of one. The goal is provide a simple, performant, and robust foundation on which future cryptocurrencies can be built. Accordingly, its design is fairly "conservative" aside from the accumulator; in other words, it cribs heavily from Bitcoin. ;)

You might also like...
LINE Financial Blockchain forked from gaia

LFB(LINE Financial Blockchain) This repository hosts LFB(LINE Financial Blockchain). This repository is forked from gaia at 2021-03-15. LFB is a mainn

OmniFlix Hub is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

OmniFlix Hub is the root chain of the OmniFlix Network. Sovereign chains and DAOs connect to the OmniFlix Hub to manage their web2 & web3 media operations (mint, manage, distribute & monetize) as well as community interactions.

A plugin that turn hashicorp vault into blockchain wallet.
A plugin that turn hashicorp vault into blockchain wallet.

dq-vault - Hashicorp vault BTC/ETH plugin This vault plugin stores a user's mnemonic inside vault in an encrypted manner. The plugin uses this stored

Tools to help teams develop smart contracts on the Cardano blockchain
Tools to help teams develop smart contracts on the Cardano blockchain

toolkit-for-cardano toolkit-for-cardano simplifies the development of Cardano smart contracts by providing teams with frequently needed tasks: Build T

Yu is a highly customizable blockchain framework.
Yu is a highly customizable blockchain framework.

禹 Yu is a highly customizable blockchain framework. 中文文档 Overall Structure Introduction By using Yu, you can customize three levels to develop your ow

Use golang to reproduce the basic blockchain

Blockchain_with_Go Use golang to reproduce the basic blockchain Update Panel V0.1 No transactions but noly blocks are allowed. V0.5 Transactions are n

Yu is a highly customizable blockchain framework.
Yu is a highly customizable blockchain framework.

禹 Yu is a highly customizable blockchain framework. 中文文档 Overall Structure Introduction By using Yu, you can customize three levels to develop your ow

Evmos is a scalable, high-throughput Proof-of-Stake blockchain that is fully compatible and interoperable with Ethereum.

Evmos Evmos is a scalable, high-throughput Proof-of-Stake blockchain that is fully compatible and interoperable with Ethereum. It's built using the Co

Source for the Chillis & Associates blockchain nodes

Chillis & Associates chillisd Repository This repository contains the source code for validators on the Chillis network. The source is based on the wa

Comments
  • p2p: Add support for parallel sync

    p2p: Add support for parallel sync

    Currently we download headers and blocks synchronously from one peer at a time. This pull request adds support for downloading blocks from multiple of the syncer's peers at a time.

    opened by chris124567 2
  • (WIP) rpc: fix some failing tests and syncing

    (WIP) rpc: fix some failing tests and syncing

    This PR fixes some tests that broke as a result of the switch to RPC. It also updates logic in handleMsgRelayBlock to fix some elements of syncing that were broken by the change. Unfortunately, this PR breaks the final check in TestMsgRelayBlock. This seems to have to do with how handleMsgRelayBlock returns the passed msg instead of history from the syncer's chain manager like it used to. Implementing the old logic causes syncing problems elsewhere so I am unsure of what the solution to this problem is.

    opened by chris124567 2
  • Add flexibility to the transaction pool

    Add flexibility to the transaction pool

    Stores the last validation context and applied update so transactions with proofs invalidated by the current validation context can still be successfully added to the transaction pool.

    opened by n8maninger 1
Owner
The Sia Foundation
A non-profit organization for the benefit of distributed storage
The Sia Foundation
Blockchain-go - A repository that houses a blockchain implemented in Go

blockchain-go This is a repository that houses a blockchain implemented in Go. F

Onyeka 1 May 1, 2022
DERO Homomorphic Encryption Blockchain Protocol

Homomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the computation is in an encrypted form, when decrypted the output is the same as if the operations had been performed on the unencrypted data.

null 122 Dec 27, 2022
A simplified blockchain implementation in Golang

A simplified blockchain implementation in Golang

Ivan Kuznetsov 3.7k Dec 31, 2022
DERO: Secure, Anonymous Blockchain with Smart Contracts. Subscribe to Dero announcements by sending mail to [email protected] with subject: subscribe announcements

Welcome to the Dero Project DERO News Forum Wiki Explorer Source Twitter Discord Github Stats WebWallet Medium Table of Contents ABOUT DERO PROJECT DE

null 275 Dec 7, 2022
run ABI encoded data against the ethereum blockchain

Run EVM code against a database at a certain block height - Note You can't run this against a running geth node - because that would share the db and

Edgar Aroutiounian 60 Nov 11, 2021
Go module for the Cardano Blockchain

cardano-go cardano-go is both a library for creating go applicactions that interact with the Cardano Blockchain as well as a CLI to manage Cardano Wal

Alonso Villegas 38 Dec 1, 2022
chia-blockchain some function implement in golang

gochia chia-blockchain some function implement in golang Package bls-signatures implement blspy Usage? Now we can use it to generate plot memo and id,

Kure 8 May 27, 2022
Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint.

Frontier Chain Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint. Setup Initialize the blockchain with one validator no

Frontier 12 Jul 12, 2022
Implementing blockchain using Golang ✔️

Implementing blockchain using Golang ✔️ Keys The Blockchain uses ECDSA (224 bits) keys.

null 7 May 24, 2022
Gochain is a Blockchain written in go

gochain gochain is a proof-of-work blockchain written in go. Features Proof-Of-Work Persistence CLI Transactions Addresses Merkle Tree Network How to

Jonas Ampferl 8 Jul 14, 2022