Single node or multiple node for a task on Crynux #1
Replies: 3 comments 2 replies
-
The reason of having multiple nodes to run a single task is to achieve "decentralization", which gives us a functional system that is not controlled by a single party, and always accessible to every user. If the system is controlled by a single party, he will drain profit from the system as much as he can, even if it requires him to do evil things that will hurt the users, or hurt the long term health of the ecosystem. Comparing to the extra computing resources, this is a much larger cost that is paid by all the users in the end, and it is invisible. Indeed, there will always be extra costs to achieve consensus in a decentralized system (in our case, 3x computing resources), but we will see that the decentralized system is still economically optimum comparing to other solutions. Let's break down the question into: 1. buying/rental cards VS spared cards The spared cards are "free". From the perspective of the card holders, they could accept a much lower price to run a task than the providers who are buying the cards to provide the service. Since they have already bought the cards for other purposes and the price paid to buy the card is not considered as the cost of running this service. In its idle time, the card will make profit as long as the price paid is higher than the electricity consumed(the network bandwidth consumed is also the spared resource). So that the comparison is not "single node VS multiple nodes" but rather "card + network + electricity VS 3x of electricity". 2. centralized system VS decentralized system If there is a centralized platform where the spared card holders could contribute their cards, the extra cost to verify the correctness of the computation result is still inevitable, since the card holders could cheat the centralized platform as well by providing fake computation results. The only difference is that the human could be used in the centralized platform. It is then "single node + human VS multiple nodes", and the human resource will definitely be more expensive than cards. |
Beta Was this translation helpful? Give feedback.
-
I was thinking if we could randomly choose some tasks to validate, instead of validating every task, most of the tasks could then be executed on a single node. Before the Blockchain dispatches a task, it should decide whether the task requires validation based on a random sampling. The blockchain should send the task to 3 nodes if the task is chosen to be validated, and send it to only 1 node otherwise.
|
Beta Was this translation helpful? Give feedback.
-
multi-node consensus definitely has its value. suppose user wants single-node solution and takes risk, should we offer this option? Suppose there are 10% malicious nodes, users still have 99% chance to get a good result by requesting twice, which is still cheaper than three-node consensus. |
Beta Was this translation helpful? Give feedback.
-
This is a long time discussion:
Many platforms use single node solution: easy to develop, easy to serve, however it does not guarantee correctness of computation. node can fake a result and return
Crynux Hydrogen network uses 3 node solution: harder to develop, require more computing resource, but it guarantee correctness of computation by consensus protocol and improve stability
Beta Was this translation helpful? Give feedback.
All reactions