There is no thread for NRD, most of the discussion has been happening in keybase, mainly the node_dev#research channel.
I’m aiming to get an initial draft of the RFC up in the next couple of days and hopefully that will kick off a more structured discussion around the direction we plan to take this.
My knowledge of the specifics of the Beam approach is pretty limited, but my understanding is that they have implemented an explicit reference back to effectively any previous kernel, referenced by kernel hash. And that any kernel can optionally include this reference.
Without looking too closely this does appear to have a couple of pretty serious issue regarding scalability and is close in terms of design to various early approaches that we considered (and subsequently discarded) -
https://lists.launchpad.net/mimblewimble/msg00548.html
The main issue is the need for all nodes to maintain a full index over all historical kernels, effectively forever. This is clearly undesirable as the set of kernels will only ever get larger.
The other issue is the need to explicitly reference a previous kernel (by kernel hash). This adds (32 bytes?) to every relative lock kernel and these additional bytes need to retained forever.
I believe Beam does not take this into account when determining tx fee (I may be mistaken here though) so this additional storage cost (and network cost) can be forced on all nodes by any participant building transactions (for free).
The use of a hash as the reference also introduces an opportunity to include arbitrary data on the blockchain. A malicious actor can potentially take advantage of this across multiple kernels to include arbitrary data that every node on the network is then forced to store and retain indefinitely.
I suspect Beam approached this in terms of “ticking the box” for the feature with a view to revisiting the implementation specifics at a later date. My understanding is “Laser Beam” (Beam payment channel support) is a proof of concept and not yet production ready (even though it is on mainnet).
Grin is taking a far more conservative approach to this. And we believe NRD has the potential to provide a limited, constrained (yet still useful) solution to relative locks while avoiding the problems listed above.
It has taken a year to get to this point in our understanding of the problem, but hopefully we can avoid releasing a solution prematurely.