Chainlink (blockchain oracle)

From Wikipedia, the free encyclopedia
(Redirected from Chainlink (blockchain))
Jump to navigation Jump to search
Chainlink
File:Chainlink Logo Blue.svg
Denominations
PluralChainlink
CodeLINK
Development
Original author(s)Sergey Nazarov, Steve Ellis, Ari Juels[1][2]
White paperchain.link/whitepaper
Code repositorygithub.com/smartcontractkit/chainlink
Written inSolidity, Go
Operating systemBlockchain-agnostic
Source modelOpen source
LicenseMIT License
Ledger
Supply limit1,000,000,000
Website
Websitechainlinklabs.com

Chainlink is a decentralized blockchain oracle network. Chainlink's token is on Ethereum.[3][4] The network is intended to be used to facilitate the transfer of tamper-proof data from off-chain sources to on-chain smart contracts.[5]

History

[edit | edit source]

Chainlink was created in 2017 by Sergey Nazarov and Steve Ellis,[4] who co-authored a white paper introducing the Chainlink protocol and network with Cornell University professor Ari Juels the same year.[1] Chainlink acts as a "bridge" between a blockchain and off-chain environments.[6] The network, which services smart contracts, was formally launched in 2019.[4]

In 2018, Chainlink integrated Town Crier, a trusted execution environment-based blockchain oracle that Juels also worked on. Town Crier connects the Ethereum blockchain with web sources that use HTTPS.[7]

In 2020, Chainlink integrated DECO, a Cornell project co-created by Juels. DECO is described by its authors as a protocol that uses zero-knowledge proofs to allow users to prove information is true to a blockchain oracle without revealing sensitive information, such as birth dates.[8]

Technology

[edit | edit source]
File:SIBOS17 – Chainlink - cleaned.png
A visual representation of Chainlink's "smart bond architecture"

Chainlink's oracle network allows blockchains to connect to off-chain data and computation resources.[citation needed]

In addition to the transfer of external information to a blockchain, Chainlink can also be used for several different off-chain computation functions, including a verifiable random function (VRF) and data feeds. The data feeds have been used to bring election data on-chain.[9]

[edit | edit source]

Node operators are compensated with the network's native cryptocurrency, LINK. All LINK tokens have been premined and largely withheld by the central issuer. A fraction of the pre-mined token supply was offered for sale to retail buyers in an initial coin offering (ICO)[citation needed]. According to Chainlink, the trade value derived from these tokens is used to pay node operators for retrieving data from smart contracts, and also for deposits placed by node operators as required by contract creators. Tokens can be stored in any ERC-20 wallet, as the ERC677 token retains all the functionality of an ERC-20 token.[10][11]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).