123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617 |
- 1
- 00:00:00,960 --> 00:00:07,040
- Hi and welcome to this second installment of the first Joystream community update.
- 2
- 00:00:07,040 --> 00:00:16,400
- So, this segment is about the Sumer network which is a network we’ve been working on for about, I want to say, three months now.
- 3
- 00:00:16,400 --> 00:00:25,030
- It is going to be building on Antioch which either is going to be released or has just been released depending on when this video comes out.
- 4
- 00:00:25,039 --> 00:00:32,320
- So, the goal in the Sumer network is to do three separate things.
- 5
- 00:00:32,320 --> 00:00:38,640
- First of all, we want to introduce the next and I want to say final iteration of our on-chain content directory.
- 6
- 00:00:38,640 --> 00:00:42,710
- I am going to explain this in further detail but I am just going over the overview.
- 7
- 00:00:42,719 --> 00:00:47,030
- Then we are going to introduce Atlas Studio which is new part of the Atlas product.
- 8
- 00:00:47,039 --> 00:00:51,280
- And then we are going to introduce a new working group which we are calling the operations working group.
- 9
- 00:00:51,280 --> 00:00:53,039
- So, let’s go through this.
- 10
- 00:00:53,039 --> 00:00:55,680
- So, the new content directory.
- 11
- 00:00:55,680 --> 00:00:59,039
- The new content directory is an enhancement over the existing one and through pretty important ways.
- 12
- 00:01:03,440 --> 00:01:09,430
- I am going to go though what the content directory actually is as in the next slide but just let’s dwell on this for a moment.
- 13
- 00:01:09,439 --> 00:01:10,840
- The first one is that it is radically simplified.
- 14
- 00:01:10,840 --> 00:01:26,400
- The existing content directory that we had was actually very very complex because we were trying to achieve the goal of having the community to be able to update
- 15
- 00:01:26,400 --> 00:01:34,960
- what is in the content directory, so stuff like videos and channels, and playlists without having to do runtime upgrades.
- 16
- 00:01:34,960 --> 00:01:45,680
- So, runtime upgrades, as I probably have mentioned prior to this in this community update, is a way in substrate chains you can change the rules of the system.
- 17
- 00:01:45,680 --> 00:01:52,880
- So, for example, you can imagine at one point in time a video has a title, and then at some later point in time maybe a video has a title
- 18
- 00:01:52,880 --> 00:02:07,520
- and also what language the content of the video is recorded in or what language the people in the video speak or something like that.
- 19
- 00:02:07,520 --> 00:02:15,200
- So, that's a relatively small thing to change but you want to make it easier for the community to change stuff like that,
- 20
- 00:02:15,200 --> 00:02:21,280
- and if changing every little thing like that requires a community update, it's going to be really hard for the community
- 21
- 00:02:21,280 --> 00:02:26,310
- to iterate quickly on this part of the platform which really needs to be very flexible.
- 22
- 00:02:26,319 --> 00:02:36,310
- If you wanted to introduce other things, not just videos, let's say you wanted to introduce like eBooks or, you know,
- 23
- 00:02:36,319 --> 00:02:43,760
- some other mild variation of what we already have, it would also be very inhibiting if you'd have to do a runtime upgrade because we have to do a runtime upgrade,
- 24
- 00:02:43,760 --> 00:02:59,510
- you have to dive into the rust code, you have to change it, you have to figure out how to take all the old stuff in your state and turn it into the new stuff through a migration step that runs inside of the consensus of your
- blockchain,
- 25
- 00:02:59,519 --> 00:03:08,230
- you have to update all sorts of dependencies and libraries and infrastructure to reflect how the new system works, you have to test a lot in advance.
- 26
- 00:03:08,239 --> 00:03:16,560
- I mean, if you do it significantly, if the change is significantly big, you should probably also do a test,
- 27
- 00:03:16,560 --> 00:03:25,040
- integration test where you run through a simulated upgrade with some representative state in your system,
- 28
- 00:03:25,040 --> 00:03:30,000
- you see how it works after the runtime upgrade, does your account still work, does your voting system still work, and so on.
- 29
- 00:03:30,000 --> 00:03:31,840
- So, it's a lot of work.
- 30
- 00:03:31,840 --> 00:03:37,120
- And if you make a mistake, you can permanently destroy your chain.
- 31
- 00:03:37,120 --> 00:03:45,200
- So, it’s risky, it's hard, and it's, you know, requires a lot of care.
- 32
- 00:03:45,200 --> 00:03:54,080
- So this is a very long-winded way of explaining why we ended up having the old content directory that we had.
- 33
- 00:03:54,080 --> 00:04:05,280
- And the point of that content directory was that it was sort of very abstract, almost to the extent that it was like a relational database where it allowed the community to define schemas
- 34
- 00:04:05,280 --> 00:04:15,280
- and concepts on chain so that you didn't have to do runtime upgrades to define new things or change the way things were represented.
- 35
- 00:04:15,280 --> 00:04:20,000
- That's great. The problem was that it was extremely complicated.
- 36
- 00:04:20,000 --> 00:04:28,320
- It became really hard to both have work properly on chain, it became really hard for people to understand how it worked.
- 37
- 00:04:28,320 --> 00:04:36,400
- And really what it turned out to be was that you couldn't even get something that was all that flexible, so you couldn't actually get all the flexibility that you wanted.
- 38
- 00:04:36,400 --> 00:04:39,360
- So, what we did in this release is we just said screw it.
- 39
- 00:04:39,360 --> 00:04:47,040
- What we're going to do is we're going to put the heart of what it means to be in the content directory on chain,
- 40
- 00:04:47,040 --> 00:04:57,520
- and then we're going to make the metadata associated with all the different things on the chain, such as videos and channels, and so on.
- 41
- 00:04:57,520 --> 00:05:01,440
- We're going to make sure that that's actually very easy to change.
- 42
- 00:05:01,440 --> 00:05:12,240
- So, you don't need to change the low-level business logic of the chain itself in order to make the sort of smaller tweaks that I described,
- 43
- 00:05:12,240 --> 00:05:13,600
- such as the fact that a video may have
- 44
- 00:05:13,600 --> 00:05:17,440
- a language So, you sort of lift that out of the chain entirely.
- 45
- 00:05:17,440 --> 00:05:23,750
- We also just decided that this is the way our content directory is supposed to work.
- 46
- 00:05:23,759 --> 00:05:25,199
- So, that's a pretty big decision.
- 47
- 00:05:25,199 --> 00:05:28,639
- And that's what's landing in Sumer.
- 48
- 00:05:28,639 --> 00:05:35,280
- So, let me go through now, just very quickly.
- 49
- 00:05:35,280 --> 00:05:43,030
- So, the video of myself which is not that useful is covering up a part of the diagram which is useful.
- 50
- 00:05:43,039 --> 00:05:49,680
- What's supposed to be there is a square which shows the unchanged storage system.
- 51
- 00:05:49,680 --> 00:05:55,120
- I’m going to figure out later whether I change that or not but let's just go with the flow.
- 52
- 00:05:55,120 --> 00:06:01,600
- So, the on-chain content directory has in this representation, as you can see, memberships.
- 53
- 00:06:01,600 --> 00:06:07,190
- Channels have within them stuff like videos, and playlists, and series.
- 54
- 00:06:07,199 --> 00:06:16,720
- All those actually exist in the chain but they haven't been fully implemented, and they will not be implemented in the consumer product like in Atlas itself.
- 55
- 00:06:16,720 --> 00:06:29,120
- These are people who are sort of employed in the content working group to manage and make sure that everything in the content directory is going according to plan,
- 56
- 00:06:29,120 --> 00:06:40,240
- and they can also own channels themselves on behalf of the platform to feature official platform content and that kind of stuff.
- 57
- 00:06:40,240 --> 00:06:48,630
- Now the interesting part here is that on chain you just have this sort of index of all these things, you know, what videos exist, who owns them and this sort of stuff.
- 58
- 00:06:48,639 --> 00:07:00,400
- You also have an index of what data exists, so like the images, the cover photos, the actual video media files.
- 59
- 00:07:00,400 --> 00:07:08,470
- There's like a list of them you can think of or like a map basically which holds a representation of who owns everything,
- 60
- 00:07:08,479 --> 00:07:16,800
- how much space has member number X used out of all the space available to them to publish to their channel and so on.
- 61
- 00:07:16,800 --> 00:07:23,590
- And, of course, when the storage infrastructure is supposed to be replicating what part of the data.
- 62
- 00:07:23,599 --> 00:07:33,910
- Right now, of course, that's fully replicated in the current storage system but that would be changed in a future version which I’m going to get to in one of the later videos.
- 63
- 00:07:33,919 --> 00:07:38,240
- But basically, that index also lives on chain in the data directory.
- 64
- 00:07:38,240 --> 00:07:47,440
- And then of course the actual storage is on separate off-chain infrastructure and storage nodes that are also responsible for shipping the data to users.
- 65
- 00:07:47,440 --> 00:08:00,800
- And, as you can see, one of the things that actually are possible in this release is for
- things outside the content directory to also use data.
- 66
- 00:08:00,800 --> 00:08:07,680
- So, stuff like your membership avatars, we are aiming to have stored in the same storage system.
- 67
- 00:08:07,680 --> 00:08:19,680
- So, before, you know, for your avatar you really have to reference some URL somewhere but for what we're going to be introducing, the first step of that in this
- 68
- 00:08:19,680 --> 00:08:28,630
- Sumer release is that you could also store assets like that in the storage system itself just like the videos for the content directory.
- 69
- 00:08:28,639 --> 00:08:37,200
- Likewise, that could be used in other parts of the system, for example, as attachment in proposals or in forum posts and so on.
- 70
- 00:08:37,200 --> 00:08:41,510
- So, it’s going to be a general infrastructure piece for the rest of the runtime.
- 71
- 00:08:41,519 --> 00:08:46,080
- So, that's the first part of what we're doing in Sumer on the content directory.
- 72
- 00:08:46,080 --> 00:08:49,440
- The next step is that we're launching Atlas Studio.
- 73
- 00:08:49,440 --> 00:08:56,390
- So, Atlas is the sort of the viewer product where you can see videos and channels and so on.
- 74
- 00:08:56,399 --> 00:09:02,950
- And Atlas Studio is sort of the flip side of that experience where you can actually see all your channels, make channels,
- 75
- 00:09:02,959 --> 00:09:13,510
- upload stuff to your channel, manage it, delete stuff - basically like the channel publisher owner experience.
- 76
- 00:09:13,519 --> 00:09:21,200
- That really is a very big step in the direction of making it easier for people to publish content to the system
- 77
- 00:09:21,200 --> 00:09:28,390
- which before or at the current time has to be done through a command line interface which is a very rough experience.
- 78
- 00:09:28,399 --> 00:09:33,120
- I think I can show a few outtakes of what that experience looks like.
- 79
- 00:09:33,120 --> 00:09:39,830
- You'll have, you know, a nice experience for filling in the basic metadata and setting up your channel and editing it. 3
- 80
- 00:09:39,839 --> 00:09:47,680
- You will have a way to view all of your videos, and change and edit the
- metadata associated with them.
- 81
- 00:09:47,680 --> 00:09:50,950
- You have drafts for stuff that you haven't committed to chain locally stored.
- 82
- 00:09:50,959 --> 00:09:58,480
- This all runs in the browser, just as Atlas itself does.
- 83
- 00:09:58,480 --> 00:10:09,830
- There'll be a smooth sort of upload flow for providing the media files and the basic metadata for videos in a step-by-step way
- 84
- 00:10:09,839 --> 00:10:22,240
- which ends with you signing a transaction which, now actually that's interesting, uses the Polkadot JS signer extension rather than the native wallet or,
- 85
- 00:10:22,240 --> 00:10:29,360
- I should say, local storage wallet that is in the normal Pioneer product that we're currently using.
- 86
- 00:10:29,360 --> 00:10:36,800
- So, that's also step in the right direction of having people use an external key manager.
- 87
- 00:10:36,800 --> 00:10:47,200
- So, there’s also, as I mentioned, we can store assets now like images on the
- storage infrastructure, so that means we're going to be helping you set
- 88
- 00:10:47,200 --> 00:10:53,270
- and provide the right assets, manage how they're going to be displayed as part of those upload flows.
- 89
- 00:10:53,279 --> 00:11:02,560
- So, that's Atlas Studio which is the second major goal to launch for this release.
- 90
- 00:11:02,560 --> 00:11:14,320
- I also forgot, of course, we're going to be, if you have a look at the experience here for uploading and editing videos, you can see there's sort of like a tab system here,
- 91
- 00:11:14,320 --> 00:11:25,040
- and that's because we want to make it easier for people to manage multiple things at the same time.
- 92
- 00:11:25,040 --> 00:11:29,510
- With that, of course, comes the need to manage a lot of different uploads at the same time as well, so there would be a separate area to manage all the different assets
- 93
- 00:11:29,519 --> 00:11:34,320
- that are uploading at any given time. Uploads can fail, you could lose your connection and so on.
- 94
- 00:11:34,320 --> 00:11:41,440
- So, we'll have a graceful way for you to retry anything that hasn't worked in the past.
- 95
- 00:11:41,440 --> 00:11:46,320
- I don't think we could have had anything reasonable even in the CLI to make this possible.
- 96
- 00:11:46,320 --> 00:11:58,720
- This is a very big step in the right direction, and it's a huge effort from a lot of people, designers and developers and infrastructure pieces that are needed to get this to work.
- 97
- 00:11:58,720 --> 00:12:02,320
- That's fantastic.
- 98
- 00:12:02,320 --> 00:12:07,360
- Then the last piece of the puzzle is the Operations working group.
- 99
- 00:12:07,360 --> 00:12:14,720
- So, what is this? Well, I am going to get to what a working group is in a little bit more detail later but if you're a little bit familiar with Joystream,
- 100
- 00:12:14,720 --> 00:12:20,720
- you’ve probably noticed that there's the council and then there are these groups that are responsible for specific things,
- 101
- 00:12:20,720 --> 00:12:26,240
- and the operations working group is a new group like that, and what's special about it is that it's supposed to be
- 102
- 00:12:26,240 --> 00:12:34,000
- for any kind of activity that doesn't have at least yet an on-chain footprint or a role.
- 103
- 00:12:34,000 --> 00:12:43,040
- So, let's say if you're a forum moderator, that implies that you can do certain things in the forum that other people can’t do.
- 104
- 00:12:43,040 --> 00:12:47,760
- There's an on-chain forum in Joystream, as most people probably noticed.
- 105
- 00:12:47,760 --> 00:12:49,279
- Likewise for the storage system and so on.
- 106
- 00:12:49,279 --> 00:12:59,510
- The operations group is meant for all of those activities we're currently doing and which will be part of the system in the future which don't really have any direct privilege on chain.
- 107
- 00:12:59,519 --> 00:13:08,950
- We just want to provide the basics of what a working group allows you to model - stuff like what the roles are so everyone can see,
- 108
- 00:13:08,959 --> 00:13:16,070
- it's transparent how people got into the roles, how they applied, what were the merits for people being admitted.
- 109
- 00:13:16,079 --> 00:13:28,480
- People have predictive, they have predictable reward schedules for what they will be paid, they have predictable stake at risk,
- 110
- 00:13:28,480 --> 00:13:38,630
- so they can be given a little bit more responsibility in terms of what they can do, what they can be tasked with on behalf of the group and of the system overall.
- 111
- 00:13:38,639 --> 00:13:44,630
- So, the examples we're going for at the moment are things like developers, we have at least one of the founding members,
- 112
- 00:13:44,639 --> 00:13:50,560
- I believe, is looking to be one of the first developers in the operations working group.
- 113
- 00:13:50,560 --> 00:14:00,320
- In general, managers, marketers, anyone who would like you could think of almost like a role or a job but doesn't require you to do a lot on chain as VM.
- 114
- 00:14:00,320 --> 00:14:02,000
- So, that's the operations working group.
- 115
- 00:14:02,000 --> 00:14:09,360
- I’m hoping that this will be sort of a sandbox for discovering lots of roles that we haven't explicitly modeled into the system.
- 116
- 00:14:09,360 --> 00:14:17,190
- Maybe we will as a result of what we find out but I think it's high time for something like this.
- 117
- 00:14:17,199 --> 00:14:29,440
- What is actually… again my little preview thing is covering part of the image. I'm not
- sure, if I can actually move it now. Can I do that?
- 118
- 00:14:29,440 --> 00:14:43,190
- No, I can’t. All right. So, I'll just try to explain. The goal of this is just to show how the working group fits into the overall system of Joystream.
- 119
- 00:14:43,199 --> 00:14:54,560
- There is some general information in this community update series so I'm sort of straddling the line between very general stuff and stuff very specific to the releases.
- 120
- 00:14:54,560 --> 00:15:04,800
- I think in the future we'll do some like deep dives where we try to go systematically through each one of these, and give you a more fine-grained and a thorough introduction.
- 121
- 00:15:04,800 --> 00:15:08,630
- I just want to sort of tease you with that here.
- 122
- 00:15:08,639 --> 00:15:18,560
- The governance system in Joystream is actually a lot more, it is deeper, I would say, than what you find in a lot other crypto system.
- 123
- 00:15:18,560 --> 00:15:28,800
- In a lot of other crypto systems, you just have a flat coin voting, sort of voting pool which has proposals.
- 124
- 00:15:28,800 --> 00:15:33,680
- Typically, they're actually limited to things like signaling and spending maybe in upgrading the protocol.
- 125
- 00:15:33,680 --> 00:15:38,070
- So, you don't even really have that rich of a portfolio of proposals to choose from.
- 126
- 00:15:38,079 --> 00:15:42,240
- In Joystream that set of proposals are very very very broad.
- 127
- 00:15:42,240 --> 00:15:54,000
- Of course, at the root, sort of the root of trust for the whole system is a coin vote which happens not on individual proposals but on election cycles where you elect a council.
- 128
- 00:15:54,000 --> 00:16:06,830
- A council is a sort of one actor-one vote where you have council members vote on proposals.
- 129
- 00:16:06,839 --> 00:16:12,950
- I think the current setting we have for that is every two weeks there is a new council elected.
- 130
- 00:16:12,950 --> 00:16:20,070
- I’m not actually at all sure we are confident about what that number should be on main net but that's what we have at the current time.
- 131
- 00:16:20,079 --> 00:16:27,680
- That's mostly just informed by what's practical in order to have new people in the community, learn what's going on.
- 132
- 00:16:27,680 --> 00:16:36,800
- We'll see, that's interesting, it will be interesting to figure out what that ought to be but anyway there's a council which lives for a council period.
- 133
- 00:16:36,800 --> 00:16:43,190
- The same, the members can stand for council, and they can be reelected for future councils.
- 134
- 00:16:43,199 --> 00:16:55,190
- The main responsibility of the council is to vote on proposals, and the proposals do the things that I've just described, including hiring leads for individual working groups.
- 135
- 00:16:55,199 --> 00:17:00,630
- There's one working group per subsystem you could think of it.
- 136
- 00:17:00,639 --> 00:17:17,030
- There's a membership subsystem which is primarily at least in the Olympia runtime, which I actually haven't mentioned, but that's the third community update, I think, so it’s coming.
- 137
- 00:17:17,039 --> 00:17:20,790
- Prop is mostly preoccupied with invitations to grow the membership pool.
- 138
- 00:17:20,799 --> 00:17:26,720
- You have the storage working group which is primarily about operating the storage system, storage infrastructure.
- 139
- 00:17:26,720 --> 00:17:31,520
- You have the forum for operating and curating the communication on the forum.
- 140
- 00:17:31,520 --> 00:17:34,720
- You have the operations working group that we are talking about here.
- 141
- 00:17:34,720 --> 00:17:43,440
- It's these different subsystems that run some part of what the overall platform needs to work.
- 142
- 00:17:43,440 --> 00:17:54,080
- Inside of each working group you basically have a leader which is someone who applies to occupy that role through a proposal to the council.
- 143
- 00:17:54,080 --> 00:18:02,240
- And that leader is basically responsible for spending money out of budget that is allocated to that group from the council for all sorts of things.
- 144
- 00:18:02,240 --> 00:18:12,320
- So, you can imagine, for example, if you're a storage working group leader then you need to figure out, well, how much money do we need for the next let's say month,
- 145
- 00:18:12,320 --> 00:18:18,240
- and then you have to go to the council to have them give you that much for your budget.
- 146
- 00:18:18,240 --> 00:18:32,400
- The leader is able to pay the rewards for himself and everyone else, all the other workers, as they're called, in the working group, for providing the service to the system.
- 147
- 00:18:32,400 --> 00:18:41,280
- The leaders are also able to change what someone has as their reward and can slash them if they do something they're not supposed to do.
- 148
- 00:18:41,280 --> 00:18:45,600
- And, of course, same applies to the leader with respect to the council.
- 149
- 00:18:45,600 --> 00:18:49,120
- The council can update the reward and slash them and fire them and all this sort of stuff.
- 150
- 00:18:49,120 --> 00:19:00,040
- So, the working group is sort of the lowest sort of bureaucratic organ in the overall governance hierarchy of the Joystream system.
- 151
- 00:19:00,400 --> 00:19:04,550
- And we're getting a new working group in Sumer.
- 152
- 00:19:04,559 --> 00:19:11,440
- That hopefully was a useful introduction to working groups and the operations working group.
- 153
- 00:19:11,440 --> 00:19:23,910
- I think that's the last of it, so thank you for joining me for this Sumer update, see you in a bit.
|