tesrapow

command module
v0.0.0-...-032b0eb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2020 License: MIT Imports: 23 Imported by: 0

README

Image text

What is TesraPunKu?

TesraPunKu Perform user-defined computing-intensive tasks off-chain, provide unlimited computing power for the existing blockchain, and bring a decentralized token economy to the traditional computing market.
The TesraPunKu network bypasses the blockchain Gas restrictions and expensive on-chain computing costs, and connects complicated third-party computing capabilities with business computing-intensive tasks (such as machine learning model training, 3D rendering, DNA sequencing, and other scientific computing).
The computing network based on zkSNARK will also support providing privacy for private input computing tasks. In addition, regarding the current scalability of the blockchain, it will bring unlimited scalability to the supported chains.
See https://www.overec.com/prove for more information

TesraPunKu-Innovation

Verifiable off-chain computing

Verifiable computing means that customers can outsource some computing tasks to untrustworthy third parties that have sufficient computing power. The calculation result and the proof of the validity and completeness of the result will be returned to the customer together, and the customer then only needs to do a verification calculation without performing the original calculation task.
For each computing request, a group of computing nodes is randomly selected, and each group member performs deterministic computing tasks, and sends back the results agreed by the majority of nodes.

Zero Knowledge Proof (zkSNARK)

Construct a verifiable computing network based on zero-knowledge proof (zkSNARK), which executes off-chain, verifies off-chain, and improves verification efficiency based on threshold keys.
The off-chain calculation based on zkSNARK only needs to be executed once. The solver and verifier are non-interactive. The proof is concise, meaning it is small and has nothing to do with the complexity of the calculation. The verification process can quickly verify the validity of the calculation results. It only depends on the size of the input and is not affected by the complexity of the calculation process.

TesraPunKu-Planning

Threshold cryptography, distributed key generation and verifiable random function(VRF)

Exploring other signature schemes besides threshold-BLS signatures requires features such as verifiability, uniqueness/determinism, non-interactive threshold signature version, and small signature size.
Research other more advanced DKG algorithms except Feldman and Pedersen verifiable secret sharing scheme.
Research on emerging research and applications of verifiable random functions in the blockchain field, explore more applications of VRF in Byzantine fault-tolerant consensus algorithms and non-interactive zero-knowledge systems.

Verifiable off-chain computing with stronger scalability

Explore and study zk-SNARK related topics, especially the implementation of general front-end compilers from high-level languages to first-order constraint systems, underlying libraries and proof systems, such as libsnark.
Evaluate and pay attention to other advanced verifiable computing technologies, which are still in the theoretical stage, rather than the production environment stage, such as fully homomorphic encryption, program obfuscation, and the latest scalable, post-quantum secure zk-STARK technology.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
edge_cm
mml
group
edwards25519
Package edwards25519 provides an optimized Go implementation of a Twisted Edwards curve that is isomorphic to Curve25519.
Package edwards25519 provides an optimized Go implementation of a Twisted Edwards curve that is isomorphic to Curve25519.
internal/marshalling
Package marshalling provides a common implementation of (un)marshalling method using Writer and Reader.
Package marshalling provides a common implementation of (un)marshalling method using Writer and Reader.
mod
Package mod contains a generic implementation of finite field arithmetic on integer fields with a constant modulus.
Package mod contains a generic implementation of finite field arithmetic on integer fields with a constant modulus.
nist
Package nist implements cryptographic groups and ciphersuites based on the NIST standards, using Go's built-in crypto library.
Package nist implements cryptographic groups and ciphersuites based on the NIST standards, using Go's built-in crypto library.
p2p
nat
Package nat implements NAT handling facilities
Package nat implements NAT handling facilities
Package share implements Shamir secret sharing and polynomial commitments.
Package share implements Shamir secret sharing and polynomial commitments.
dkg/pedersen
Package dkg implements the protocol described in "A threshold cryptosystem without a trusted party" by Torben Pryds Pedersen.
Package dkg implements the protocol described in "A threshold cryptosystem without a trusted party" by Torben Pryds Pedersen.
vss/pedersen
Package vss implements the verifiable secret sharing scheme from "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing" by Torben Pryds Pedersen.
Package vss implements the verifiable secret sharing scheme from "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing" by Torben Pryds Pedersen.
sign
bls
Package bls implements the Boneh-Lynn-Shacham (BLS) signature scheme which was introduced in the paper "Short Signatures from the Weil Pairing".
Package bls implements the Boneh-Lynn-Shacham (BLS) signature scheme which was introduced in the paper "Short Signatures from the Weil Pairing".
schnorr
Package schnorr implements the vanilla Schnorr signature scheme.
Package schnorr implements the vanilla Schnorr signature scheme.
tbls
Package tbls implements the (t,n)-threshold Boneh-Lynn-Shacham signature scheme.
Package tbls implements the (t,n)-threshold Boneh-Lynn-Shacham signature scheme.
Package suites allows callers to look up Kyber suites by name.
Package suites allows callers to look up Kyber suites by name.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL