This article presents the idea of an additional layer of security that can be integrated into a predictor such as Chainlink for use in smart contracts: random selection of node operators.
Current security design of Chainlink
Chainlink tries to solve a big problem in the field of encryption: the predictor problem. One of my favorite descriptions of a Chainlink whitepaper is its deep defense approach to developing protocols for its team. The program allows smart contract developers to adjust the following security variables, also known as service level agreements (slas), to suit their different contract situations:
Choose the number of node operators you want
Use on-chain validation contracts to determine high quality nodes
Use on - and off-chain reputation metrics to identify high quality nodes
Require a trusted execution environment (TEE)
Require node operators to hold a certain amount of collateral assets
The severity of the penalty imposed on the mortgage assets of the malicious node
The amount of money awarded to nodes of good behavior
How nodes are aggregated to respond (this also controls the exact conditions for how nodes are rewarded or punished)
Use Chainlink's own trusted and censored node operators to resist witch attacks
The selection of the underlying blockchain. Chainlink is a protocol that can be ported to the most secure smart contract blockchain.
So, for example. Let's say I'm part of a development team that has a smart contract that flows in trillions of dollars. I can ask 300 on verification and reputation/service contract with the highest score of authentication node operator, select only those in the trusted execution environment (TEE) in the node of the operators, require at least mortgage of $1 million each node Link tokens, punish all deviation from the average response two standard deviations of the node operators, and generous reward all nodes operators within two standard deviations.
Such behavior has a high level of safety. It may go too far, and the assumptions I mentioned above may not be realized. But that's the beauty of the Chainlink protocol. It allows smart contract developers and the community to decide how much security to provide in the predictor for a particular smart contract. Smart contracts are only as secure as their weakest links, and Sergey Chainlink, CEO of Chainlink, has said the goal is to make them as secure and decentralized as blockchains running smart contracts. However, a key security feature to achieve this goal is missing in all of these layers: the selection of random node operators.
Random node operators and anti-collusion
Let's take a quick look at the consensus algorithm for ethereum, the blockchain that currently runs Chainlink. Ethereum is currently running on the PoW consensus algorithm, with plans to switch to PoS. In the PoW, anyone can be a miner to create and validate a block by setting up the dig node, joining the network, and finding the right random number to dig out the block.
While this creates a network that anyone can participate in without permission, it also creates a network that is more resistant to collusion. (blue fox note: anti-collusion means not easy to collude.)
This resistance to collusion stems from the fact that block producers are not selected by central institutions or people, but are randomly selected in proportion to the hash forces they contribute. No entity can know for sure which node will propose the next block.
The proposed block is then checked by the entire network running full nodes, and the only way an attacker can collude to start block chain tampering is if the colluding group has a hash rate of more than 23%. If any real damage is to be done, it is generally assumed that a hash rate of more than 50% must be controlled. Compare it to EOS's DPoS consensus algorithm, which USES community votes to select a limited number of verifiers, 21 representative nodes, and it is also subject to accusations of possible corruption and collusion.
My thoughts? As long as smart contract developers are choosing specific node operators, they cannot achieve the same level of collusion-resistance as leading chains. A group of known node operators is far more likely to collude than one randomly selected from a pool. Even with a trusted execution environment (TEE) like SGX, you actually have to add a trusted operator, such as Intel, to the mix.
I'm not saying that Intel intentionally designed SGX with backdoors, nor that all contracts need to be as secure as ethereum's bottom chain, but some do. Chainlink needs to add additional security if we want to achieve this goal, based on staking secure random beacons.
Solution: ethereum 2.0 beacon chain +Staking
To mitigate the potential collusion of node operators in Chainlink, my recommendation is to allow smart contract developers to use secure random beacons to randomly select nodes from the unlicensed node operator pool. Truly secure random beacons are hard to achieve on the blockchain, but fortunately, ethereum has already proposed a secure universal random beacon, the ethereum 2.0 beacon chain.
The beacon chain in ethereum generates unpredictable and unbiased randomness, based on the assumption that at least one verifier is honest, and that there is no such thing as VDF ASIC hardware being many times faster than commodity VDF ASIC hardware. In fact, you'll see that my proposal is essentially to use a system that is very similar to ethereum 2.0's equity proof of working principle.
Let's assume that there are specific data streams that have very high demand in many different smart contracts. For example, let's assume that one of the data streams is the ETH/USD price stream. Anyone can start a node for this data flow and join the network. However, instead of joining and waiting for a smart contract developer to choose you, you join the pool of node operators, where all nodes provide the same data flow to the smart contract.
The ethereum random beacon is triggered, and when it is triggered, the node operator's new committee is selected, the size of which is determined by the SLA for the smart contract that requires the teleplay service. (blue fox note: a SLA is a service level agreement) in which the probability of a particular node being elected to the committee is proportional to the number of Link tokens pledged in the pool. These nodes will provide data streams that will be aggregated and will be rewarded or penalized according to the definition of the smart contract for using the service.
This can be superimposed on all currently scheduled security features.
Perhaps smart contract developers can partially influence the probability of a node being selected based on reputation metrics on the chain; The higher the quality reputation, the more likely it is to be selected. Smart contracts can reward nodes that use SGX, or it can be used for the current centralized authentication service, where you know who at least some of the larger nodes in the pool are.
Of course, this would require a large enough pool of node operators to eliminate the threat of witch attacks outside the authenticated nodes in the pool. In ethereum, there are estimated to be tens of thousands of nodes, and it's easy to assume that most of these are not controlled by a few operators pretending to be a lot.
conclusion
I'm not the first to come up with the idea, as several upcoming predictive networks have also found the lack of randomness in node selection and come up with their own solutions (they usually have their own PoW chains, which I also have reservations about). Examples include Witnet and Tellor. There are other solutions, such as possible decentralized identity protocols. This is a very basic recommendation, far from a detailed specification and design.
You can also benefit from ethereum's PoS design, such as lockout periods or greater penalties for nodes that are offline at the same time. The purpose of this article is more to draw inspiration from Chainlink and the community. In the long run, we must minimize trust in third parties and minimize the threat of collusion in the prophets.
Overall, I think Chainlink's current planning and development is excellent. Using authentication services to resist witch attacks, combined with all the security methods mentioned above, gives it the strongest defensive attributes over most other competing predictor solutions. These methods also have the added benefit of quickly booting out of the network and may provide better security in the short to medium term if there are not enough node operators.
However, in the long run, if we really want to develop the most decentralised predictive solutions, if we want to be as secure and untrustworthy as possible as the leading chains such as ethereum, then we cannot simply trust that the chosen set of node operators will not collude. Getting randomness may be the last thing Chainlink needs to secure itself in the future.
Source:mp.weixin.qq.com
Silver block rhythm BlockBeats reminded, according to the circ and other five departments issued in August 2018 on the guard against in the name of the "virtual currency" "block chain" illegal fund-raising risk warning "file, please the public rationality block chain, don't blindly believe in reduction commitment, set up correct concept of money and investment philosophy, effectively raise the risk consciousness; To the illegal crime clue that discovers, can report to concerned branch actively reflect.
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia