Aleksandr Petrosyan: Box off the
Aleksandr Petrosyan: Hello! Everyone uh welcome to the Hyper Ledger, you know, up to um community meeting, marking the release of preview Release candidate line, also known as the second Lts long term support version.
Aleksandr Petrosyan: This is a most unreleased um. We didn't originally anticipated. Our C nine was going to become the next Lts: so? Um a lot of the features are a little Sp, and we missed out on a few key editions that we wanted to introduce later,
Aleksandr Petrosyan: and of course they postponed until i'll see ten or C eleven. Given that they're not going to be part of an Lcs supported release. We'll have a bigger chance to follow them, and probably produce the next things. Yes, in March next year.
Aleksandr Petrosyan: So
Aleksandr Petrosyan: where are we? At
Aleksandr Petrosyan: the new Qa process? We have an excellent Qa engineer, and we have
Aleksandr Petrosyan: identified that fifty percent of our tickets found this bugs were not actually reproducible,
Aleksandr Petrosyan: which is great.
Aleksandr Petrosyan: Um,
Aleksandr Petrosyan: mostly. This was because um
Aleksandr Petrosyan: it. It does necessitate a fix in some form, but it turned out that a lot of the issues were caused by uh users misinterpreting what we wanted to do, and this is more of a ux issue rather than a a technical problem.
Aleksandr Petrosyan: So far it'll has remand managed to remain remarkably for your technical relations.
Aleksandr Petrosyan: Speaking which we have foreign function interface work put on ice. Um, You remember that I said it was ninety-five percent complete and ninety-nine percent complete.
Aleksandr Petrosyan: Uh, unfortunately, the people who are involved in that project have to diverge their attention to another
Aleksandr Petrosyan: project and so work on this area. Work on these developments
Aleksandr Petrosyan: is while I'm. Going
Aleksandr Petrosyan: but on ice. Let's just say there's still going to be more request related to this, but they're going to be low priority,
Aleksandr Petrosyan: and they're not going to be developed full time, so to speak.
Aleksandr Petrosyan: We've most when you consensus um, Sam, the engineer who designed the new consensus is here. Um! We can congratulate him on obtaining us a sizable performance boost,
Aleksandr Petrosyan: and a notable improvement in readability of specifically the similar. I your main loop
Aleksandr Petrosyan: with some caveats. Of course
Aleksandr Petrosyan: we can say that this was a large success,
Aleksandr Petrosyan: and we have
Aleksandr Petrosyan: great plans for the new consensus.
Aleksandr Petrosyan: We have improved the Ui ux of the Genesis box. Um. Specifically we necessitative addition of permission. Validators,
Aleksandr Petrosyan: all of them.
Aleksandr Petrosyan: So there are no hidden permissions. The genesis block is a full specification. What's going on, and nothing is interested
Aleksandr Petrosyan: which is great. Um! That also entails the addition of emission token parameters.
Aleksandr Petrosyan: So someone is allowed to edit a specific account rather than all accounts at once.
Aleksandr Petrosyan: Uh, certainly, there's going to be even further improvements. Um, particularly to the um
Aleksandr Petrosyan: separation between what constitutes a configuration option and what constitutes an instruction inside of the genesis that is specific to the configuration of the blockchain rather than the pier itself.
Aleksandr Petrosyan: We'll be working on this um.
Aleksandr Petrosyan: In
Aleksandr Petrosyan: due time, of course, configuration,
Aleksandr Petrosyan: improvements, and the better default handling um came with a view breaking changes. Um! The configuration files have changed, and a few options which used to be optional and no longer so they need to be provided explicitly.
Aleksandr Petrosyan: Um, there's good reasons to do that. You want your users to be aware of the limitations,
Aleksandr Petrosyan: and you want your users to explicitly say those limits, otherwise they will not be aware that something like this is even functioning.
Aleksandr Petrosyan: So
Aleksandr Petrosyan: there we go,
Aleksandr Petrosyan: and of course, uh given that we noticed that the Genesis block contained a lot of
Aleksandr Petrosyan: let's be challenged about noise.
Aleksandr Petrosyan: Lots of information that was completely redundant, and
Aleksandr Petrosyan: then how to be there.
Aleksandr Petrosyan: So what we decided to do with it was introduced new short time syntax, so for things which are raw objects. The decentralization logic takes care of the
Aleksandr Petrosyan: um. It broke a few things which we fixed promptly. Um! And now the genesis block is fifty percent more readable because it contains fifty percent fewer lines of repeated code.
Aleksandr Petrosyan: He got me now can create synthetic genesis blocks.
Aleksandr Petrosyan: This was done for diagnostic purposes. We wanted to debug a specific issue which would return to later.
Aleksandr Petrosyan: Uh,
Aleksandr Petrosyan: but
Aleksandr Petrosyan: what this is useful for is for mocking up the creation of a network with a large preexisting genesis.
Aleksandr Petrosyan: This will allow us to debug and introduce features which would allow you to quickly and easily migrate to one blockchain
Aleksandr Petrosyan: into an Iraq, two blockchain,
Aleksandr Petrosyan: and of course, uh the default. Jonas's block, that is generated by account, has also been extended. We've added a few corner cases which were missed by the original um introduction of a shorthand syntax,
Aleksandr Petrosyan: such that ambiguities cannot be introduced without causing problems with the generation of Genesis Block, and since generating an up to a genesis is a requirement for the continuous integration system.
Aleksandr Petrosyan: This eliminates the possibility of breaking things the same way. We broke them this time
Aleksandr Petrosyan: ever again.
Aleksandr Petrosyan: Certainly there were a few bug fixes um, particularly in the uh decoding, could have caused an internal recursion no longer, so it was warm. Um unfortunately, did not have a lot of bandwidth to review this. This is a work done by an Intern. Uh, but the work there will be most
Aleksandr Petrosyan: uh for those I don't know what it is to generate the documentation. The sample files, for example, the genesis um. It's also used to generate key as and to see the public and private keys.
Aleksandr Petrosyan: It's a catch all term for a tool that is supposed to A.
Aleksandr Petrosyan: So what have we done as well
Aleksandr Petrosyan: of the on the technical side. We've made major improvements to the other five of objects. Um! A lot of the stuff that is done by hand is now completely automated.
Aleksandr Petrosyan: We've added the option to dump
Aleksandr Petrosyan: plain text blocks in Json format so
Aleksandr Petrosyan: people can look at what is causing their issues. This aids us in producing test scenarios and
Aleksandr Petrosyan: as such
Aleksandr Petrosyan: diagnosing problems,
Aleksandr Petrosyan: and the issue that I mentioned previously the one that we had to extend functionality for was the so called zombie Genesis block.
Aleksandr Petrosyan: What that refers to is
Aleksandr Petrosyan: humans are impatient, and when they submitted lock that is too big
Aleksandr Petrosyan: they just can't wait to the genesis being committed,
Aleksandr Petrosyan: transactions get rejected, and that's it.
Aleksandr Petrosyan: Previously. There was no feedback. Now there is a log statement that warns people when they submit a genesis log that's one gigabytes in size that they might take a while
Aleksandr Petrosyan: half an hour, maybe.
Aleksandr Petrosyan: Of course, in parallel, we're going to be trying to reduce the time it takes to commit a block, so that half an hour becomes five minutes, that five minutes becomes then a few seconds,
Aleksandr Petrosyan: and then gets reduced to however much you can support. Given the bandwidth,
Aleksandr Petrosyan: and at some point we realized that we also have a redundancy in
Aleksandr Petrosyan: what we have. It turns out that we have limitations on everything. Well didn't turn out. We design it such way. Uh. But the message size was reduced
Aleksandr Petrosyan: additionally.
Aleksandr Petrosyan: Now, in view of having multiple limitations, you have to be. Uh, for of concurrently we decided that it's much easier to just remove them.
Aleksandr Petrosyan: You set the granular limitations and things that cannot be of a certain size, and the rest on those
Aleksandr Petrosyan: The blockchain explorer developers
Aleksandr Petrosyan: unfortunately, have to reprioritize
Aleksandr Petrosyan: as such. We have to hand over the responsibilities from um
Aleksandr Petrosyan: from them to a present company,
Aleksandr Petrosyan: and of course,
Aleksandr Petrosyan: um. I mentioned them test upon this previously when I was discussing Genesis block. Um,
Aleksandr Petrosyan: Id uh allowing a user to modify a specific user
Aleksandr Petrosyan: metadata, for example, and not all of the days at once.
Aleksandr Petrosyan: Okay,
Aleksandr Petrosyan: So what are we
Aleksandr Petrosyan: runtime permission implementation? It's put on hold. We don't have an Rfc. Yet, and we have no design for the common plugin system. So
Aleksandr Petrosyan: it was decided that
Aleksandr Petrosyan: work on this every it should be put on ice
Aleksandr Petrosyan: temporarily. We're still going to be working on um. We implementing many of the permission valuations as well as plugins. This is never going away.
Aleksandr Petrosyan: There's a good reason for that, because we want, for all of the permission that it is to be completely explicit and specified across the blockchain rather than specifically half coded into um. You know
Aleksandr Petrosyan: the key centric account is structuring is put on second privacy,
Aleksandr Petrosyan: but it is still worked on. Why is that the case. Well,
Aleksandr Petrosyan: the account restructuring is not top priority for what we're doing right now, but overall it would have been if we were in a back
Aleksandr Petrosyan: given that this work requires a lot of modifications to things which are sweeping and general, and we still Haven't propagated the changes from the new consensus.
Aleksandr Petrosyan: It was decided that the key centric encryption should be done
Aleksandr Petrosyan: on the back burner. That there should be a smaller commits which change things less radically, and there isn't a larger review period in the last testing period, to see things actually work the way we
Aleksandr Petrosyan: suppose, and expect them to,
Aleksandr Petrosyan: and instead um have everything be done gradually
Aleksandr Petrosyan: in accordance to the Uh Kaiser principles. This is also allowing us to get rid of things which are not necessary
Aleksandr Petrosyan: early on, because we have the time to think about what, whether or not something is really useful.
Aleksandr Petrosyan: Cactus interoperability is on the way. Uh we've opened the first pull request uh, mostly documentation and setting up the process. We work with S on Monday,
Aleksandr Petrosyan: but
Aleksandr Petrosyan: we're on it, and we'll be done by the twentieth of October
Aleksandr Petrosyan: Webassembly dynamic linkages on hold.
Aleksandr Petrosyan: This.
Aleksandr Petrosyan: This was a tough decision, because we've committed a significant amount of time to this, specifically to the ffi,
Aleksandr Petrosyan: and unfortunately
Aleksandr Petrosyan: due to events that everyone is aware of, and
Aleksandr Petrosyan: which we cannot control the team that could effectively work on this as reduced in size.
Aleksandr Petrosyan: So we cannot
Aleksandr Petrosyan: delegate all of the high price tasks to someone else
Aleksandr Petrosyan: as such. This means that we're we don't have to change is temporarily off the table. It will be worked on. It will be worked on later,
Aleksandr Petrosyan: and of course, the unified configuration interface. Um
Aleksandr Petrosyan: like, I said, we're moving certain aspects of the configuration from being pe specific,
Aleksandr Petrosyan: i. E. Um. We want this here to have this specific um private and public key,
Aleksandr Petrosyan: and for the peer to think that the maximum message size is this,
Aleksandr Petrosyan: and then some other appear, having a different message size, and so consensus passing in one case and not passing in the other. We instead decided that this should be a blockchain on chain stored configuration.
Aleksandr Petrosyan: This will require us to add a new
Aleksandr Petrosyan: branch of instructions
Aleksandr Petrosyan: relatively easy to do,
Aleksandr Petrosyan: and some configuration options which used to be specified inside of the conflict of Json. I'm. Not going to be specified as I of a genesis clock as another permit. This naturally gives us runtime upgrades in a sense that um.
Aleksandr Petrosyan: It properly propagates all the variables as what they should be,
Aleksandr Petrosyan: and allows consensus to pass,
Aleksandr Petrosyan: and we'll also allow people to revalidate the blocks which
Aleksandr Petrosyan: used to be committed.
Aleksandr Petrosyan: Now we haven't talked about documentation in a while because we have a big update ticket. Unfortunately, um. The development of the features necessary for the second Lts was done in a frantic pace.
Aleksandr Petrosyan: If we did not have deadlines zooming, we would have probably held off on a few of the updates.
Aleksandr Petrosyan: Unfortunately, we didn't have that luxury, so we had to sacrifice something, and unfortunately, the thing that we have to sacrifice the documentation right now, even though at least um. The documentation is not up to date. We don't have working versioning for it. Eva.
Aleksandr Petrosyan: Um. But we'll be working on this relatively early on.
Aleksandr Petrosyan: And hopefully, this will
Aleksandr Petrosyan: clarify most of these issues once and for all such that the people who are using it, or how, no longer have to guess whether or not the feature that they're reading about is currently supported will be supported in the future, or was supported and not deprecated.
Aleksandr Petrosyan: Um! There are a few features which we've added over the course of July, August, September, which also knocking down specifically the sourcing behavior specifically for query sorting
Aleksandr Petrosyan: on the peer side, given metadata keys,
Aleksandr Petrosyan: the pagination behavior, which, although available since April
Aleksandr Petrosyan: um, has caused a considerable amount of confusion, and people don't know how to use it, and people get surprises about how it behaves, even though it behaves exactly the way it it was supposed to do. It's just that
Aleksandr Petrosyan: the miscommunication happened on the human stage rather than the communicating with the machine stage
Aleksandr Petrosyan: filtering.
Aleksandr Petrosyan: We have a common filtering, api, composable filters to be more precise in the sense that you can combine filters that look for specific events, Filters would look for specific substrings, filters that looks for
Aleksandr Petrosyan: specific numbers
Aleksandr Petrosyan: in combinations which make sense. So, for example, the filters which expect events expect events and cannot be combined with filters which expect numbers. And so
the load script has seen some
Aleksandr Petrosyan: great improvements, I would say
Aleksandr Petrosyan: we have diversified the sort of instructions that are being generated. We have made sure that these instructions are more representative of the uh real blockchain usage,
Aleksandr Petrosyan: at least in the sense that we can control the statistical ways of each instruction. Video: Um. We have not yet done the research on
Aleksandr Petrosyan: what would a typical blockchain in the use case of the entail? For you know how actually experience.
Aleksandr Petrosyan: But the benefit of this is You can just describe the profile, and we can generate the load and see how we don't have the forms in the real use case, and do some profile, guidance, optimization, which we couldn't do before.
Aleksandr Petrosyan: Um. What's more, we have designed a new system which measures throughputs much more accurately previously. We just set a delay between submissions of instructions, and we assume that these instructions, given that we're completely in to get originally uh, but they would execute almost instantly.
Aleksandr Petrosyan: Now we Don't do that. Now we estimate the time it takes to submit an instruction with time it takes to process it
Aleksandr Petrosyan: and factor that into the calculation of the output,
Aleksandr Petrosyan: which is why the throughput numbers might go down a little,
Aleksandr Petrosyan: or they might go up a little. Given that the expected to put might be a little bit higher than the
Aleksandr Petrosyan: So
Aleksandr Petrosyan: what is planned? Long term? Well, hypologic practice. We've already started work on this
Aleksandr Petrosyan: local reputation system, the offline transaction, the parishing compatibility. All of these things remain on the table,
Aleksandr Petrosyan: and,
Aleksandr Petrosyan: as is customary for these meetings, they will remain part of this final slide for a very long time, unfortunately.
Aleksandr Petrosyan: But um!
Aleksandr Petrosyan: There's progress in the Bootstrap here. In fact, the configuration relates to changes. The unified configuration in space is necessary for the bootstrapping process
Aleksandr Petrosyan: transaction fees. Um can be done in parallel. Once we have a little bit more time. Parenting compatibility is dependent on the key centric account for structuring offline transactions as well
Aleksandr Petrosyan: uh the local reputation system will have to wait. Um! It isn't necessary at this point. It looks like a premature optimization, but it Isn't, because it is central to the behavior of the system.
Aleksandr Petrosyan: And of course the hyper Ledicactus integration. It is planned. But this is the last time you're going to see it on this slide next to it. We need to progress,
Aleksandr Petrosyan: and we will have some concrete specific things that we have implemented.
Aleksandr Petrosyan: Hey, Thank you for your time. And now is it good to you to ask me questions?
Aleksandr Petrosyan: Um, very much.
G.Bazior (baziorek): And for uh, I I don't have a questions about this, but I I would like to uh announce that I still remember about my full request. So I was like to to do this today or tomorrow before Monday. Okay?
Oh,
Aleksandr Petrosyan: um.
Aleksandr Petrosyan: You are asking when it will be finished. Okay, I guess we can consider this meeting adjourned.
Aleksandr Petrosyan: But please, I leave.