RChain Blog

RChain Co-op Weekly Community Debrief #188 Jul 22 2020

Tech update #129

Transcript of call:

Greg Meredith 00:00
All right, I guess it’s time to get started.

Rao Bhamidipati 00:04
Okay, today we have a demo by Raphael of the Dappy current iteration. And this is the one I think that’s ready to be used for folks to start creating their own pages on his platform. So I’m going to rifle through some of these things here so that he has sufficient time to cover his demo. In terms of the release, we are still running 0.9.25  on the main net, 0.9.25.1 is almost ready. And I think as of just a few minutes ago, Gurinder updated the test net to 0.9.25.1 which is what we’re testing it’s it’s already been running on one of the observer nodes on the main net for a while and was tested On sandbox, but we’re testing it on the validator nodes on test net. And I mean basically all nodes on test net.  Once it all works, well, we’ll be moving it to main net.

But there are a couple of pr’s we’re still waiting on to complete 0.9.25.1 One is nutzipper is adding some tests to the catch up, faster catch up using the last finalized state, PR that he has done before. The other, this is really good news. This slashing of bugs that we’ve been talking about for a few weeks now, probably a couple months. Tomislav found the source of that, and he has a fix for that. So we’re hoping to get that also into 0.9.25.1 so that’s kind of what it is. That’s why we’re delaying the 0.9.25.1 release to main net at this point in time. This particular slashing bug is happening because of hash mismatch, when the joins and join channels are not sorted. So, Tomislav the issues described in the issue and the pull request. You can see in those two numbers there are 2946 and 3000. So we have a fix for that. And once these prs are in, we should be in a position to move 0.9.25.1 forward after testing.

So those are the two things in 0.9.25.1 and this is all the work that’s going on in 0.9.26. 0.9.25.1 has substantial parts of the last finalized state, including the improvements to catch up that I just talked about, on line 26 complete the last finalized state. And there was there are a bunch of bugs that also we were trying to get into 0.9.26. You can see a list of them here there is a rewards calculation bug. And there is currently an error with GRPC streaming, whereby the GRPC channel is closed before fully receiving the blog sometimes, so that we’re investigating nutzipper has an initial PR on that to create per channel mean per validator GRPC channel to see if that alleviates the problem. Then there is the last tech governance meeting there was a lot of conversation about too much free work as an attack. I mean, basically the nature of the blockchain is that for you to figure out how much it’s going to cost itself takes some work on the network and that could be an attack vector. So, we discussed that a fair amount. And at least we are looking at eliminating the cases where either the flow specified is too little or your wallet doesn’t have the flow specified – those kinds of things. So the The Balancing Act here is that while it this is an important issue to address, we do not want to you do not want to create a situation where any validator can randomly reject deploys and say, Oh no, I deployed because I rejected because of this. So you do want want to have evidence of why a validator has done something. So the idea is that we will, will process a deploy as much as the flow allows and then keep it in the data so that everybody can verify that okay, you know, this is indeed the reason for why this particular deploy was rejected. So that’s the thing. There are a couple of different use cases there that we’re going to be implementing that. And then there’s a lot of work on getting the configuration on chain and shard configuration. So that’s, that is at least part of it or perhaps not all of it, but part of that work would be going in there into 0.9.26. And then as we are solving some of these things, we discovered that we need more access to the data, especially getting data at Channel and getting the continuation at Channel. So we’re adding the API calls to enable that. So that’s all being worked on in the 0.9.26 stream.

Both these streams are kind of being heavily worked on with the development team. And then we are creating in – one of the next things is going to be how do we update contracts on the main net, there is a design spec that is being prepared for that. We have had a couple of conversations on that. That’s the main thrust. And as far as on the CSRE side, we’re looking we’re investigating JVM configurations to reduce out of memory errors that we occasionally see. But we want to do it in a way that the JVM itself manages it with without us intervening, you know, saying, you know, manually do this or do that for garbage collection, we’re just kind of playing with the parameters to see what we can do to improve that situation. In terms of bugs that have a security implication, whether they’re reported by the community or discovered by the team, to be able to process them, basically collect them, discuss them, and then come up with solutions. We’re creating a private repository on GitHub to deal with that. And then once we have the solution in place, or a resolution of some kind, that will be reflected in the, in the main repository as to what has been done to address that issue. So that’s what it is. I already talked about the tech governance last time, it focused mostly on this “too much free work” attack. But now we’re beginning to have a solution for that. The PR, and the coding there. So that’s where we are. I think Greg could probably speak to the RChat progress more than I can because this last Saturday, I was not I was not able to get in that. That’s all I have. Greg, you want to? Well, before I hand it over to Raphael or Greg, are there any questions on the on the tech update?

08:37
Okay,

Rao Bhamidipati 08:38
Greg, do you want to do a quick summary of where we are with RChat? Or do you want to let Raphael do his demo first, or?

Greg Meredith 08:46
Oh, I mean, it’ll just take a second. So the main thing with RChat is Oh, by the way, thank thanks for the tech update. That was great. I appreciate that. With respect to RChat. The next step is going from the chain to the chat. And so Steve is getting his Steve Ross Talbot is working with Dan to get his hands around that. And then Dan also identified the the, the possible flows that we have with respect to adding the voting capability into, into Zulip. So those are the those are the main elements that are moving forward. Again, what we want to do is to have something that we can start messing around with pretty soon because we’d like to have something that we can use for the AGM. So that’s the update so far.

Rao Bhamidipati 09:51
All right. So is there a question on that from anybody or are we ready for Raphael’s demo?

Greg Meredith 10:00
Let’s go over to Raphael. Okay.

Raphael 10:04
Um, okay, so I’m going to share my screen. Yep. Okay. So I’m going to start by reading a text I have written to kind of get back to when the Dappy project is about. https://dappy.tech/ So Dappy is a web browser and protocol that allows new kinds of trustless and controlled web applications.

These new kinds of applications are possible with Dappy not with regular web. Because Dappy does not choose to Domain Name System. These are certificate authorities. Instead of a chain of trusted centralized services that figured out web is based on the protocol is based on the blockchain platform, and relies on a network of agents who are independent one with another. Instead of one endpoint, to read from both to write to the blockchain, Dappy browser uses a network. This network is the interface between the client and the blockchain. It is also a subset of the blockchain network. It’s a given portion of this network might become malicious or offline. This should not should not affect the client’s browsing context.

Basically, we applied the same code authority padding as blockchain, but that he focuses on internet name system replacement, as well as files and web application distribution. So I think the last update was a long time ago. So there is a new section on the website, you might want to check it to get familiar with the core concepts, and one of them is to meet your request.

So now, I will get straight to the point. So the point is the last release of Dappy, which is 0.3.0. You can download it from the website, that’d be https://dappy.tech/download. It’s available now on the three main operating systems. And so there are lots of technical improvements. The visible improvements are for example, this interface. So I am in the deploy section of the Dappy browser and six web applications are available by default and can be deployed by anyone. One of them is the hexagons that I are already showed. The other is the personal page that I will show today in some other application is the ERC 1155 token manager, which allows us to manage token create tokens attach data to tokens, and all kinds of stuff related to tokens.

So basically, I’m going to the settings network section. So by default that the browser is connected to the depth network, which is the depth network connected to the RChain main net. So you can see here main net. Since it’s soon for the Dappy project, it’s only a one node network. So it is very much centralized right now. But it should become less and less centralized as nodes gets added to the network. So basically if you have REV which you have created an account and you have REV on this account, you will be able to deploy dapps on the main net. And this is the interface through which you can deploy daps. So a Dapp is very simple. It’s JavaScript code, CSS code, HTML code, and everything is bundled and uploaded to the blockchain. So if I get back to the glossary you can see the difference between a Dapp that does not use any kind of server connected to the internet. It uses the blockchain but that’s all! No internet server, no DNS system! In comparison, IP applications are no more close or closer to regular websites.

So basically you will be able to deploy any kind of applications. You are also free to modify the JavaScript code. But I will not do it today because it’s there is latency to the main net, we have to wait several minutes. So I have already deployed personal page, so that people will see it just works just like a regular browser if you have that here. So I clicked on this one. Okay, so this is a personal page I have deployed this afternoon and I have updated it with some content. So personal pages work with markdown. So when you deploy it, you are free to update it as many times as you want. Of course, you are the only one who is able to update the content, because you will have to sign when I hit Save text, they will have a deputy browser asks me to sign the transaction. So if I have not the right private key, the transaction will be refused when Rholang executes. So this is markdown. You can link other Dappy applications. So it is a link from Dappy to Dappy. If I get back I can navigate to all chains, IP applications. This is the RChain website under Dappy. If I click on IP, I can see that this is the IP of the The RChain website. Also a new thing is this internet url, now we can share Dappy links from a regular browser. So if I pass this address in my browser, it will open instantly in the Dappy browser. It also works if the browser was closed. You can still navigate…Okay, let’s wait….let’s try again. Nope. Okay, you can still navigate to the link that they have copied and it will open the Dappy browser then it will wait for the connection to occur and when you are connected to the Dappy network, the application launches.

So I have shown the links and new stuff then so it’s not new but there is still this name system which would be very much more stable than previous raises. So, this afternoon I have purchased this appname I have attached my personal page to this name. This is why we should be able to access this Dapp. Okay, so this is The same application, but I access it with the name instead of the raw register UI. And finally, the addition is the possibility to attach badges to a name. So, you have a small marker that explains what what is it about. So, with badges, you are able to give reputation or express any kind of relations between your name and some other names. So, for example, you might have the identity owning the RChain name that can express recommendation regarding my name or Jim’s name, or any kind of stream will be can be attached to any batch. So you can also have streams Like recognizes, as you get associate between RChain and crypto news. And you can also have negative reputations. For example, Microsoft might have a badge that says vices against Microsoft. And so right now, this happens in this section. So if I purchase the REV to name I can give credit for example, to the RChain name to YouTube. And basically so this is recorded to the blockchain, but it does not change anything right now, badges are useless, but when they are implemented, when I access Ruff, for example, you will have a small hint here, telling you that RChain approves my page or any other identity approves my page or does not approve my page. So, um, I don’t, we don’t exactly know what we’re going to do with badges, but it’s great to have them and we’ll see who needs them. And if we can, like change it for special purposes. Okay, so that’s it.

Greg Meredith 21:22
Wow, this is great. Raphael. This is fantastic. Any questions for Raphael?

Rao Bhamidipati 21:33
Yeah, I was going to say we should probably schedule a workshop so that we can create our pages with Raphael guiding and then get them in there.

Greg Meredith 21:44
That’s a great idea. That’s a great idea. I wonder if Lilia is on the call. Hi there! Hi are you available to help set up some time with Raphael and the team to set up our personal pages?

Lilia 22:04
Sure yes.

Greg Meredith 22:06
Fantastic.

Raphael 22:07
Nice.

Greg Meredith 22:16
Very good. Excellent. Thank you so much Raphael. This is great progress. And I hopefully people can begin to see, you know, a lot of what we’ve been aiming for starting to come into focus. Darryl, it’s almost Myspace on blockchain.

Darryl Neudorf 22:38
Yeah, I’m really excited like my heart’s beating a few BPM faster after seeing this demo. It’s super cool.

Greg Meredith 22:45
Yeah, yeah, we’re getting there one step at a time, one step at a time.

Darryl Neudorf 22:49
For anyone just listening. The the URL is Dappy Tec https://dappy.tech/

Raphael 22:59
Yep.

Greg Meredith 23:01
Very good.

Rao Bhamidipati 23:02
Yeah. I wonder Are there any comments or questions from the community about the Raphael’s presentation and the Dappy platform?

Greg Meredith 23:14
All right. Okay. All right, then. So how about we ended over to Darrow for the community and review and then we have a few other updates.

Darryl Neudorf 23:26
Alright, so here’s the community Week in Review for Thursday, the 16th to today, the 22nd.

So last Thursday on the tech governance call. The discussion revolved around how fees are structured and implemented.

On the Governance Committee meeting also on Thursday. The committee agreed to actively invite topics of discussion for the board and nominations for board positions. There are three positions coming up for a vote in October. Also, the compensation committee updated the compensation proposal and voted for it to be forwarded to the board.

Also on Thursday, the DAP developer working group they explored the use of meta mask for signing RChain transactions and debugged a zulip chat voting bot for possible adaptation for use in Co Op voting.

Last Friday on the climate & coordination podcast, we discussed recent climate reports that suggest the earth has 24% chance of reaching an average of 1.5 degrees Celsius temperature rise, as well as the World Economic Forum’s use cases for blockchain in government institutions. The call ended with a discussion about RChain’s unique approach to concurrency. By the way, you can subscribe to the podcast by just searching for RChain or RCast on your favorite podcast app.

On Monday was the CASPER stand up call in this Casper stand up they discussed how the Operational Semantics in Logical Form (OSLF) dramatically increases the query capable abilities of RChain and why these are so important to be open source and decentralized. And to check out these calls, you can just search for Casper Standup on YouTube.

Also on Monday was the art on the blockchain call, where they discussed decentralized file sharing tools and a blockchain art cooperative organization and roadmap – very exciting.

Also on Tuesday on the art chain education call the group explored simple Rholang from the last session, but with higher order channels. Now we can send and receive any process and not just string as before. We discussed initial support for ground processes and related operations, standard output can now be better defined, and on the DAP developer working group call they tested the latest Dappy including the creation of Dappy pages and name registration, which you just saw.

Also, yesterday, the communications working group meeting – the group discussed to creating a Chinese community category and menu item on the blog, which would contain Chinese documents provided from the China marketing team and community, and then the English translated versions of all those documents. We also discussed improving member engagement in registering REV addresses for voting at the AGM in October, also, oh yeah.

So for today, in Jim Whitescarvers members meeting group, Steve Ross Talbot mentioned the AGM in October, in which we shall try to use our own voting system based on RChain for both nominations and any motions that may come before us. So the board and Governance Committee wanted to reach out to all members who wish to frame a topic of discussion for the AGM and help members navigate the process for submission. And he offered his help to anyone that might need it and suggested reaching out to him on Discord. He’s Steve Ross Talbot all one word on Discord. Also in the meeting just an hour ago, the group discovered that there were some current issues with test net. Well, Jim was attempting to send some test drive. And that brings us to right now.

Rao Bhamidipati 27:07
Yeah, let me let me just clarify on the test net. Basically, Gurinder was updating the test net last past hour or so.

Darryl Neudorf 27:15
Ah, okay.

Rao Bhamidipati 27:16
Well in the past hour, he was done updating just before I started, so I think I encourage anybody that saw issues to try it again and report if there are still any ongoing issues. As of now, there should not be but just let let us know if there are. Thank you.

Darryl Neudorf 27:38
Okay, great. Mystery solved. Thanks, Rao.

(Note: Below Greg refers to the last Casper Standup talk he did from last Monday. You can watch it on Youtube here. He also refers to the video where he describes what sets RChain apart from Ethereum and others – here’s the Youtube link to that).

Greg Meredith 27:41 Very good. Any questions for Darryl? Okay, very good. All right. So, um, I know that a lot of people resonated when I spoke briefly about the sort of what distinguishes RChain from Ethereum. And so one of the things that may be of interest to folks is that the Operational Semantics in Logical Form dramatically extends that idea. So if people remember, Rholang gives us sort of next generation SQL. That’s one way to think about it. So RChain is both a computer and a database, integrated compute and storage. And Rholang gives us this next generation SQL that reconciles the good things of NoSQL with the good things of relational databases. And then the Operational Semantics in Logical Form gives us a vastly expanded query capability.

So the key idea is that once you have this ability to generate logical formulae for any given domain, so incredibly broad range of domains from every model of computation that’s been put forward to geometric domains, to dynamical systems. All of those things are fair game as input to the algorithm that we’ve come up with for the Operational Semantics in Logical Form. And the logical formulae can be thought of as queries. One way to think about them is to just check to see whether an instance that you’ve got in hand, be at a program from GitHub or a smart contract from the blockchain, or some geometric data or some cell signalling regime data. Each of those can be checked against your logical formulas to whether or not they satisfy the logical formula and in the case that they do Then you throw it in the bucket as the, you know, included in the in the query results. So that’s the basic idea.

But once you start thinking about what this means for programs, right, so programs are kind of the dark matter of the internet, we treat them as data assets, but we cannot query on the basis of their structure or what they do. So this gives us the ability to do that, which suddenly opens up the value of assets like GitHub, because now they’re queryable, as opposed to having to tag them with metadata. Likewise, it’s also true for the boutique databases that capture biological data, such as cell signaling dynamics, so those become queryable in a way that they weren’t before.

One of the examples that I gave in my four impossible queries talk back in 2009, was find me all the small molecules, such that when you drop them in this concentration into the cell, the cell signaling regime that you’re interested in will not reach a particular state. So that state that we’re interested in is disease state. So what we’re saying is, finally, the small molecules like aspirin, or other kinds of small molecules that that prevent the cell from transitioning into a disease state. A short form of that is find me a cure. So these are the kinds of things that we can add to the query capability that we’ve already got with Rholang with this algorithm.

Now, of course, once you have a query capability like this, then when it comes to code, you can also query the code that you’re compiling for various features like is it single threaded? Is it multi threaded? Does it leak secrets? Does it deadlock? These are things that you can check of the code you’re compiling. And so that’s where the logical formulae turn into type checking kinds of capabilities. But the query capability is very, very important. And it also shows us why we need to make this the “province of the people”, for lack of a better word or phraseology, because these as we start making a blockchain that is capable of handling geolocation data, and providing interesting query semantics for geolocation data, be it for self driving cars or other kinds of logistics transport, that’s not the sort of capability that we want in the hands of, of just a few, right we, we don’t want Mark Zuckerberg controlling that kind of data alone. It’s much better to be in the hands of of the the wider community. Similarly with healthcare data, right as we start making healthcare, data, more more useful, because we can now search on the basis of dynamics like I was talking about, then again, it’s not the kind of query capability or utility that we want in the hands of a few. We don’t want Pfizer or Merck, who have not the best records when it comes to whether or not they have the public’s best interest in mind being the sole controller of this kind of query capability. Rather, it makes much more sense to have this to be in the hands of, of the people, which is why associating it with a decentralized blockchain is a much better move.

So that’s essentially the content of the CASPER talk, but since this, the folks here have been interested in how RChain is differentiated, this is one of the key differentiators and one of the main reasons in addition to the behavioral types, why it makes sense for this research to be on the docket for for work on RChain. So any questions about what I just said? All righty. Talkative group today, I’m moving on. We still are in double digits with the REV addresses. So please, please check your email and reach out to folks that you think might not have sent in the REV addresses. We want to we want to break the double digits and at least get into triple digits. before July ends that would be that would be great news.

Nora Germain 34:48
Yeah. Is there going to be an explainer video? I heard that there might be one coming soon. I think that would be a really helpful thing to have. Oh, yes.

Greg Meredith 35:00
Yes, I believe I believe so. Darryl, and any update on that?

Darryl Neudorf 35:05
Still kind of working through the logistics of that, but hopefully, there should be something in a week or two that kind of just makes it easier first.

Greg Meredith 35:16
If it’s two weeks, it’s outside of the July deadline.

Darryl Neudorf 35:19
Yeah. This is true.

Nora Germain 35:21
And well, I mean, I saw in the chat, Ian I think it was, isn’t it? Yeah. posted, you know, to check if you get the email. I think most people have the email. I think there might just be some, if I would just be so bold as to make a conjecture. On this bright Wednesday morning. I think it’s maybe just that people might be a little confused about the process. That would be my guess.

Greg Meredith 35:47
Could be could be could be.

Nora Germain 35:49
So as soon as, or even just a document that has clear instructions, I personally I read the instructions and I was myself a little confused. So

Greg Meredith 36:02
Good. Well, that’s that’s, that’s good to know. We’ll, we’ll we can help out with that. That’s that’s great to know that there is some confusion we can certainly,

Nora Germain 36:13
I just would guess that I would not be the only confused person. That’s all I would say.

Greg Meredith 36:18
Fair enough. Fair enough. Okay. So I think that’s it. Was there anything else you wanted to cover Ian? Darryl? Rao?

Rao Bhamidipati 36:31
I’m good. Okay.

Greg Meredith 36:35
All right. Well, thanks, everyone. I hope everyone is staying safe. And I’m sure I’ll see some of you on Friday. We have some updates to provide on Friday. Talk to you soon.

Darryl Neudorf 36:49
Thanks, Greg. Thanks, everybody.

Leave a Reply

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