RChain Blog

RChain Co-op Weekly Community Debrief #194 Sept 2 2020

Greg Meredith 0:00
All right, Rao you want to give the technical update?

Rao Bhamidipati 0:05
Yes, should be seeing my screen that says Community Update 135. So where we are now is last week when we spoke, we were running 0.9.25.2 on the main net. And currently we’re running 09.25.3 on the main net that has the changes made since last week. And one of the significant ones being the improvement to the fourth choice tip calculation that gives a decent amount of performance boost on the main net. I’m going to click on this link here. Okay, so you can see that we were running at these low levels of deployments per day. Until we got this on the network, and then there is, you know, depending on how you look at it, five x ish improvement on the speed over there. So how we are accomplishing that is that in doing for, for choice tip calculations always get tripped over that, um, we realized that we really don’t have to keep calculating all the way back. So we’re basically calculating the last thousand blocks at this point in time. And then there were some other improvements, like using vectors in the code. So those are, that’s one of the pieces that we’re working on. And we’re still continuing to work towards completing the 0.9.26 last, last fine listed final version, all this 0.9.25 to 0.9.25.1. All these are basically steps in that direction. But we think we’re kind of getting close to the final part of 0.9.26. And where we are scrolling down the document here. Basically, we have the state. And we have a bunch of tests. And it seems to it’s it’s working, but we need to really do a lot more generative testing. Meaning we have to test for all kinds of conditions as opposed to, you know, a number of tests or conditions that we could think of. So we’re taking the time to really make sure that the testing is complete, because this is a significant change when you’re changing the state and and you’re saying this is the state you rely upon going forward. And this state ensures that if you were to run a test all the way back to the Genesis, that what this last finalized state is representing is indeed the truth as to a point in time where you don’t have to go back. So you can imagine that quite a bit of for quite a number of concerns, we need to make sure that the last finalized state is truly representative of the properties that we’re claiming for that. A, that it’s accurate, in that if you confirm up to that point, you confirm all the way back to the Genesis. That’s the main thing that we’re trying to do. And then we also need to make sure that this state change is or this state representation “Last finalized State” works accurately across different scenarios like when you change epochs in something else, changes in the network, all those conditions need to be tested thoroughly to make sure there are no problems. So that’s the process we’re in right now. 0.9.26 Alpha 2 is already kind of tagged, it’s not released, because we’re still doing the tests and all that but it is available for you to play with in the repository. And we’re doing this mapping of all state changes and the interrelationships and and essentially to do inspection to make sure that it works well in all conditions. The other thing that sort of a little bit of a drag is the fact that this last blocks or the invalid blocks from that belonged to the last validator. So we’re still having to carry those at this time because of the large epoch sizes. So we’re trying to see what is the best way to handle that. And the as we work through this mapping of the last finalized state and, and calculations and all that. So that’s what is going on over there. Now, the future plan for 0.9.27 and beyond includes the ability to change the proof of stake contract. For example, one of the things we would be doing there is changing the shortening the Parkland, possibly the quarantined land, and other changes, so that would be a hard fork. So when we do that, because that’s not on the critical path right now and we don’t want to bring it on the critical path right now but but when we are done with it there may be further improvements are possible to the last finalist state or at least things may get simplified but then you are dealing with short epochs and you don’t have as much history you have to deal with right now we’re at 250 thousand blocks in each epoch. So you can imagine that there is a lot of carried over things we need to work with from the previous epoch. So that’s going to be reduced when we get to these changes on the POS contract and the epoch is shortened then I already talked to the next item there about the four calculations and the other piece Will has been working on the API change, you saw that nice upgrade to the to https://revdefine.io/#/. Let me see if Will is on. Because, the plan was for him to walk through this in a more complete manner later on if he is available, if not, we’ll see what to do. But I just wanted to highlight this portion of it for now. But you can see that this is a very different interface on revdefine from before. So that’s where he’s been spending some time on. And Greg asked for a nice graphical representation of the of the payments, whereby you can perhaps say, okay, you know, this is the REV address I want to focus on. I would like to understand the inflows and outflows from this account are from this wallet and you know what amounts? And what date and times did they transpire that sort of a thing? So that’s something that Will, it’s in the thinking stages right now, to see what’s the best representation of it. And that’s something that Will is going to look at. I don’t want to speak to 0.9.27 and all that right now, because it’s just a big bucket, a lot of those things that are listed there, the sequence of those and the priorities of those might change. So but I do want to speak to one other item, which is we have been working on the dependency updates and plugin updates, to bring up the scala environment up to the most recent possible. And so for that there is a new repo, that’s actually my branch. So if anybody wants to help on that, you know, feel free to play with and fix the issues in minor B slash or chain. That’s where the

Rao Bhamidipati 9:11
scala-steward we changed the subscription scala-steward to push updates to this report so that the main repo is not cluttered. And then once we resolve things here, we then promote them up to the main branch. So that’s something that’s going on. And I want to speak to how that dependency updates piece works or what with the mainstream code update. So one of the things that we’re going to be doing soon once, once we’re done with the last finalized state is looking into refactoring the runtime manager. Basically, what is called runtime manager now combines both the runtime itself and the management thereof so that needs to be factored and there are other refactorings that need to be done. So the hope is that by going to these later latest versions of scala and latest versions of the Katz library and all of that, some of these refactorings parameterizing, things would be easier and cleaner. So that’s kind of where the dependency updates activity ties into the main flow of what we need to do. So we we may take some time to complete this activity as part of the runtime manager updates. And we get to that, so that I think, are the main items I wanted to speak to, I don’t think we we did not have a meeting on the tech governance this last time. But one of the things we are actively focusing on and We’ll have more updates. I want to remind everybody in the community, we have a hackathon coming up for October 10 and 11th. So we’re doing preparations for that and getting the learning resources, the problem statements, the mechanisms of promoting and, and conducting the hackathon and all that. So we are continuing to work on that. Those are, I believe, my main updates. Does anybody have any questions on any of this? Let me stop sharing then and see if Will see is Will hear? Will is not here. Um, Greg, what should we do with the with the revdefine?

Greg Meredith 11:57
We could just talk about it a little bit. Hang on. One second. Okay. So I just want to before I go to the revdefine, I just want to emphasize something that Rao said in a slightly different way. So, when we had nine nodes running main net node to node was taking between nine and 12 minutes. So the longest cycle was 12 minutes. Now we have 20 nodes running. And the longest cycle node to node is taking 11 minutes. So, that’s a significant improvement. And we will see more and more improvements like this as time goes on. So I want people to be prepared as to, you know, what’s, what’s coming down the pipe. I think that’s a really crisp and clear way to understand what’s just happened to add a little more color to it. Those nine nodes were all running in one data center on Google Cloud. Now, the 20 nodes are scattered over several different regions, including Japan, Germany, Dallas, and various regions in the IBM network. So, so not only have we increased the number of nodes, but we’ve also increased the latency between the nodes, and we’re still seeing this kind of improvement. So that’s, that’s the sort of thing that we want to take note of, because that’s the trend that we’re going to begin seeing moving forward. Any questions about that or anything else that Rao said? Okay, so I’ll just quickly Anyone can go to this site, but I think it’s actually really worth taking a look at to see the changes, right so now we have latest block info, latest transfers from / to.. So this is beginning to look like the kind of block explorer you get with the ether Ethereum Explorer or block info or or any of the other explorers. And the other thing I want to point out is that the view that I was talking about was, was not focusing on an address but rather looking at the graph, where the edges are defined as or the vertices are. Our addresses and edges are transactions from the address to another address. That get that allows you to do at a glance forensic analysis. So you can start to paths in that graph will allow you to, to watch money flow. Does that make sense? People understand what I’m saying?

Ian Bloom 15:18
Maybe go a little a little further sowith with ether skin or other explorers, what would it take for them to be able to do the same?

Greg Meredith 15:30
Oh, they have the data and now they could do it. There’s nobody thinks to do it.

Jim W 15:33
Now, I put an address in the search bar there. And it shows me all the transactions that took place with that address. How is what you’re saying different from that?

Greg Meredith 15:45
Oh, um, because you can see paths. So here, let me draw one for you. It’s a lot easier. Alright. Suppose I have some address, some adder. Okay. And then These are some other adders. Okay, so I’ll just start putting numbers on them 1234. And now, let me go to here, I begin to see a graph like this play. Each of these represent a rev transfers. And

Jim W 16:20
so far this is basically what I would see if I do a search for some address and show

Greg Meredith 16:24
me. Yeah, so far, but now, let’s consider something like this, three, one, and three, two. And under this view, where we were, what we see is that no other rev comes into here, we can see that all of the rev that goes from here to here has come from this source. You see what I’m saying? I’m talking about paths, not history at an address.

Jim W 16:59
Right but it is ambiguous, right?

Greg Meredith 17:04
It can only you’ll be able to see when it’s ambiguous, right? That’s the whole point is if I do have something like this, okay, then I can see the ambiguity. Right now I see that there’s an ambiguity as to what flowed here. But if this is not present, I can see immediately where the source of this rev is. You see?

Rao Bhamidipati 17:26
Yeah. Yeah. I mean, basically, it’s an analysis of the entire network level as opposed to just a single node level.

Greg Meredith 17:34
Exactly. Yeah. But yeah, path information gives you more information than just looking at a particular vertex. All right. So, but the main point is, I just, I just, I think, you know, you know, in one day, we’re beginning to demonstrate both a dramatic performance improvement, much more resilient network and the The face of the network in terms of the Explorer’s has also dramatically improved as well. These are the kinds of things we want people to know about. Tweet about them. point them out, right? We’re starting to look much, much more real and reasonable. Okay.

Rao Bhamidipati 18:19
Go ahead. Yeah, I just wanted to add Gurinder just reminded me. I spoke to this last time, and I actually removed from the notes this time. But he’s asked me to remind people about the new API to get the best node to propose to since there are 20 of them now. So that you can get an even faster response on the transactions or deployments that you’re trying to do without having for the full cycle of 20 nodes to complete because we still have that round robin proposal process. So that’s that’s something that You can use in your client to get a quicker response from the network. I just wanted to remind people about that. Any questions about that or any comments? All right, back to you, Greg. All

Greg Meredith 19:17
right. Thank you. So actually with that. Let’s turn it over to Darryl.

Darryl Neudorf 19:25
Hey, everybody. So here is the community Week in Review for Thursday the 27th to today the third of September. So last Thursday on the Governance Committee called the nominating committee convened to discuss important issues in advance of the AGM on October 24. Please note that some deadlines are looming. The deadline to submit an IoB is fast approaching. And if you want to vote, the current Co Op member ID verification and rev address submission deadline is October 3, so any members wishing to vote have a month to get those in. Also on Thursday in the DApp developer working group they struggled debugging in the Zulip voting bot, and determined more community engagement is needed if timely progress is to be made for October Co Op voting. So the pressure is on. Friday. In the climate coordination call we discussed the valiant community cleanup efforts from the recent oil spill in Mauritius, the 500,000 climate related evacuees in America, and decentralization in the medical industry and organizational aspects of social networks. On Monday, on the CASPER Standup call this week’s Casper standup covered the relationships between the pre sheaves model, the distributive law model and the desiterata that Greg laid out for OSLF. (Operational Semantics in Logical Form). Also on Monday is the blockchain art call. There was discussion of smart contract summit.io and a testing of scuttlebutt decentralized communications. Ah, okay on Tuesday the RChain yesterday on the RChain education call seemed pretty active. There’s a long list here so I’ll just go through it. They started off talking about RChain API to get proposing validators, state as tree structure, Path Selection, definition of path as a language, rholang as path selecting language, unforgeable names, rholang state, namespaces, random generator seed in RChain source code, state root hash is stored on the block, the cause of tuplespace mismatch bug, state and operations on the state. Also yesterday in the communications Working Group call, much of the discussion revolved around what needs to be done for the hackathon required documentation and resources for developers and the bigger picture of the hackathons role. We also woke up the Instagram account this week and discussed creating more diversity in blog submissions that could also serve to wake up our medium channel. And this morning on the members Hangout, Jim is working with Dan on getting our chat on schedule. Ian pointed out the email that’s being done to director nominees, getting that process going, switching over RChain.coop to GitHub Pages, which includes an updated version of the site. That should be up this week, so expect some updated changes to RChain.coop soon. We also discussed Douglas Rushkoff and his history and his Team Human philosophy and how it applies to RChain which led to a discussion around Tik Tok in China and a new Data Cold War and then concluded with Jim getting the new version of Dappy 0.3.2 going. And that brings us to today, right now.

Greg Meredith 23:15
Thank you, Darryl. Any questions for Darryl? Okay, then, um, we had a official board meeting as opposed to a special board meeting yesterday. If memory serves, there were no votes taken. This was largely informational and preparational getting ready for the AGM. I did we, I guess we, we

Ian Bloom 23:44
there was one vote.

Greg Meredith 23:46
What was that?

Ian Bloom 23:46
That was that was just clarifying what the record date was for. new member vote eligibility.

Greg Meredith 23:55
Oh, yes, that’s correct. That’s right. That was 60 days. Right. Right. Yes. Okay, so. So that’s, um, that’s that. Let’s see. Yeah. So yeah, most most of the board meeting was making sure that we’re, we’re prepared for hackathon, AGM, um, and other things that come up with the end of the year. Um, any questions about the board meeting? Okay, then any questions, comments, concerns from the community?

Nora Germain 24:36
I had one brief comment. Yes. Um, we are working on the Instagram now. So if anybody wants to follow our chain on Instagram, it’s just rchaincooperative. We’re trying to grow our audience there. So if you didn’t know that RChain has an Instagram now you know, so you can follow us there. And we’ll tell you wonderful things.

Greg Meredith 24:59
Fantastic. Wonderful. Yeah, no, I really feel that. There are a lot of crypto folks on Insta.

Nora Germain 25:07
So Oh, absolutely. Yeah,definitely.

Greg Meredith 25:11
So it’s, it’s it’s definitely. Let’s, let’s get out there in numbers and get that going.

Nora Germain 25:20
Mm hmm.

Ian Bloom 25:21
I think Lilia just posted the link to the Silicon Valley meetup. That was last week.

Greg Meredith 25:27
Oh, yes. Wonderful. Yeah. So we had a good talk on Friday. I, I did want to mention that it was a really good conversation. had a lot of a lot of interesting questions, a lot of good engagement. People seem to be genuinely enthusiastic about the things we were talking about. And and in general, the response I get when I talked about the search capabilities that are made possible by the The OSL EFS work, people get very, very excited about that. So this was the third or fourth audience I’ve presented it to in this form, and the response was incredibly enthusiastic. Alright, unless there’s anything else, I think we can yield back the time to the community.

Darryl Neudorf 26:24
Thanks, Greg. Thanks, Rao. Thanks, everybody.

Greg Meredith 26:26
Thanks. Thanks to all Ciao Ciao.

Rao Bhamidipati 26:29
Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *