Jump to content

Recommended Posts

Hey guys,

I'm an Ethereum developer and I'm new here so if this question should be posted somewhere else I apogize in advance. So I studied the first ripple whitepaper(not the one published in 2018), "The Ripple Protocol Consensus Algorithm", and wanted to ask some questions(any help would be greatly appreciated):

1) firstly, what is the difference between a node and a server in Ripple? According to the whitepaper "any entinty running the Ripple Server Software is a server". I get this. We have stock servers and validator-servers? Is it the same if I call a server, a node. Intuitively I feel like running a stock-server in Ripple is kind of the same as running a GETH node in eth, right? This may sound simple but I want to know what is what.

2) is there an option for end users to run a UNL? Is the validator-server a UNL? If yes, I can answer the first part(yes). Since you can decide to run a validator server you can run a UNL.

3) the basic idea is that we split the network into subnetworks - UNLs and we verify these UNLs so in the end we combine these and verify the whole system. This is great but isn't it less secure than having a ethereum-like system where every node validates every transaction?

4) what is the latency requirment to participate in the voting process. Apart from the 2 second window for the candidate set submission. I mean is there any other requirement?

5) finally i felt strange with the fact that there is a flag/kick system for nodes in the network combined with the fact that the code isn't open source.

Thank you in advance if you took the time to read my questions :)

Share this post


Link to post
Share on other sites
Posted (edited)

1.first we don't call it ripple, it is XRP LEDGER. and the server = node. source is here https://github.com/ripple/rippled

2.by now the UNL can set locally or get from a site, https://github.com/ripple/rippled/blob/develop/cfg/validators-example.txt

3.every node validates every transaction is as same as XRP LEDGER. validators are to build ledger.

4. https://developers.ripple.com/run-a-rippled-validator.html

a lot information you can find at https://developers.ripple.com/index.html

 

Edited by yxxyun

Share this post


Link to post
Share on other sites
16 hours ago, semiHonestNodeKappa said:

Hey guys,

I'm an Ethereum developer and I'm new here so if this question should be posted somewhere else I apogize in advance. So I studied the first ripple whitepaper(not the one published in 2018), "The Ripple Protocol Consensus Algorithm", and wanted to ask some questions(any help would be greatly appreciated):

1) firstly, what is the difference between a node and a server in Ripple? According to the whitepaper "any entinty running the Ripple Server Software is a server". I get this. We have stock servers and validator-servers? Is it the same if I call a server, a node. Intuitively I feel like running a stock-server in Ripple is kind of the same as running a GETH node in eth, right? This may sound simple but I want to know what is what.

2) is there an option for end users to run a UNL? Is the validator-server a UNL? If yes, I can answer the first part(yes). Since you can decide to run a validator server you can run a UNL.

3) the basic idea is that we split the network into subnetworks - UNLs and we verify these UNLs so in the end we combine these and verify the whole system. This is great but isn't it less secure than having a ethereum-like system where every node validates every transaction?

4) what is the latency requirment to participate in the voting process. Apart from the 2 second window for the candidate set submission. I mean is there any other requirement?

5) finally i felt strange with the fact that there is a flag/kick system for nodes in the network combined with the fact that the code isn't open source.

Thank you in advance if you took the time to read my questions :)

1) Mostily it means the same thing in the context of p2p connections etc. - what might be a bit confusing is that rippled also has a "node database" as its primary key-value store because that's how the underlying data structure is being represented (2 tries per block/ledger, with the root hashes being part of the header, intermediary/"inner" nodes and data stored in the leaf nodes). Relatively similar to Ethereum, who got heavily inspired by XRPL/RCL/Ripple by the way (that's one of the reasons you have accounts, not UTXOs). My guess for the "node" name in the sense of consensus is that it is supposed to be a p2p system, so every participant is a server and a client at the same time and participants running such software are usually being called "nodes" in these systems.

2) UNLs are lists (or rather sets --> no duplicates...) of public keys of validators you assume to be non-colluding. It stands for "Unique Node List" after all. You don't "run" one, it is part of your server's/node's configuration, whether you're validating or not.

3) No. The basic idea is that from all potential voters you choose a non-colluding subset and accept their majority. If you are a validator yourself, you'd also sign and publish your opinion, if you're not, you'd just take whatever the majority on your UNL decides. Every transaction is being validated anyways, the question is what happens if 2 valid transactions arrive that contradict each other. In Ethereum currently it is up to a single miner to decide and if nobody tries to fork off this miner's block, it is accepted. In XRPL the process is more collaborative than that.

4) I don't know of any hard numbers, there's a simulation framework as part of the code (https://github.com/ripple/rippled/tree/develop/src/test/consensus) for rippled as well as an older, standalone version (https://github.com/ripple/simulator). I guess it is relatively important that more than 80% of nodes on your UNL are active at any point of time. There's a newer analysis of their consensus algorithm here: https://arxiv.org/abs/1802.07242 and an improved version being proposed called "Cobalt": https://arxiv.org/abs/1802.07240
If you want to look at a very similar algorithm for consensus, you can also take a look at Stellar's SCP (https://www.stellar.org/developers/guides/concepts/scp.html), it is a bit more flexible in the selection of UNLs (called "Quorum Slice" by them) and has a few other changes, but in general it is much more similar than what you might expect when reading their paper (which doesn't even compare itself against Ripple's protocol).

5) What are you talking about, can you give a link to a description of this flag/kick system? About source code, rippled (the main/only software to run the XRPL blockchain) is Open Source under the ISC (basically MIT) license since 2013 here: https://github.com/ripple/rippled

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/11/2019 at 4:31 PM, semiHonestNodeKappa said:

5) finally i felt strange with the fact that there is a flag/kick system for nodes in the network combined with the fact that the code isn't open source.

LOL...

This makes me laugh and be sad at the same time. This is what people think about XRPL outside XRP community

I'll add a bit about:

1) You can have a node or a validator. They run the same rippled code basically (OPEN SOURCE CODE JESUS!). The only difference is in the configuration. The simple node will only be "passive" in the network, but it will have access to all the data of the ledger. The validator can take part in the validation process as described in the papers. Validators use (a bit) more resources than normal nodes.

4) About the delay: actually it has never been taken into account in the theoretical framework nor in practical public tests afaik. I'm waiting about this from Ripple since years. Right now there hasn't been any problem related to this, but who know. But it will always be faster than Ethereum :).

Edited by tulo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...