Technology Frequently Asked Questions (FAQ)

What is a blockchain? A blockchain is a growing list of records, called blocks, that are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of its data. This is because once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks. A blockchain is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way".

What is a blockchain oracle? A blockchain oracle is any device or entity that connects a deterministic blockchain (ledger) with off-chain data. This off-chain data is data that would commonly encounter in millions of applications. From what day of the year it is, to what your credit score is. These oracles enter every data input through an external transaction. This way, we can be sure that the blockchain itself contains all of the information required to verify itself.

What is the oracle problem? The blockchain oracle problem is one of the most important barriers to overcome to enable smart contracts. Operating separately from the smart contract economy is the much larger non-blockchain digital economy (off-chain data). Connecting the two systems has proven to be difficult, and crucial to the success of both.

What is a smart contract? A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control, or document legally relevant events and actions according to the terms of a contract or an agreement. Smart contracts have endless potential uses from simple peer-to-peer transactions to complex financial systems.

Do smart contracts have advantages? A good way to think about smart contracts is removing the “middle-man” from financial transactions because they can be set up to be trusted by both parties. This can result in quicker and cheaper transactions that are less prone to errors. Well, we're getting there.

What is Decentralized Finance (DeFi)? Decentralized finance (commonly referred to as DeFi) is an experimental form of finance that does not rely on central financial intermediaries such as brokerages, exchanges, or banks, and instead utilizes blockchains. DeFi platforms allow people to lend or borrow funds from others, speculate on price movements on a range of assets using derivatives, trade cryptocurrencies, insure against risks, and earn interest in a savings-like account.

Why are privacy and confidentiality so important to blockchains? As the use of blockchain technology increases, particularly in enterprise and DeFi, privacy and confidentiality become a more important factor in the usability of the blockchain. Financial transactions, protected health information, trade secrets, academic research, and government data are just some of the systems that can integrate with blockchain technology but that legally require private and confidential features.

What is a Zero-Knowledge Proof (ZKP)? Zero-knowledge Proofs/Protocols (ZKPs) are a family of probabilistic protocols, first described by Goldwasser, Micali, and Rackoff in 1985. It is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x. The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information.

Watch this about twenty times

What are zkSNARKs? Zero-Knowledge Succinct Non-interactive ARguments of Knowledge (zkSNARKs) are a particular family of ZKPs. zkSNARKs are the most widely used ZKPs, with the anonymous cryptocurrency Zcash and the smart-contract platform Ethereum among the notable early adopters. The possibilities of zkSNARKs are impressive, you can verify the correctness of computations without having to execute them and you will not even learn what was executed, just that it was done correctly. This is an excellent choice for a privacy-focused blockchain oracle.

What are Verifiable Random Functions (VRFs)? A Verifiable Random Function (VRF) is a cryptographic primitive that maps inputs to verifiable pseudorandom outputs. VRFs were Introduced by Micali (founder of Algorand), Rabin, and Vadhan in ’99. Today the primitive is used in various cryptographic schemes, protocols, and systems. Zoracles approach to randomizing API endpoints using VRF is a first in the oracle market and a promising step in providing an end-to-end solution for systems that require private and confidential features.

What is ZoKrates? ZoKrates is a toolbox for zkSNARKs on Ethereum. It helps you use verifiable computation in your decentralized application (dApp), from the specification of your program in a high-level language to generating proofs of computation to verifying those proofs in Solidity (Ethereum’s native language).