Hypergraph Hour 23 Q&A Wyatt and Diggles full transcript (June 2021)

Diggles: 1. Probably the first question is what is tldr?

For those that don’t know that means too long didn’t read. It’s something within the internet culture where if you’ve got something long, it’s just like what are the cliff notes and that’s kind of dating back to the those from the 80s and 90s and just getting the high level, so this is like if you’re gonna take away one thing this is the big one here that, uh, ideally I’d like to see you start getting out of trying to compare these really low level um hardcore skunk works uh activities, and really just focus on the configuration, because a lot of this stuff is set it and forget it just based off the nature and the way that you architected it.


2. There was one question that I got from the questions here that I thought was pretty apropos around the emission functionality and then I’ll jump into some of these other canned questions. But emission functionality is predicated on exchanges integrating it, exchanges where the individual owns tokens is that correct? So, explain a little bit about emission functionality and if that’s predicated on exchanges and their participation.

Wyatt: Yeah so, great news. So, this has absolutely nothing to do with exchanges this is actually meant to be something new that replaces the functionality of a centralized exchange. Every single L0 integration is going to be able to swap with everybody else and functionally exchanges will hopefully become extinct and will rely on a proof of reputable observation consensus to prevent things like front running, order book sharing, you know, minting bullshit tokens – you know things like that.


Diggles: 3. One of the three main benefits of constellation network, is the fact that it does not have a single point of failure. However, if a state channel only has one node running would wouldn’t that node be a single point of failure? If so, how do we combat this?

Wyatt: Oh yeah, I mean well totally. So look, I mean I got to tell you man I’m here to help you make your own sandwich. I can give you a lot of knobs to turn but you got to figure out the configuration that works best for you. But I will say I wouldn’t recommend anybody doing a single node state channel, you just need three nodes in order to stay online, in the case of you know, Sybil attacks. So, I’d say three plus anything – maybe four, and anything on it is literally just like a change in the line you’d use to deploy your nodes.

Diggles: Yeah, it’s kind of, yeah it’s kind of a broken question. It’s like, I want to create a decentralized network with one node well you’re gonna have to decentralize it to start so let’s do that.


4. All right, is a state channel a layer one by construction?

Wyatt: Oh, I would say it’s both – state channel is both. I guess you could technically make something on the L0 that doesn’t require an L1 consensus, I’m trying to think about that with like non-consensus producing nodes and then just register them as – yeah technically you could do that. So, you only need the L0 you’re right Diggles I think you only do need the L0, I just would say that for everyone in our current model you can just copy what we have for our L1 stock and it just, it gives you full like end-to-end step level authentication so…


Diggles: 5. And so, each state channel could define its own consensus mechanism but it can also choose to simply inherit proof of reputable observation from the L0 is that correct?

Wyatt: Yeah so, proof of reputable observation actually occurs on every L0, but I would say that every single person is able to engineer validation criteria that makes sense for them, on their L1. So, basically the L0 is still running a final validation step on the output of an L1 consensus protocol since it’s sort of like that final filter that goes through, but for a developer, what one developer would actually be doing is they would, well for most cases and it’s really simple, you can just copy paste what we’ve got right now and just change it for your data structures, just use our L1 and then we can add extra validation steps, like if this less than this, or whatever, you know do we lookup in a database or wait for something blah blah blah. You can put all these different logical steps just inside of a partial function, just like super easy. So, it’s kind of just almost like scripting at that point. So, that’s kind of where I’d want to insert that, and then the L0 is going to look up what you’ve defined on the L1 and just run that final validation step right at the end before it globally converges.


Diggles: 6. I really like this next question because this grounds us to, I think a lot of folks are those that either are new or have been following for a while. We’re moving into a state of our accelerator program and really encouraging projects to not only build with us from a legacy perspective but also launch net new cryptocurrencies, and so the question is if I were to mint a token would it always have to be native to a certain state channel or could it live in the L0 and transaction wise be treated like Dag? And if that’s confusing maybe talk a little bit about how a native token works alongside within a Dag within a state channel.

Wyatt: I actually touched on that a second ago, hypothetically speaking you could register a state channel and not run an L1 consensus protocol. I mean, in my head right now I’m thinking about that, that that’s possible. I think that’s possible; you just need to create like a wallet and then basically you just have to handle liquidity pool mechanics offline. So yeah, it’s a very simple way to make that happen.


Diggles: 7. Sweet all right. So, the next one is a topic pertaining to Ethereum. MEV is a hot topic on Ethereum right now and growing rapidly. Candidly I don’t know what MEV is, I haven’t been following what’s going on here or Mev I don’t know how it’s said.  I know a Dag isn’t prone to an MEV in a similar way since there’s no transaction ordering on a per block basis, but could a subset of nodes collude to manipulate transaction ordering in order to extract value through arbitrage?

Wyatt What’s an MEV?

Diggles: No idea. Miner extracted value. Miners front-running trades – thanks Duck.

Wyatt: So, front running is a thing that can be prevented and there’s some mechanisms in our case right now, like by limiting certain tps to well one, certain nodes by doing enough work you know for other folks, but how would I put this…So, I guess I’m just, you know, if I’m understanding something incorrectly, I apologize, but I just would say off the top of my head inside of the validation criteria for someone’s L1 protocol, in order to prevent miners within someone’s L1 from performing front-running, one could actually create some type of an ordering or sort of an enforcement on who gets access to a certain throughput allotment, and could essentially make that really hard if not impossible. Specifically, I’d have to work out a solution to that, but I believe that’s one use case and that’s really – you would want that to occur on L1. So, imagine what we would do is like, well for Lattice for example we would connect to Lattice, um so we would connect Lattice to the Ethereum network, and then you know provide um, basically try to allow well it’s actually a great – it’s a great point – I don’t know how could we, we could fix it for Ethereum? It’s almost like it would need to be fixed in the L1 one, but yeah that’s how you can do it. Sorry great question, it really made me think there.


Diggles: 8. Some clarity around proof of reputational observation would be great. What can you do to lower your pro score other than downtime or fraudulent transactions?

Wyatt: So, right now fraudulent transactions will just get you banned – flashbanned and your tokens burned, so don’t do that. It’s really simple. Just don’t, you know just don’t do it. But basically we have a few different mechanics right now, um mainly the number one here is timeouts. So, basically if your node has really bad network connection and it starts dropping packages or can’t download and stream information back and forth, um we’re gonna know – that it’s gonna time out and drop, and so what we do is we create an observation and so all of these different observations – there’s more, I’ll tell you about more later – but um are used in the reputation model in order to give a perspective of who’s doing what in the network and who’s doing something that is anomalous, or like who’s doing something that’s different than others. And so, in the case where let’s say we’ve got like I don’t know, ten nodes and nine of the nodes are able to send and receive packets within you know the correct time, um if one node is consistently dropping then we’ll notice over time that a lot of observations are created, and we’ll see inside of the reputation model’s output that the reputation score will drop. If it’s really bad in this case, this is why it’s a great one to talk about, if it’s really bad and we hit issues with the creation of transactions per second metrics, then we’ll even just like kick it off before the rep model goes on because we just assume it died, but that’s the main biggest observation is network, I guess you could say delay, and also essentially network partition. Like, do we have a difference in the number of active nodes, that’s one thing but also we have, um yeah, I can actually just look at it, but there’s just a bunch of these different observations – the most one is just time dropouts. I don’t have my code up, I’m still screen sharing, aren’t I? Is that tessellation…anyway whatever there’s a ton of them and basically, I can do a bigger deep dive on the reputation model later. Um yeah, I’m happy to do that, so sometime in a couple months.


Diggles: 9. How are rewards split when introducing multiple state channels?

Wyatt: Right so, that actually gets down to the mechanics of what’s defined inside of a token type. So, if you look in our code base actually at how rewards are you know, dispersed, you’ll see essentially that it’s being passed through at least in our L1 something that’s called EigenTrust, in order to you know understand, well basically a slice of activity and then you know sort of weight rewards accordingly. But one could just change the actual rewards distribution, into whatever they actually want. So, you could create something that, let’s say that there’s 10 nodes and you know they mine 10 Dag, they could each give each other just like an equal share, they could give one node all of it, they could really just define that themselves. I could walk you through that, where that is in the code later.


Diggles: 10. Are the current foundational nodes going to still be paid rewards under the same tokenomics as they currently are, or are their rewards changing with tokenomics 2.0?

Wyatt: Oh yeah, I mean dude everybody’s nodes gonna change with 2.0. So, we are nearing the end of our node onboarding process. We’ve onboarded well, or you know now with our last batch, I believe up to 100, I need to double check the number, I think actually over, but regardless we’ve got a huge onslaught of individuals who are hardened and weathered, and so we’re opening up the network imminently that’s like the next phase, and so um yeah, of course everything’s going to change. So, this is something we need to really discuss as a governance as a community, you know specifically what do we want to decide upon. I can make suggestions and describe outcomes, but I think this is a community decision, other than like the mechanics of these tokenomics, like specifically do we give one Dag or 10 million per snapshot – I mean it’s, it’s a discussion.


Diggles: 11. When state channels launch, how will projects be able to quantify the amount of nodes they will require to operate their businesses on hypergraph? For example, does Lattice exchange or Alkimi have any indication how many node operators they will need to run their respective platforms? I love this question.

Wyatt: That’s a great question. So, that really just gets into specifically what is the individual use case. So, for you and your L1, the L1 is like your application, it’s like your website it’s like the thing that does the thing that you and your team – your company that you’re building wants to do. And so, that is totally up to you, you can have one node if you want, technically, you could have ten thousand, but um really, it’s just a decision based upon like well, what’s it trying to do and what’s the scale that you need.

Diggles: Yeah, and as we, you know, as we get into this, something I’m very passionate about because here I am, you know, working with groups that are like “great we want to launch a private, private or permissioned network, um how many nodes do we need?” and it’s, you know, we start to talk about what their throughput needs are, their requirements, but what always makes me happy about this is that um, there’s no gotchas – it’s just horizontally scalable. Hey, you need more we just keep adding more resources and that really brings into uh, thinking about how we’re going to configure it versus how we’re going to, you know, scale this thing, you know scale just becomes you know, no offense, but a commodity in a way, it’s just we just focus on how do we pump that thing to meet those use case needs, which is awesome – makes my job a lot easier.


Diggles: 12. How exactly will the network be able to swap from other main chains? Meaning, how does the interoperability work where you can swap directly from for example Ethereum to Bitcoin, or Dag to Polkadot or a dot. So, I know you touched a little bit on this at the beginning, but maybe you can just touch on it again.

Wyatt: “Yeah, absolutely. So, this actually ties into emissions, this new data structure that was created, that’s sort of like chirally symmetric to itself but also, it’s like an inverse of a transaction. Anyway, the tldr here is basically when we create an integration on an existing L1, let’s say it’s Bitcoin or something. What we want to do is make a modification to a Bitcoin core miner, such that it is running an L0 Dag process. And now, when we actually want to define that integration and sort of deploy the equivalent of like a smart contract to the L0 for that L1, say it’s like Bitcoin, then what we do is define the data structures, and we also define the mechanics as to how the network itself of Bitcoin, how those nodes converge and agree on how funds are transferred on behalf of the L0 consensus.

So, think of L0 consensus as being like a meta sort of consciousness, like an awareness of all these different protocols. And so, in the L0 actual integration process, these L1 nodes will basically say “Hey, we’re going to do a 50% majority or this you know strength of I guess a you know Merkel root tree thing, in order to converge. And so, when that’s actually present and available, then that validation criteria which has been defined by the L1, is then finally processed again in global convergence.

So, what happens is in the L1, let’s say it’s for the Bitcoin, they will, like a Bitcoin developer will decide, and folks will decide what are the criteria, the validation criteria, for transacting between one account balance on Bitcoin and potentially making a modification of another account balance within this sort of like liquidity pool. So, let’s say like transacting the Bitcoin reducing someone’s account, putting it into a liquidity pool which is just a bunch of different random accounts managed by nodes, and then fluctuating a different token in reverse. So, essentially acting as like an orderbook, but in a decentralized way.”


Diggles: 13. Would you ever reduce the amount of Dag tokens needed to run a node?

Wyatt: I’ll be honest, specifically like you know the decision as to what we want to do for nodes and staking, all this stuff, or like just to run a node, um it’s really fairly arbitrary from the protocol perspective. Um, this has just come out of discussions we’ve had with governance, so this is more of like a community kind of a question. Um, I’m supportive of what the community converges to ultimately just by definition.

Diggles: I love that yeah. I know we had some hashgraph questions in there and that really is the kind of the big differentiator, is our community focus. Of course, there’s the technology which we could slice and dice in a million ways, but we have a different ethos, and I think that largely is something folks should not overlook.


14. How will updates be released to nodes?  I do know the answer to this one, but I’m gonna let you take this one Wyatt.

Wyatt: Oh yeah. Um, so node updates are going to be well, I mean it’s really just up to node operators to pay attention. Um, I really have no intention to create some kind of a remote control you know key or something like that for updates. Um, so the current like, uh sorry, functionality, is that if your nodes, and this is going to be the future functionality, then if your nodes version doesn’t match up with others and pass an authentication check, that it just can’t join or gets kicked off, um in which case like you can send an alert or something just to redownload and re you know, resend it out. Um, you know I mean in terms of actually distributing the core code base we can always check the check zones, um, that can be hosted on various different websites. I mean the most centralized thing about this entire project is just going to be that we probably host our code base on maven and github obviously, and so we’ll have all of our releases on most of those, as well as probably different various docker images of various, you know, different version heights as well. And so yeah, we’ll just keep some kind of a record of what those are and folks can download and decide what version they want to use, whatever the use case is within whatever’s currently supported by the L0.


Diggles: 15. Will there be a way for solidity developers to copy and paste their code to easily create a state channel? i.e. will there be an evm available?

Wyatt: There could be. It’s possible. I think that creating a collection of sort of connectors to smart contracts is really the first (step?) we’re going to take.  I believe Ltx, if I were to surmise and sort of guess that’s going to take form, and so in that sort of way connecting to at least some various you know, type of smart contract or scheme or whatever. Um, I would also say that just in general, um, the real final goal here of our state channels is to take um, the, so I created this thing like a specification language is what it’s called, um for programming language, that is like for distributed computing such that it’s verifiable across different stacks and different nodes, it’s called babel and it’s at the end of the first half of the main paper – generate economics. And so, the goal here is to take that specification and to create a sql-like syntax on top of that, so you know just something as simple as sql and creating, you know, for creating like a streaming pipeline or a query or some type of a you know join that happens in between a pipeline, um basically you can create a state channel on a repl using sql-like syntax. Um, and so in in the future I think that perhaps a transpiler between babel and whatever that syntax in solidity is, um it might be possible, there might be other ways to do it as well, but we will at very least have a sequel like syntax for distributed computing that is irrespective of a, you know, custom virtual machine.


Diggles: 16. Why did Mr. Diggles take a celebratory shot?

As uh Mathias shared, we’re gonna be rolling out this news, but I will paint a little bit of a picture here for those that have seen Lord of the Rings. He’s uh, you got Frodo Baggins and Samwise Gamgee, they’re, they’re taking off and Sam says “You know this is the furthest I’ve ever been from the shire” that’s where most of the projects fall you know, they’re all, don’t get me wrong I love all the efforts happening in the blockchain space, but constellation is as Wyatt had outlined in the beginning, um, we really wanted to create a full proof platform here for the long haul, and we’re doing the same with our endeavours. We’re not just trying to go after those that find us attractive and do cool stuff. So, we have been on this journey, I’ve been on this journey where I finally got to Mordor, and I went for the jugular in one of the things that I’ve been working on, and we’re just so stoked to share it with you guys because it’s you know, I’ve been looking at our company like a mall right and this is like an anchor tenant like a Macys, but we still have the music store and the footwear store and all these great things, whether that’s Stargazer or Lattice or State channels or you know, so forth. So, with me it was just something very personal, and those that know me know I don’t drink a lot, so it was an expensive shot and it made everybody cringe, because it was such expensive liquor, but I didn’t care so I’m going to pan it over to you Mathias, so you can take us home, and I just want to say how much of an honour it is to work with you, uh Mr. Jorgensen, and Wyatt, um it’s been an awesome journey.

Time stamped link https://youtu.be/mVfsoHPek0A?t=1598

Author: Vegeta