I'm going to hand it over now to the rock stars. Thank you. Thank you very much. First of all, thanks for having me here and thank you all for choosing to be here tonight instead of enjoying this beautiful city outside with so many things to do. So I'm Lorenzo Miniero. I come from Napoli. I took my PhD at the University of Napoli a few years ago. I'm currently the chairman of Miteco, a small company in Naples. I really do believe in open source. As you can see, I should probably cut my hair because I'm way too old for that. And Miteco or Miteco, however you want to call it, I've heard it's called in a thousand different ways, was born as an academic spin-off. So I told you I got my PhD at the University of Napoli and so did my colleagues at the time. So we started working a lot in research at the university and eventually we came up with the idea of building a company out of all these. And at first we were focused on conferencing and stuff like this, but then we really tried to widen the scope to do multimedia applications in general, always with a strong perspective on standardization and open source, especially within the ITF and explain later why it is so important for us. And in general, we do several kind of activities as a small company. So the usual consulting services and stuff like this, commercial support, pretty much any kind of thing that small companies like ours do. But most importantly, we also do the streaming of services. We provide streaming services for live events, for instance, like the ITF. So I'm actually here in Singapore because I'm streaming the ITF that is happening right now. So my colleagues are actually not here because they are still streaming some events at the moment. Probably it ended a few minutes ago, not sure. And we were proudly brewed in Napoli. This is a nice picture of Napoli. I don't know if you have ever been, but it's actually quite nice as you can see.  And we actually have a cool partnership with Cosmo, the guys that you just saw a presentation from. We built this so-called WebRTC-ATM, you might say, because we have a great expertise in the service side of things, while they do have a great expertise in the client side of things. And so we found out that actually working together on some aspects really solve more issues that we could do on our own. And we actually already worked together on a couple of things that I mentioned in a minute. But let's talk about WebRTC in general first. I won't focus too much on these slides because I assume that most of you will be already familiar with those. But in general, the concept is that you have a couple of peers that can actually interact with each other, first establishing some kind of communication via a signaling and negotiation channel to observe, for instance, and eventually being able to communicate with each other, establishing a connectivity channel between each other and create a secure channel over which to exchange audio, video, data and whatever. It's actually quite interesting though when one of these two peers is actually not a real person, but actually an application because it allows you to do cool things that you could not do with just people in the picture. And ideally you might also, let's say, simplify this and assume that this virtual peer that is actually an application might actually also take care not only of the media side of things, but also of the signaling, which would allow you to do things like, I don't know, an MCU, some kind of a conference mixer that allows you to mix all the stuff together and allow people to communicate this way. Or an SF, sorry, an SFU where you actually have a different kind of approach where you just relay media instead of mixing it before actually sending it to the other participants or actually start involving other technologies that are not WebRTC-based. So you might, for instance, want to interact with the SIP infrastructure with, I don't know, with RTSP-based cameras that allow you to do video surveillance or stuff like this or interact with other technologies like RTMP, Silverlight and stuff like this. And of course, all these works only if this component is smart enough to take care of both this side of things and this side of things. So as long as this server is able to terminate the media over here, then there's no limit on what you can do on this other side of things. It's pretty much up to you. Which is what we talked about when we started writing Janus in the first place, which is the component that I'm going to talk about today, by the way. And the reason we chose the name Janus for this is that it comes from the Roman mythology. It's the name of a Roman god, the Roman gods of transitions. So it was a god with two different phases, one looking at the past and one looking at the future, which is incidentally why the Mont January is called like that, just a fun fact if you want. And in our idea, the concept was that Janus would be the same kind of approach. So the same component with two different phases, one looking at the future, which is WebRTC and one looking at the past that might be legacy technologies or whatever, like we saw in the other picture. Of course, while still be able to do everything just in the future if you wanted to. And Janus is completely open source you can find. This is the link to the repository. It's all on GitHub. There's a lot of demos and documentation available on that website over here. And we also have a pretty much active community as a Google group. And the idea was that when we start building Janus, we wanted to implement some kind of a general purpose kind of tool. So something that would allow us to implement pretty much whatever would come into our minds with respect to WebRTC without having to rewrite everything from scratch again over and over again any time that maybe a new idea came to mind. And of course to do that, we had to come up with some kind of a modular architecture where we basically would have a core that would implement the WebRTC stack. So all the protocols that you actually need to implement the WebRTC endpoint because as you remember from the previous slide, we are talking about a component that acts like a WebRTC peer and so must implement all the protocols that a WebRTC endpoint would implement. And so the core is responsible for all of that. So the establishment of the connectivity, ISDTLS, data channels and so on plus some additional stuff that might be some more advanced WebRTC related features. And then everything else is pretty much modular. So it's a module that you can load as a shared object. And first of all, starting from the transport because we defined the genus API so a way to communicate with Janus that is a JSON based protocol and you can actually transport this protocol over different protocols as transports basically. So you can use HTTP or WebSockets if you want to talk from a browser to Janus directly for instance but you might also use other protocols if you are using Janus as a purely server-side component that you control on your own like RabbitMQ, UnixSockets, MQTT or whatever else you might want to implement as an additional module without touching Janus itself. But most importantly, the real power of Janus resides in the fact that you can also implement the application logic itself as a different plug-in which means that conceptually and maybe this is more easier to understand in the next picture the idea is that as a user you connect to the to the core via one of the protocols that we've seen before and you start exchanging messages with Janus via the Janus API and then as part of this communication you attach to one or more plugins in the background. And by plugins I mean components that implement the application logic in a different way which means that actually handle the media in different ways. So one component might implement some kind of video conferencing functionality another component might talk to the SIP world another component might interact with RTSP or whatever these kind of things and so on. And so depending on which plug-in you talk with using this API over here the peer connections that you create, so the media channels that you create with Janus can actually carry different media according to the logic that these different plugins implemented. And so in this case for instance we have this browser that has created two different peer connections over here. This peer connection is actually associated with this green plug-in over here that might do some web conferencing or something like this. These other red peer connections is attached to that other plug-in over there that might actually forward or let's say handle incoming media from a completely different component that is not WebRTC compliant at all. And Janus takes care of making sure that whatever happens here is actually turned into something that is WebRTC on this other hand. That whatever you want the user to send or receive is actually taken care of by Janus itself. And this allows you to do some cool things like combining different plugins to create custom and nice applications. I'll show a couple of examples later on. Of course this only works if the plugins that we've seen before are actually able to also implement their own kind of messaging which is what we did implementing basically the Janus API as a transport for the communication of the plugins itself. Meaning that each plugin can implement its own API because of course conferencing kind of application has a completely different set of requirements from a CIP gateway application. They might have completely different messages that they want to exchange with each other and completely different requirements in terms of events to notify and stuff like this. And this is all made possible by this kind of approach that we chose for this. And just to give you a simple idea of how you could actually combine different plugins to implement a new application that goes beyond the functionality that is provided by each of the individual plugins you can think for instance about a simple webinar kind of application where you have a person speaking and presenting their own slides online and other people that are just watching and maybe they can chime in and make some questions later on. The idea is that you can combine let's say even three different plugins to do this so you might want to use the AudioMCU, the AudioMixer plugin to handle all the audio parts so that you can easily have people come in and make questions and so on or even use CIP for the purpose let's say.  Or you could do something cool or like a social TV kind of application where you have a TV broadcast that is still served via WebRTC let's say a football match or something like this and then you have all your friends that are watching the same thing as each one from their home and you can discuss together the match be happy together when someone scores and stuff like this and in this case you would use let's say the streaming plugin for the TV match and there's a few plugins for interacting with your friends and so on and I mean I won't go much beyond that if not presenting some real examples of people using this later on but this is just to give you an idea of how you can actually combine these different plugins as let's say bricks to implement some kind of a more complex application. We've worked a lot on some new features recently of course what I presented so far is basically the basis of how Janus works in general so the ability to do WebRTC, the ability to handle the application logic in different plugins and so on but of course there's much more to it when it comes to using more advanced WebRTC features or actually being able to do more things with what Janus provides and one of those things is actually quite interesting is the event ender's kind of approach that allows you to do some live monitoring and debugging of whatever is happening in Janus itself and basically this is an additional means to implement a different kind of plugins where you have events generated on the fly about whatever is happening inside Janus so the core generates events, the plugins themselves generate events all these events are sent somewhere so that another component can actually process them and aggregate them and handle them somehow and we have an example in this slide that is the hover application some of you may be familiar with it because it's quite popular in the devoid world and now they're working on a new version called HEPIC that is on RTC in general but the same mechanism is also exploited by colestats.io for their Janus interaction actually we recently implemented VP8 symbol casting which works with both Firefox and Chrome and here you can see just a simple example where I'm publishing my stream as a VP8 symbol cast stream and here I'm receiving the same stream but using different spatial layers and temporal layers in this case it's not a spatial layer, of course it's just a different sub stream but you get the idea we did the same thing about with VP9 scalable video coding and this is one of the things that we actually did in collaboration with Cosmo with Cendrogar's team in particular and we basically implemented the same kind of approach so something that allows you to send a video that is actually composed of several different layers which allows you as a server to strip some of these layers in order to allow people with problematic networks, problematic connectivity to just receive part of the streams and not hold of them if they are not capable of receiving everything and still be able to see something we implemented some support for Perklight as well Perklight is one of the new efforts that is actually going on in the ITF right now and allows you to implement some kind of a double encryption I won't go too much in detail about this but this is also available currently as a pull request and we also implemented this together with Cosmo and Dr Alex over there and another cool feature that we have actually started working on right now is the Janus Lua plugin because something that I probably forgot to mention up to now is that Janus is completely written in C so if you want to implement your own plugins or your own custom model that handles media in a new way you need to actually know how to code in C and so on which can be problematic at times so what we try to do is implementing a new Janus plugin that has all the media manipulation functionality available and implemented in C but also available via some hooks as a Lua scripting kind of thing so you can write your own application logic in Lua and this will drive the actual logic in the Janus Lua plugin itself which is already proving to be kind of useful in several different scenarios Of course this flexibility that Janus says about all these different plugins implementing different things, different applications and so on means that scaling Janus is actually not as easy as it would be for a general WebRTC kind of server mostly because different plugins have completely different requirements and so it's really, you cannot avoid taking the context into account whenever you want to actually scale Janus and say for instance I want to have a web conference with a thousand participants or a webinar with ten thousand viewers or whatever these have different requirements and these all have different impacts on different plugins which means that you have to always be a bit creative whenever you want to scale Janus in principle some general knows that you can take into account when you want to scale Janus so you might do some general load balancing kind of thing if the context allows for it but you might also do some kind of brokering and so on more in general though you might want to take advantage of one of the features that we implemented some time ago that are the RTP for WordPress and an easy way to understand how these works is actually taking the broadcasting scenario into account so if we wanted to implement some kind of a large scale kind of broadcasting application where you have one person streaming and I don't know a million people watching and so on of course you cannot do this with a single Janus instance you need to use one Janus instance to inject the media somehow and then this needs to be distributed somehow and then so that multiple servers can actually serve the amount of people that you actually want to serve and this only works if you are able to forward all the media around accordingly and a simple way to do that might be employing some kind of a tree-based infrastructure where you have one Janus instance here as a node and then whatever relaying infrastructure you want in the middle something that eventually feeds other nodes at the edge that implement, that take care of all the viewers that want to actually be able to watch something and this is one of the things that you might potentially do with Janus there's actually a company that is doing something like this in the world out there so it's actually something that might actually work but this slide is just meant to make you understand that this kind of functionality might actually be used also in other contexts so creating a large scale conference application or let's say even just a conference application where you want people to be able to geographically access their own region and then still join the same conference and so on you would need to have some kind of approach like this where you have different inject points that then exchange media with each other so that they can eventually join all the same kind of multimedia application so I'm almost done so I will just take a few minutes of your time now and these last slides are just meant to showcase a bit how people are actually using Janus in the wild right now and using different things so it's not going to be a complete list but it's mostly going to be different scenarios just to showcase how flexible Janus is to actually cover all these different kind of applications and of course we use these ourselves a lot and I'll actually start with these in a minute but there are actually people that are using Janus in tons of different kind of applications like social TV, video game streaming, surveillance systems using Raspberry Pi, drones or whatever so it's really kind of cool and people are actually also starting to contribute their own code their own plugins, their own means to access Janus and so on which is really interesting but one of the ways that we ourselves use Janus is to stream the IETF meeting so I was mentioning that I am actually here to stream the IETF meeting with my colleagues and this is actually a screenshot for the RTC web meeting that we streamed today it happened this afternoon here and what we do is basically use Janus as a way to distribute the media whether it comes from the venue here or whether it is injected from the other participants so in this slide you can see I was acting as a remote participant in the RTC web so I had the chat over here I was watching the slides which was basically a capture of the projector so pretty much as it is happening here and then we had the camera that was capturing the chairs in the room and then we had the remote participant that is calling Janus here and of course since this is web RTC we can play a bit with the layouts and change the way that this media is actually presented depending on the context, depending on where you are actually with the session at this specific moment so playing with the media the interesting thing is of course that you can actually involve multiple remote participants at the same time and this is for instance from an RMCAD session from some time ago where we had the remote presenter interacting with the person Randall Jessup that was making questions from Izum because he wasn't at the venue either and then interacting with the local people at the venue there of course all of this is recorded so that we can then at the end of each meeting we convert all of these recorded sessions in a single media file and we publish it over YouTube so that we can then synchronize it with the chat and so on this is actually a recording from this week so usually at the end of each day we process the recordings and then we upload them and this is actually very useful for us for another reason as well which is the fact that at the ITF we typically have to control and take care of eight sessions at the same time which can be quite problematic because we cannot be everywhere at the same time of course so we usually deploy all of our stuff in advance before the meeting starts and then we control everything from a single room using the same components so Janus we were able to subscribe to all of the streams all the cameras, all the screen sharing and all that kind of thing and we were able to detect if there is any issue we were able to follow the speaker when they move around and stuff like this which actually made our job much easier so this is really interesting and I'm not going to much into detail very much into details about how we actually implemented all this but if you're interested in knowing more there is a slide deck on slide share in my account over here and there is also a video that I made in an interview with the VUC team right now it's about one hour and a half or two hours just talking about how we implemented all this so how we took care of accessing all the audio mixer stuff how we deployed all of this how we actually used Janus to stream all of these things in real time and so on so if you're interested just have a look it's quite cool but of course you might be more interested in what other people are using this and one cool scenario is Skyway Skyway is a team inside the entity and they are actually using Janus for IoT purposes for the internet of things and the cool thing is that they implemented their own plug-in to actually take care of all the communications serving streams and data channels and so on which was quite interesting and it's also open source you can find it over here Slack is another interesting scenario they were one of the early adopters of Janus to implement all their video conferencing functionality one thing that you actually found out at Cranky Geek is that they are using a quite old fork right now so they forked Janus a couple of years ago so they are missing a lot of things but I mean I'm an idiot I know but I like these pictures so I put it here and I still have a very interesting use case because even though they are missing some of the new stuff that we have and they still are a good example of how you can actually scale Janus to cover and serve a lot of users at the same time for conferencing purposes which was quite interesting for us Mattermost is a kind of a Slack clone but open source and they are also using Janus as their back-end TokTV is a social network a sports social network application that was created by Italian people even though their company is in the US and they are quite popular in China they recently published their application there and it's basically an application that allows you to watch matches together with your friends and be happy together when your team scores and so on and they also provide official applications for Real Madrid, Barcelona so teams that are quite large this is quite recent the services team you probably know them for their turn servers are interested in building an actual RTC infrastructure in general and so they are playing a bit with different media servers and they are also starting to play with Janus they go in touch with us to discuss that and so on and so the idea is also to be able to deploy Janus as a service on the services infrastructure so that you can scale build really large scale applications using their infrastructure which for us is kind of cool because it allows us to play with the scaling that I was mentioning before using a real infrastructure Lenovo also has an e-learning application that uses Janus as its backend Voxbone uses it for their click-to-call functionality the click-to-box application Convoso is a remote contact sensor solution they also are using Janus for this which is quite cool Veting is a business conferencing solution that allows you to do white labelled web conferencing and it uses a mix of Janus and Asterisk in the backend this is another interesting application they are currently in beta but they ever cast works on media production so yet another use case that is actually quite interesting and we are also helping them build this which is challenging but interesting for us there are a couple of interesting open-source solutions as well like Django which is a name that I wish I had come up with myself because it's really cool it's a mix of Janus and Gao so they basically wanted to create their own clone of Hangouts using Janus Janus has the only backend so everything, audio, video, chat is built on top of Janus which was quite interesting for us there's Silk server as well which is a CPEX MPP application server and they have their own mobile applications deployed to these and so on and last but not least of course the video game streaming is something that is actually gaining a lot of traction recently and there are actually different video streaming providers that are actually using Janus right now in the wild one of them is Mixer.com the streaming service that Microsoft uses for the Xbox they actually acquired Beam.com sometime ago which was using us and so they continued to use us for this there's Bebo which is or Bebo I'm not exactly how it's pronounced which is an application that allows you to stream to Twitch using WebRTC which is kind of cool and of course most importantly we have the author here we have Ev Assist which is another video game streaming application of course I'm not going too much into the details because Jordan is here and is going to talk about this in just a few minutes so I don't want to say anything that might actually turn out to be false and so I'm basically done so just to say a few things about what we want to do next we've built pretty much everything with respect to WebRTC implementation but there are a couple of things that are still missing so one of these is improved renegotiation mechanisms like ICE restarts that we do have as a pre-request but it's not out there yet but most important in multi-stream so we don't implement neither Plan B nor Unified Plan at the moment and we want to implement Unified Plan as soon as possible it's kind of a priority for us I already mentioned the Janus Lua plugin that actually gave us the idea that if we make the life for developers easier by using Lua we might actually do the same for other programming languages so we might expose ways to control a Janus plugin via JavaScript equal Python or whatever else this might open a lot of doors for us in the future and as I was saying we want to keep on working on improving the scaling solutions for Janus so making sure that you can actually whatever kind of application you have in mind there are ways for you to use a lot of Janus instances together in order to build this and for this I'm pretty sure that our partnership also with Cosmo will help us do this Xerces is an interesting kind of solution and in general this will allow us also to let's say eventually come up with even some kind of a platform as a service solution that is Janus-based or something like this but most importantly and the main reason why I'm here is I was really interested in making people aware of Janus in the first place so if this is something that interested you with this spark of your interest just install it, play with it, play with the demos try to write your own applications I mean just play with it and let us know if it's actually helpful or not and I'm probably way over time but I'm done finally so if you have any questions or comments I'm here to take them thank you


Thank you guys couple that come for this talk when I want to present about today is what we've been building for the past six months a Financially accountable watching network and this is in collaboration with Chris who's in the audience Surgery and Salvatore right what what I really want to highlight is that normally when people think of Pisa They think of off-chain protocols and scalability So I've actually taken this moment where this talk is not going to have anything to do of off-chain protocols whatsoever I'm going to highlight how Pisa is generally useful for most up developers cool Now what I'm going to begin with is actually a watching network. It's a misnomer There's actually two different rules in this third-party broadcasting network. We have relays We are meta transactions You know you give a transaction to this third party and they guarantee that it gets relayed to the network or You have watchers You know these watch towers and a watch towers You can be hired simply the watch for events on the blockchain if there's an event it will then respond on your behalf So that's why it's actually a third-party broadcast network which sounds really boring. You know lol, but that's actually what it is So why do we have you know relayers and responders? Relayers try to solve the problem when the user doesn't have access to the native token So this could be onboarding new users accessing coins in a contract like a multi-seg or Mixing and tumbling as well Where watch towers and responders they try to alleviate the user liveness requirement That's to say you do an auction, you know, you submit your bid three days later You have to reveal your bid and we don't want to come online in three days time So the watch tokens is do that in your behalf Of course the main motivations always been off-chain protocols like plasma and state channels And you can also do data availability providers as well So what is the perception of a third-party broadcasting network, you know, how did people typically think about it in their protocols? We're first you have a user and this is the anime edition by the way of the talk So the user typically has a job And what they're going to do is hire multiple watch towers at exactly the same time So they're going to send the job out, you know, bam, bam, bam, and then multiple watch towers now have the job but The user has to pay for multiple watch towers. So this sounds a bit crazy expensive, doesn't it? So typically what people do instead is that there's this on-chain bounty So the first watch tower the saw, you know, the relay the transaction and get it in the blockchain We'll get the claim this bounty So can you see the obvious problem with this if you've hired 20 watch towers on they're all competing for the CM bounty You're going to get spam spam spam spam spam You know only one watch tower is going to get rewarded and the rest are going to have to pay a penalty You know the God's price of a transaction for failing to get it in and that's not very good You know as an illustrated example bomb, you know the reward is given in this watch tower Now if they're competing for this 5k, you know, $5,000 is a bounty That's fine over the long period you make some losses you win, but if they're competing for $5 That's a sucks, you know, who wants to compete for $5 and lose money in the long run So it's not a great way to build these third-party watching networks An alternative approach with people 10 that recommend is why don't we you know do segments? So what's tower one can respond by time t1 what's tower two can respond by t2 up to tn Now the issue here is that is really awkward to enforce either your smart contract considered as upfront or You somehow try to enforce is an off-chain monitor, which doesn't really work either So I've never really considered this as a real valid solution to the problem And then the worst case scenario You guys hired 20 watchers and nobody responded and your transaction was never relayed Maybe you lost the auction you lost money in your state channel Well, there's no evidence.  You can't blame anyone because they didn't do their job So why do we always think this is the best way to build this third-party broadcast network? It was actually really frustrating because it's clearly awkward and it doesn't work that well You know, I've got my little anime gift there So from the end user perspective Why are we trying to design these third-party relay networks in this fashion? So what are the goals that we're trying to achieve? Typically we're trying to minimize trust We don't want to blindly trust a single party to respond in our behalf and also for the availability of broadcasters If I hire 22 watchers Hopefully one's the least online to complete the job for me But what most people seem to forget about is accountability You know, if the watch tower doesn't do the job for me, can I prove that and can I hold them accountable? So this is basically what we're building a pizza a Financially accountable third-party broadcasting network. So now I'm going to start my talk cool So what is pizza? Basically, we have this broadcaster. He has skin in the game and coins locked up on the blockchain And there's a pizza contract which is effectively the service level agreement between the tower and the customer Now when the customer hires pizza you send the job the pizza and in return the customer would get a signed receipt So now they have, you know cryptographic evidence that they've actually hired pizza or a watch tower So what type of job can pizza accept? Both it can be a relayer, you know these meta transactions and it can be a responder It can watch for events and respond in your behalf And of course the way it would look like is you know Alice and Bob do something Alice hires pizza. Alice goes offline If there's an event on the blockchain then pizza will simply respond in Alice's behalf Then Alice can come back online later, and then she can you know verify that peas in the watch tower actually did his job Now the question is What a piece of didn't respond What a piece of didn't do the job and didn't protect the customer, you know when it when it promised it would Can we do anything about that and that's exactly what peas is trying to solve Pisa is a trust minimized, you know third-party broadcaster because it has financial liability The user has a signed receipt that they hired this watcher and they have on-chain evidence that Pisa didn't do his job You simply submit both pieces of evidence to the Pisa contract Whoops, then the Pisa contract will look at the evidence evaluate it and say yep Pisa didn't do his job So now it forces his refund period and there's two outcomes either Alice is refunded a pre-agreed amount That was you know specified in the signed receipt or Pisa is eventually sloshed So Pisa issues the refund really straightforward. You send the money, you know that challenge is cancelled and everyone's happy So I've got one question here. Who's ever send a transaction to the network that lingered for six hours There we go.  Well first, let's look at the relay case these meta transactions every time you hire Pisa the relay a transaction in your behalf Pisa will relay that via the Pisa contract and it simply keeps a record of every attempt Okay now Yeah So it keeps a record of that attempt. So later on if you come online, you know Pisa promised you this transaction Would be relayed before time t you come online after time t you look at the Pisa contract And there's no record of the attempt if there's no record of the attempt Pisa didn't do his job You just send over the signed receipt and Pisa gets punished. So that's cool That actually works out of the box today On the other hand, what about the responder? Well in the case of the responder Basically, we have to look for events in the other contract. So let's consider the auction We have to watch out for you know the auction to be triggered Sorry, yeah, we have the watch out for the auction to be triggered Once it's been triggered then there's evidence the auction was triggered and that we didn't respond Now the issue is that? This can't work today But it requires its external contract to use our data registry and that's not great. It's a bit invasive We want to make sure we have seamless integrations to Pisa So for seamless integrations, we have to push for this hard fork for blocked up block harsh If we have this, you know hard fork then we can use the transaction receipts in a block as evidence that Pisa didn't do His job if you want to learn more information about that just check out this wonderful blog post that Chris wrote Oh, and I also found this emoji. I'll try to find a fork emoji So if you want to get this in the iOS, you know sign up to the change org So what's the currency of the Pisa project? You know, this is something we've been working on for two years in terms of designing the protocol And now we've been trying to implement it for the past six months What's nice is that we envision it to be like an inferior like API as Adaptive developer you're simply gonna have a very simple API like this you tell Pisa when do you need that transaction delivered? What was the call data and what is the contract address? You simply call the API and in return you'll get assigned receipt and that's awesome And right now our current guinea pigs are connects and L4 So now we're actually trying to do an integration to see how well this works And once it works everyone here can try it out And of course if you want to find more information about it our client information is on and you know MP MP JS and everything's open source So you can just look at this repo and you can see exactly how Pisa works today, you know and try it locally amongst yourselves Now as Pisa a boring tedious and hard project Actually Pisa is a high availability Reliability and fault-tolerant project What do I mean by that? So if you're a dub developer and You got to guarantee transactions for your users get in the blockchain What you've got to worry about is bumping the feed during congestion You've got to worry about managing the balance of multiple hotwalls to pay for gas Managing dependent and chain transactions handling block reorgs and hard forks Detecting these emitted events taking data from it and using that as part of the response And one really good example of this was defi saver You know if you combine if you pick two or more of the above it becomes non-trivial so defi Siaver had a chain transaction, but in the chain the first transaction had a low fee It had a low fee and it didn't get in which meant the other transactions also didn't get in So this is actually a non-trivial problem to build and actually most projects have to do this Which sort of sucks it's taking us four or five months to get an alpha version that we're sort of comfortable with If we expected you know every team to replicate this you've already lost four or five months of engineering time So that's exactly why I think Pisa is useful for most dub developers And what about the future of Pisa? What I really want to build is a watching pool Okay, so typically when people think about these watching networks every all the watchers are in competition We're actually you could have a pool. We have this non-trusted coordinator You know I send the job to the Pisa server the Pisa server will send the job to each watcher If we get care to van watchers are green we get a fully signed receipt then the sign receipt goes out to the customer So actually all the watchers are watching each other's backs. So at least as you know, we know our service gets dust Hopefully one remains online. That's also the motivation for n-label programming. They avoid critical bugs Now what about the security clutter lock up a lot of people asking about this Now one of the main criticisms of Pisa is that we may have the lock up 50k dollars They're really sure that we have skin in the game What's nice is that we can outsource that other people can donate the money on our behalf and they're sort of betting on our Reputation that we won't get slashed and by betting on our reputation. You get a share of that revenue And we can also just lock it up a maker and compound then use that money They earn interest as well. This is actually quite nice. You know the money doesn't go to waste. There's a real store of value Now I just want to finish for my takeaway message of all of this, you know talk What makes cryptocurrency so great, you know, why are we all excited about it from my perspective? What makes cryptocurrency so great is that everything is publicly verifiable and we have a set of you know We have a decentralized set of validators unknown in the world can validate blocks in real time if you're validating a block You can you know hold the miners accountable you validate it and you accept it or you reject it if the miners cheat You just reject the block and what you're actually doing is holding the block producers Financially accountable if they produce Bob blocks, and that's really cool So I guess my motivation for the past few years and what we're trying to now build a pizza is let's bring financial accountability to every single online service Starting with you know third-party broadcast networks. We're building this you know financially accountable third-party And this is what everyone in this room should be aiming towards as well. We should be building services such that They've you know the terms of the you know service level agreement or easily enforceable and verifiable We should not blindly trust third parties. We should verify everything they do and If the third parties deviate from the protocol or if they cheat we should have an ability the issue punishments You know they make sure we hold them financially accountable and that's actually what makes cryptocurrency so great You know that's the tosses real vision of why he built this entire system So that's basically the end of this talk You know our goal is to build this financially accountable third-party broadcasting network Hopefully people here realized I did not talk about off-chain protocols whatsoever. It's generally useful for most smart contracts And that's hopefully we're going to be I mean there's an alpha version running already And hopefully the API will be publicly available very soon


The Last Buccaneer by Thomas Babington McCulley Red for LibriVox.org by Barbara Clements The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes aflame brought the ship without a name, alongside the last buccaneer. What's flies your sloopful sail before, so fierce a gale, when all others drive bare on the seas? They come ye from the shore of the holy Salvador, or the gulf of the rich caribis? From a shore no search hath found, from a gulf no line can sound, without rudder or needle we steer. Above, below, our bark dies the sea-fowl on the shark, as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape de Verde a loud crash and a louder roar, and to-morrow shall the deep, with a heavy moaning, sweep the corpses and the wreck to shore. The stately ship of Clyde securely now may ride, in the breath of the citrine's shades, and Severin's towering mast securely now flies fast through the sea of the balmy trades. From St. George's Wealthy Port, from Havana's Royal Fort, the seaman goes forth without fear, for since that stormy night not a mortal hath had sight of the flag of the last buccaneer. The last buccaneer by Thomas Babington Macaulay, read for LibriVox.org by David Lawrence. The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes of flame brought the ship without a name, alongside the last buccaneer. Winds flies your sloop full sail, before so fierce a gale, when all others drive bare on the seas, say, come ye from the shore of the Holy Salvador, or the gulf of the rich caribese. From a shore no search is found, from a gulf no line can sound, without rudder or needle we steer, above below our bark dies a sea-fowl and the shark as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape de Verde a loud crash and a louder roar, and to-morrow shall the deep, with a heavy moaning, sleep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride, in the breath of the citron shades, and Severin's towering mast securely now flies fast through the sea of the balmy trades. From St. Jago's wealthy port, from Havana's royal fort, the seamen goes forth without fear, for since that stormy night not a mortal half had sight of the flag of the last buccaneer. End of poem. This recording is in the public domain. The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes of flame bought the ship without a name, alongside the last buccaneer.  Say, come ye from the shore of the holy Salvador, or the gulf of the rich Caribbeans. From ashore no search hath found, from a gulf no line can sound, without rudder or needle we steer, above, below our bark dies the sea-fowl and the shark, as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape Diverd a loud crash and a louder roar, and tomorrow shall the deep with the heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breath of the citron shades, and seven-stowering mast securely now flies fast through the sea of the balmy trades. From St. Jago's wealthy port, from Havana's royal fort, the seaman goes forth without fear. For since that stormy night, not a mortal man hath sight of the flag of the last buccaneer. As black and drear, when the crew with the eyes of flame brought the ship without a name, alongside the last buccaneer, whence flies your sloop full sail before so fierce a gale, when all others drive bare on the seas. Say, come ye from the shore of the holy Salvador, or the gulf of the rich caribis. From a shore no search hath found, from a gulf no line can sound without rudder or needle we steer. Above below our bark dies the sea fowl and the shark as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape Diverd, a loud crash and a louder roar, and tomorrow shall the deep with a heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breath of the citron shades, and seven-stowering mast securely now flies fast through the sea of the balmy trades. From St. Diego's wealthy port, from Havana's royal fort, the seaman goes forth without fear, for since that stormy night not a mortal hath had sight of the flag of the last buccaneer. End of poem. This recording is in the public domain. The Last Buccaneer, by Thomas Babington Macaulay, read for LibriVox.org by Mark Smith of Simpsonville, South Carolina. The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes of flame brought the ship without a name alongside the last buccaneer. Whence flies your sloop full sail before Sophia Sagail, when all others drive bare on the seas? Say, come ye from the shore of the holy Salvador, or the gulf of the rich caribis? From a shore no search hath found, from a gulf no line can sound, without rudder or needle we steer. Above below our bark dies the sea-fowl and the shark as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape De Verde a loud crash and a louder roar, and to-morrow shall the deep with a heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breath of the citron shades, and Severn's towering mast securely now flies fast through the sea of the balmy trades. From San Diego's wealthy port, from Havana's royal fort, the seaman goes forth without fear. For since that stormy night, not a mortal hath had sight of the flag of the last buccaneer. The last buccaneer by Thomas Babington Macaulay The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes aflame brought the ship without a name, alongside the last buccaneer. Winds flies your sloop full sail before so fierce a gale, when all others drive bare on the seas, say, come ye from the shore of the holy Salvador, or the gulf of the rich caribies. From ashore no search hath found, from a gulf no line can sound, without rudder or needle we steer. Above, below our bark, dyes the seafowl and the shark, as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape de Verde a loud crash and a louder roar, and tomorrow shall the deep with a heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breadth of the citron shades, and seven's towering mast securely now flies fast through the sea of the balmy trades. From St. Jago's wealthy port, from Havana's royal fort, the seaman goes forth without fear. For since that stormy night, not a mortal hath had sight of the flag of the last buccaneer. End of poem. This recording is in the public domain. The Last Buccaneer by Thomas Bavington McCawley, read for LibriVox.org by Sean Michael Hogan, St. John's, Newfoundland, Canada. The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes of flame brought the ship without a name alongside the last buccaneer. Quince flies your sloopful sail before so fierce a gale, when all others drive bare on the seas. Say, come ye from the shore of the Holy Salvador, or the gulf of the rich caribis. From a shore no search hath found, from a gulf no line can sound, without rudder or needle we steer. Above, below, our bark dies the sea fowl and the shark, as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape De Verde, a loud crash and a louder roar, and tomorrow shall the deep with a heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breath of the citron shades, and Severn's towering mast securely now flies fast through the sea of the balmy trades. From St. Yago's wealthy port, from Havana's royal fort, the seaman goes forth without fear, for since that stormy night not a mortal hath had sight of the flag of the last buccaneer. End of poem. This recording is in the public domain. The Last Buccaneer by Thomas Babington Macaulay, read for LibriVox.org by Trisha G. The winds were yelling, the waves were swelling, the sky was black and drear, when the crew with eyes of flame brought the ship without a name alongside the last buccaneer.  Say, come ye from the shore of the holy Salvador, or the gulf of the rich carabes? From a shore no search hath found, from a gulf no line can sound, without rudder or needle we steer. Above, below our bark, dies the sea-fowl and the shark, as we fly by the last buccaneer. Tonight there shall be heard on the rocks of Cape Divered a loud crash and a louder roar, and tomorrow shall the deep with a heavy moaning sweep the corpses and wreck to the shore. The stately ship of Clyde securely now may ride in the breath of the citron shades, and Severn's towering mast securely now flies fast through the sea of the balmy trades. From St. Yago's wealthy port, from Havana's royal fort, the seaman goes forth without fear, for since that stormy night not a mortal hath had sight of the flag of the last buccaneer. End of poem, this recording is in the public domain.


But you guys gave her permission to go in, deal with your father. And then after that, years go by, she finds herself in a way. It was supposed to be a voice. Just a voice. Just a voice. That's what it was supposed to be. I don't know how she did the video thing, but it was supposed to be. Wow. So nobody was in there making sure she was doing what she was said she was supposed to do. Man, I don't know how that happened. I don't know if she had a secret camera or she set it up so that they would let it do it. But it wasn't agreed upon. That wasn't part of our deal. So that was like some lowdown stuff out the gate. Yeah, we on Boss Talk 101. Man, you know, I am I seen your last interview with you and Jay Prince. And it was a good interview, actually. But after I seen it, I mean, I was I was watching, you know, you, you just basically, you know, they were asking a lot of good questions on million dollars worth of game. Right. And I was like, man, you know, a good interview. But then, fast forward, I see Wack 100 come on a show. Yeah. And I think y'all was you may have been on that same show as well. Or or or either Jay Prince had me. I'm trying to figure out this show in California. No, was it in California? It was another show that he was on. And I don't remember the name of it. I hate that because I always shot people out. It was it must have been Dub, C&C. That's who it was. Yeah. So when he when he was on that show, Wack 100 said he basically was like that Jay was trying to influence negativity somewhat on Larry, who was legacy and he didn't want him to get out. He flipped it on that he flipped the whole scenario. I really think and believe wholeheartedly. That Jay Prince whole mission. Is to somehow some way in a slick snake way is to set it up so Larry Hoover cannot get out of prison. Oh, hell, I disagree with that whole. Oh, no. It's just very interesting. So I'm trying to figure out how how does how do we get to that point? You know what I mean? Like, like, how do we get to a point where you guys were because it was some kind of it was a lady that has some kind of film documentation on your father, right, a video. Maybe right. She interviewed him. Mm hmm. Um, did you seek to get the interview or something? Why does this come up after all this time? I got to ask this. Yeah, it was a lady that was working for us at one point. Oh, she was working with you guys. Yeah, OK, with me and my mother. She would have never talked to my father if it was. That's what I would think. My mother vouching for her to go talk to my father.  He talked to her because of the relationship they had. And she had the information. Well, we the stuff it never materialized with what we were trying to do with it. And the lady disappeared over the years. And OK, because when you guys first and that's what I was trying to get at, because I know I was interested in understanding when you guys first let her go in and do this. What were we trying to accomplish in doing this? At that time, I think we were trying to do a book or a documentary type situation. You know, we're trying to show who my father was, tell the story. OK, you know. So and when this thing unfolds, it evidently didn't come to fruition. No, it didn't come to fruition. And she never turned over the stuff that she had. And she, you know, she was gone. And years later, I reached out to her when we were trying to work on a part package. And I needed some of the footage so we can show human as my father, show who he was. And she wanted to know who was going to get paid or how was she going to get paid for this footage? Oh, it's all about the money. Right. But she was at that time. She was working with the family when she did it. Like we're going to do a documentary.  But years later, when we need some of this footage, it's like who's going to get paid for it. So after that, after we were dealing with Kanye, and, you know, he tried to get the footage for us. And I think they wanted too much money. So he, you know, it was going back and forth or something. So correct. So I ended up talking to Jay and they didn't like the offer. Jay Gay, they didn't counter offer. They just came back with the fact that, like, get out the way. If you if somebody lowball you on the offer in business, you go on. You come back, right? Yeah. They they say, oh, no, it's not happening. And that case, they weren't they weren't interested in the first place. They were just entertaining the idea. They but when you when you think about it, they see an opportunity, though. People are opportunists, to be honest with you. So it ends up being a situation where she's, you know, basically she has like we have. We have a lot of footage of different people. It was another it was opportunity. It was like the Rick Ross put his name out there. The big concert with Kanye and Drake put his name. There it is name back in the world like that. And oh, well, here's how I'm going to get my money because now he's popping in this footage is worth something. Yeah. And basically you end up being it's like you guys are just basically people are using you and really you don't benefit from it. When people do that, they ain't like they come into you say, hey, man, can we do this? They just take and do it. You know what I mean? And so on the documentary to get back to that because I went back to Rick for a minute, but Rick Ross. But I'm just thinking about how it helps. I mean, like I can say somebody's name, but like on the song, you got to get clearance to do certain things and things when you do things. So there are boundaries and things that you have to deal with. But you guys gave her permission to go in, deal with your father. And then after that, years go by, she finds herself in a way. It was supposed to be a voice. Just a voice. Just a voice. That's what it was supposed to be. I don't know how she did the video thing, but it was supposed to be. Wow. So nobody was in there making sure she was doing what she was said she was supposed to do. Man, I don't know how that happened. I don't know if she had a secret camera or she set it up so that they would let her do it. But it wasn't agreed upon. That wasn't part of our deal. So that was like some lowdown stuff out the gate. Wow. Yeah. So. So couldn't you just take her to court and just get the tape because that wasn't in the agreement? I mean, we'd not go talk about all that. So yeah, that made that. I mean, that sounds like the sensible thing to do. But you still got to deal with regardless. You got to deal with being portrayed a certain type of way. And, you know, some some questions got to be answered without without truth. Lies become true. So sometimes you have to put some truth out there. People like to the lies better. They're more entertaining a lot of times. You know that. Yeah, they do. I mean, that's the sad part, but it's the truth. That's why I'm born. Because you tell the truth because I get it. So what what do you think that like, like, do you think that you and Jay's like, I think to me it comes off as a thing that puts an eye on the fact of things that are not being spoken on if you and Jay wasn't going out doing the podcast, talking to the people, you know what I mean? Do you think that affected in a negative way or positive way? I mean, it kind of just lets the world know that. Who he is. Yeah, it lets the world know what my father is, but it also just lets the world know that, you know, so the podcast that we did with Jay for one, we fighting for my father's life. Correct. That's what it's about. And for two, just to shed a light on what's going on, just so it can be known. So people would know before they take part in a situation like this is not an upfront situation like this is not really with the acceptance of the family.  Oh, I don't need them. I'm going to do whatever. Yeah. So it's like, all right. Well, we want y'all to know that it possibly could be an issue. And when I say issue, I mean, with lawyers and all that stuff, I wanted to be misunderstood. Right. No, I get it. You have to clarify yourself nowadays. Yeah, I do because they're taking another way. But, you know, that it could possibly possibly be an issue if you do business with this, because the family didn't agree upon this. Correct. Correct. And I mean, I heard I heard Jay Prince on the interview. He wasn't he definitely wasn't holding back when it come down to WAC 100 and the position he held with, you know, what he what he yields far as in his eyes for what he's doing. I put it in that way, you know, all the culture. I'm a nigga that stand for the culture. You know what I mean? I love the hip hop culture. You know, I put in a lot of work where the hip hop culture is concerned. Blazer Trail. You know what I mean?     You know what I mean?   And just to see the back and forth, you know, with the brothers, I'd be like, man, I hate it's like this, but I understand if you make a wrong move because I didn't really know how he played part in it, really, to be honest with you. But the lady from what he's saying is she wretched out to him. I guess to get him to somewhat combat what she might be facing. But at the end of the day, your your father's legacy for his him trying to help bring the people together. That's the thing that you guys are pretty much showing. Hey, man, this guy is seventy seven seventy one. Yeah, seventy one years old to this year. Be seventy two this year. He's not a threat and he has an opportunity that he could be released.