A framework for formally verifying distributed systems implementations in Coq.We recommend installing Verdi via OPAM, which will automatically build and install its dependencies.
verdi coq coq-library proof distributed-systemsChronicle is a self-hostable microservice, built with Slim Framework, which enables authorized users to commit arbitrary data to an immutable, append-only public ledger. Chronicle is superior to "blockchain" solutions for most real-world technical problems that don't involve proofs-of-work or Byzantine fault tolerance.
append-only hash-chain blake2b chain hash proof knowledge sapient security security-tools cryptographyAn implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework.Then, run ./configure in the Verdi Raft root directory. This will check for the appropriate version of Coq and ensure all necessary Coq dependencies can be located. By default, Verdi, StructTact, and Cheerios are assumed to be installed in Coq's user-contrib directory, but this can be overridden by setting the Verdi_PATH, StructTact_PATH, and Cheerios_PATH environment variables.
raft verdi coq proof distributed-systems consensus key-value raft-consensusProof of work based on SHA256 and Bloom filter.Timestamp MUST be equal to number of milliseconds since 1970-01-01T00:00:00.000Z in UTC time.
bloom-filter proof of work sha256 bloomProof of Assets specification and Javascript implementation.Proof of Assets (PoA) is a scheme designed to let entitites (operators) prove that they control a given amount of Bitcoin or other blockchain based cryptocurrency.
bitcoin solvency assets asset proof cryptographyProof of Liabilities specification and Javascript implementation.Proof of Liabilities (PoL) is a scheme designed to let companies that accept monetary deposits from consumers (e.g. Bitcoin exchanges, gambling websites, online Bitcoin wallets, etc.) prove their total amount of deposits (their liabilities) without compromising the privacy of individual users.
bitcoin pol proof-of-liability liability proof cryptography solvencyProof of Solvency specification and Javascript implementation.Proof of Solvency (PoS) is a scheme designed to let users verify the solvency of online websites which accept Bitcoin (or other similar currency) deposits (e.g. exchange websites, online wallets, gambling websites, etc.) in a way that doesn't compromise the privacy of users.
bitcoin solvency proofBitcoin BIP37 adds support for merkleblock messages, which allow clients to download blocks that only include transactions relevant to them. The transactions are selected via a Bloom Filter.This module creates and verifies the Merkle proofs in a merkleblock message, and lists the included transactions which match the filter.
bitcoin merkle tree proof bip37The standard library aims to contain all the tools needed to easily write both programs and proofs. While we always try and write efficient code, we prioritise ease of proof over type-checking and normalisation performance. If computational performance is important to you, then perhaps try agda-prelude instead. If you would like to suggest improvements, feel free to use the Issues tab. If you would like to make improvements yourself, follow the instructions in HACKING.
agda library proofThis is an experimental library which uses unit tests to autogenerate working code. It works by doing a breadth-first, brute force search over strongly typed abstract syntax trees and returns the first one that satisfies the unit tests.
type types ast abstract-syntax-tree abstract syntax tree induction inductive inductive-programming inductive-functional-programming test testing unit mock solver solve mocks mocking tests programming spec specification tdd test-driven test-driven-development bdd behavior-driven-development behavior-driven behavior ui-testing ui io functional functional-programming fp immutable immutability curry-howard-isomorphism curry howard isomorphism proof proves proofstnt is an interactive proof assistant for Typographical Number Theory, as described in Gödel, Escher, Bach. It helps you carry out proofs while making sure you only stick to the rules of the system. In a formal system like this, it's easy to accidentally apply things you know about maths to your derivations. For example, you may see a theorem like (a + 0) = b and, knowing what "adding zero" means, conclude that a = b is a theorem. But this is thinking "outside the system" rather than strictly following the system's rules. This program stops you from making errors like this.
math algebra number proof geb hofstadterA Scope-and-Type Safe Universe of Syntaxes with Binding, Their Semantics and Proofs
agda semantic proof generic-programmingGAPT is a proof theory framework developed primarily at the Vienna University of Technology. GAPT contains data structures, algorithms, parsers and other components common in proof theory and automated deduction. In contrast to automated and interactive theorem provers whose focus is the construction of proofs, GAPT concentrates on the transformation and further processing of proofs. You can also use Prover9, Vampire, EProver, and lots of other provers instead of the built-in Escargot prover, if you have them installed. There are many more examples in the user manual, and you can look into the API documentation for reference as well.
proofs herbrand-disjunction theorem-proving sat-solver tactics proofCheerios is a formally verified serialization library for Coq. It defines a typeclass for serializable types and defines instances for many built-in types. The specification of a serializable type requires that serializing followed by deserializing is the identity. By linking extracted code with the Cheerios OCaml runtime support library, verified serializable types can be used in executable programs.
coq coq-library serialization-library serialization proof ocamlThis is the L4.verified git repository with formal specifications and proofs for the seL4 microkernel. Most proofs in this repository are conducted in the interactive proof assistant Isabelle/HOL. For an introduction to Isabelle, see its official website and documentation.
isabelle sel4-proofs proof formalisationThe Chainpoint CLI lets you submit hashes to a Chainpoint Node on the Tierion Network. Nodes periodically aggregate hashes and send data to Tierion Core for anchoring the hash to public blockchains. The CLI lets you retrieve and verify a Chainpoint proof. Each proof cryptographically proves the integrity and existence of data at a point in time.
chainpoint command-line hash proof cryptography sha256 api-client bitcoin ethereumChainpoint Services is at the Core of the Tierion Network and built as a modern microservices architecture. The services provided are generally composed of Node.js applications running within Alpine Linux Docker containers. These containers, while intended to be run within a full Docker orchestration system such as Kubernetes in production, run well on a single host using Docker Compose. This run method is suitable for development only.
blockchain merkle merkle-tree timestamp proof immutable hash sha256 sha512 microservice nodejs docker docker-compose linkerd kubernetesMerkle proof for a Bitcoin transaction. Computes the Merkle proof of a given transaction.
bitcoin tx transaction proof merkle root light client ethereumThis is a provably correct implementation of insertion sort in Idris. This program makes heavy use of proof terms, a special facility only available in dependently-typed programming languages like Idris.
insertion-sort proof idrisIn 1995 I became involved with SSL (the S in HTTPS), which had been initially deployed by Netscape in SSL 2.0 for the first internet commerce servers, but was acknowledged to have a number of security flaws. My company ended up leading the developer community that created SSL 3.0 -- we wrote the reference implementation, we published the commercial toolkit, we hosted the developer discussion list and FAQ. Ultimately I became the co-author of the final specification and co-editor of the IETF TLS 1.0 standard, which is now the most widely adopted security standard in the world that is at the heart of the internet. Not only is it used for internet commerce, but also privacy: Google reports that it is now used for 50% of all incoming email and 60% of all outgoing email.
tls bitcoin proof
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.