[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/biz/ - Business & Finance

Search:


View post   

>> No.10865139 [View]
File: 67 KB, 900x450, oracle distribution.png [View same] [iqdb] [saucenao] [google]
10865139

>>10864136
The point of ChainLink is that smart contracts cannot make API calls in the first place. Communication is only one-way: anyone can read the blockchain's transactions but no smart contract can read anything that hasn't already been input into the blockchain at the time of the transaction. Thus the need for a service that provides external data to smart contracts. Many such services exist today, and the most popular one is Oraclize.it which you can have call a specified function in your smart contract with the data you request. When using Oraclize you must pay a fee for each transaction in addition to the gas costs for the callback transaction. ChainLink is like that but decentralized: you do not set up your own server to make those API calls for your own smart contracts, and users of smart contracts do not need to trust the author's servers either. Instead, ChainLink node operators compete to provide the data as quickly, accurately, and cheaply as possible. Most classes of data (basically anything public) can be subject to consensus methods that make incorrect data (maliciously or accidentally) impossible unless you have control of at least 2/3rds of the network. For other more exclusive classes of data the reputation system (which is only described vaguely and is the part I understand the least) will keep track of the most trustworthy nodes. When a smart contract makes a ChainLink query it may provide a "service-level agreement" which defines the data it wants and what consensus method, if any, it wants to apply. The SLA can also influence node selection by specifying how important things like reputation, a high uptime, a lot of staked LINK (which is lost if they provide incorrect data), or whatever else you deem important for any given query. The service then selects the nodes which best match those criteria.

This is all from reading the whitepaper so I'm not sure if any of this is outdated or has been refined, but that's the basic idea.

>> No.5892885 [View]
File: 67 KB, 900x450, oracle distribution.png [View same] [iqdb] [saucenao] [google]
5892885

>>5892286
ChainLink is a network of "oracle" (something that takes data from the real world and puts it on the blockchain) nodes that follow a consensus protocol so that no individual can tamper with the requested data. The whitepaper describes the architecture and algorithms in great detail, so it's just a matter of the devs actually implementing it.

Right now your best option for inputting data into smart contracts is a centralized service like Oraclize. They do offer some clever services like TLSnotary so that multiple trusted signers attest to the accuracy of data in a way that can be cryptographically verified on-chain, but in the end you still must trust the signers even if you don't always have to trust Oraclize itself.

Essentially, ChainLink is an oracle where you don't have to trust the deliverers of data; you only have to trust the actual data provider itself (and for certain classes of data such as the market rates of coins that can be independently verified, you can check multiple sources to increase that level of trust), thus removing a vulnerability that is currently present in any smart contract that needs to interact with the real world instead of just the blockchain your contract happens to run on.

The LINK token itself is what smart contracts will use to purchase the data from ChainLink, and nodes themselves will additionally stake LINK in two ways: they hold it to increase their reputation (because they have a vested interest in the value of the token and thus the success of the ChainLink network) and they put up an amount defined by the purchaser as a penalty which will be taken if their data is rejected.

>> No.4711445 [View]
File: 67 KB, 900x450, oracle distribution.png [View same] [iqdb] [saucenao] [google]
4711445

>>4709153
>no it doesn't, dumbfuck. API calls can't be decentralized because there's no way to verify if the oracle is lying or if the API call is lying or if the API call is just broken.
Yes, it does. Read the whitepaper, moron. Verifying if an oracle is lying is the whole fucking point, because the only way for an oracle to have its lie accepted is if EVERY oracle lies about the same thing in exactly the same way. So unless you can buyout everyone who runs a node providing a certain class of data, you're going to lose your stakes and take reputation hits with your lying oracles until you run out of money, without ever influencing a single transaction.

If the problem lies with the data provider behind the API, that is not a problem LINK is seeking to solve. LINK is trustless middleware, not trustless data. However, it does mitigate it very well, such as in the example of exchange API's that was mentioned earlier in the thread where all you have to do is call multiple exchanges to verify that information. This can be done on multiple layers: You as a node operator can do this individually to increase the reliability of your oracle, and the smart contract asking for the data can do this in their SLA to require data from multiple sources rather than merely multiple oracles querying the same source.

>> No.4025376 [View]
File: 67 KB, 900x450, oracle distribution.png [View same] [iqdb] [saucenao] [google]
4025376

>>4024912
The intended node operators are anyone with access to data that is useful to smart contracts. A ton of desirable data is publicly available to anyone with an internet connection. The most obvious and immediate would be the fiat value of cryptos, which you could scrape from CoinMarketCap and exchanges. Other useful data that you with your normal PC could have access to include, off the top of my head:
Weather
Traffic
Status of servers
Stock and commodity values
Event outcomes (sports, contests, lotteries)
Item prices on secondary markets like eBay and Amazon
Review scores for movies, TV, and video games

The whole point of ChainLink is that you get multiple nodes checking multiple data sources each, forming a consensus. Specific classes of data that are more rare - the kind you might have to subscribe and purchase from data providers to even access - would correspondingly be worth more LINK to provide.

>> No.4005947 [View]
File: 67 KB, 900x450, oracle distribution.png [View same] [iqdb] [saucenao] [google]
4005947

>>4005400
You don't have to be a data source to run a node. Many (I'd guess the vast majority - but this is a totally untapped market so who knows) smart contracts will want access to publicly available data that literally anyone with an internet connection can provide. You might even want to aggregate data from multiple sources to increase the accuracy of your own node, which will then be aggregated with other nodes through ChainLink.

Users have access to many metrics by which to decide how much they trust a node. They might value your past performance over your ability to put up big penalty payments. Or they might value you just NOT being part of some big entity hey don't trust or are already using as part of their query. The users can configure this however they like and even choose their own reputation and aggregating contracts for their SLA.

Navigation
View posts[+24][+48][+96]