{"id":"KdJvWcdrkRk","title":"Daml 2.0 Webinar - Canton Deep Dive","description":"📚Check out Daml Learning Center: https://bit.ly/LearnDaml\n📮Join our forum and get started: https://bit.ly/tryDaml\n\nDigital Asset announced the general availability of Daml 2.0, the newest version of Digital Asset’s multi-party application platform. This version makes it easier than ever to build and deploy best-in-class, multi-party applications. Daml 2.0 includes Canton, a privacy-enabled distributed ledger that is enhanced when deployed with complementary blockchains. Canton ensures strong privacy and compliance — unique among multi-party systems — while synchronizing transactions across any supported blockchain or database. For example, a Daml asset can now be safely delivered on Hyperledger Besu while the payment can be made using a different Daml asset on Hyperledger Fabric, in a single, atomic transaction.\n\nToday, businesses are increasingly using multi-party applications to drive efficiency and innovation by automating processes and delivering new products and services. However, the lack of reliable privacy protecting platforms means that multi-party applications too often languish in the proof-of-concept phase or fall behind a walled garden — a siloed blockchain implementation with limited reach. Additional challenges exist when connecting these applications that run on different blockchains or databases, requiring complex workarounds that introduce risk and issues with data consistency and privacy. Consequently, businesses have been unable to realize the full potential of blockchain, distributed ledger technologies, and the multi-party applications that can create novel products and experiences.","channel_name":"Daml","published_at":"2022-04-14T00:00:00.000Z","thumbnail_url":"https://i.ytimg.com/vi/KdJvWcdrkRk/hqdefault.jpg","transcript_text":"hi everybody welcome to our a very special webinar we we hope that this is one of many webinars that we will do as we introduce uh the latest and shiniest uh products that we are working on and we we are very excited to share them with you so this is not the uh the only you know time that we'll get together and talk about uh the wonderful things that digital asset is uh creating and and we want to hear from you as well so today we have carved out um you know an hour an hour and a half to uh have uh uh two of my favorite um colleagues uh jump in and talk about uh our latest uh uh introduction to the to the demo family canton canton and demo 2.0 so we have uh i am stifl i am a uh developer advocate for the company and we have david richards who is a principal product manager for demo and curtis rischchuck who is also a product manager technical product manager from canton so they are they were deep into the woods to make sure that this becomes a reality and they were the two best people i could find so let's not waste any time and uh david shall we start with you and we'll take it away and when we are towards the end of the presentation we will open it up for q a and you've obviously found out that you cannot um get on a video or or speak but we would love for you to put in your questions and we have someone and myself will be parsing through the questions and and getting to them as as much as we can and if we run out of time we will find a way to get those answers to you and if you do not want to ask them live uh do go to our forum uh and you can find it at digitalasset.com developers and you'll find a way to our forum and that's where you can post your questions where we will get to them as well so david without further ado or yours thank you steve much appreciated so as steve said my name's david richards i'm a product manager principal product manager here at digital asset and i'll be taking you through the first first half of the presentation i'm focusing on demo 2.0 the release that we had in in march some of the high level um views so some of the high level things that we've released and then curtis my colleague will take you through canton and the details of that the differences and impacts that's made on on on demo so as i said download 2.0 was released on the 2nd of march so we're over a month after after its release um and if you can't tell we're very excited about it it's been a landmark release for us and for our customers and so as i said in this session we'll go over the release um how how damol is improved um by this 2.0 release and especially with regard to canton and as with all major and minor releases we've included details in the release notes um so please go there they've obviously been published since the 2nd of march that will have a lot of the detail in there you can see the url on screen there or you can alternatively go to the digital asset website and navigate to them using the uh developers blog in the top nav so that will give you a lot of details in this presentation we'll cover the high level things some of the things that you should care about as a developer that will impact you in using demo 2.0 so let's take a look about what we learn about in this webinar so first we'll start with an overview of download 2.0 release canton as i said is the biggest improvement in this release and we'll give you an overview of other updates that we've made why we've made them and how these changes are helping us achieve our overall goal and mission then um we'll we'll look at other changes some in a little more detail on how they've impacted and then we'll look at canton and as i said my my colleague curtis will take you through through canton you know the impact that it's made what it is why we're including it into them on how it works so that section will be great for those of you who up to this point aren't familiar with canton maybe you haven't followed the story that digital assets been on the journey that we've been on after over the past couple years in developing this and it should help you understand why we're including it into the product and how it improves down as steve said feel free to ask questions as we go in the chat or other means and they will then pull them through to us so to really understand daniel 2.9 the release that we've made here um you need to understand um a little bit about where demo is now so damn has always been about creating multi-party applications we built a smart contract platform which provides our customers with the ability of writing smart contract um smart contracts in lightning fast time especially compared to older models and we do this by focusing on the business logic and having confidence in the security and synchronicity of the data across organizations so we've done this really with four main points data ownership ensuring that data ownership and the rules surrounding that data are clear of who owns which data and which data is shared second of all the interactions between parties when working with that data are strongly permissioned and they're really at the core of the tamil language and thirdly data and processes are shared on a strict need to know basis so for example party b can't learn about party a's exclusive data and processes and vice versa and lastly ensuring that it's fault tolerant so parties can't falsify each other's records either through fault or malicious behavior and so really excuse me all of this has given us a great foundation to build on for achieving our goal of the global economic network that we're aiming for um and has achieved and really given us the the ability to really stumble 2.0 with confidence so the demo one 1.0 smart contract framework as i said with direct integrations often offered secure synchronizations and data integrity but it didn't give us privacy or security against ledger operators so customers could have confidence in the security and privacy of the data from an application level and definitely those using the applications and between parties collaborating on contracts however there was still a risk of data being seen by parties operating the ledger or those who owned and operated the systems running that ledger so for example a cloud hosting company and in the case of a postgres postgres storage layout and a monolith architecture um that was the owner of the database they could look in and see the data in the tables and where where they whether they were involved in those transactions or not in the case of a hyperledger fabric architecture and everyone on the same channel could see all of the transactions between any party again whether they were involved in those transactions or not and so with the addition of canton in daniel 2.0 it has sophistication around the way that we integrate demo with underlying ledgers using message encryption canton provides a model that extends a sub-transaction level and distributes data only to entitled stakeholders and so download 2.0 ensures full transaction privacy without trading off security or consistency and it enables full compliance with with data regulations such as gdpr and so i'll i'll talk a little bit more about the driver differences here but again curtis will go into this a lot more um detail later um so these additions in double 2.0 really opens the door to even stronger fault tolerance and prepares us for the future of damon now as we work towards the future of damo we'll be looking towards open business networks continuing to lay the foundation the technical foundation for the global economic network with fault tolerance and its interoperability providing you with full confidence in opening up your networks and contributing and benefiting from the global economic network and so that takes me nicely to the company's overall objective here and it is to create a global economic network of seamlessly connected businesses so if you're not familiar with it this is our company goal and up until this point many of our customers have built excuse me critically important applications on on on 1.0 however we want to offer our customers the ability to participate in and build on top of the global economic network that has been the primary objective in building canton and now including it into the product demo 2.0 so this is and has been and will be the guiding theme for our product roadmap going forwards as the features in demo 2.0 and in this release um in the in releases in the coming years will allow customers to grow a net a network of applications which can grow together and so in summary this landmark release the majority of what we're doing in 2.0 release for example integrating canton into the product is nearing us to achieving this mission and objective so now now we've understood the goal and i've understand understood where where digital asset and changes in double download um specifically relevant to you as the developer audience so i'll talk about these in a bit more detail later but this is a high level over a sales slide if you wish about the most important changes in denmark 2.0 so as i said multiple times first of all on the left-hand side firstly damol is including canton into the product and this is the biggest change in this release so digital asset we've been working on canton for a number of years and demo will now ship with canton participant and and use the canton protocol to communicate between the synchronization layer now if that didn't make much sense to you in terms of the canton participant the canton protocol things like that curtis will clear all of that up um later in the session secondly we've made some changes in development tooling so this is geared all geared towards developing applications for canton canton's being used as the sandbox environment so there's some changes in how you develop against it and configure the environment moving on to the third box here the primary change here is how party ids are generated they're now dynamic instead of user defined and to help with that and help solve other problems we've added the new functionality called user management and it makes it easier to manage granting and revoking revoking permissions for users and finally we've delivered a feature called participant metering which allows users to understand and report a number of ledger events they're using their systems so with the adoption of canton we'll gain the benefit of drastically improving our drivers so we're calling this new generation of drivers our count on enabled drivers at a high level that means they're not limited by or reliant on the capabilities of the underlying blockchain or database that customers choose to use with demo and so with these changes canton also becomes a ledger in and of its own right and it's a privacy-enabled distributed ledger that's enhanced when deployed with complementary blockchains and so canton as i said will be covered by uh by curtis a little bit later but i wanted to go into the high level differences of these drivers the first generation drivers and the canton enabled drivers so in the first generation we use the underlying blockchain or database as the primary storage however in canton-enabled drivers the underlying blockchain of database is used for messaging sequencing and topology only so the primary storage of the transactions happens in the node of each participant making sure that they only hold the information on the transactions for which they are involved and this helps in solving that privacy issue that i spoke about at the start where you know owners of the the participants or owners of the the domains can look in and see what's going on there here the the it's only the operators of the participants those are only the participants who can see the details of those transactions not of the domain owner also in the first generation driver um demo transactions were stored as plain data on the underlying blockchain database and if customers wanted cryptographic security the demo had to rely on the underlying blockchain system for that with canton enabled drivers damol has demo native cryptography meaning the message payloads are fully encrypted in the participant giving full privacy independent of the driver and then finally in the first generation demo drivers there was tight integration between damol and the underlying storage and with canton enabled drivers we've got a uniform protocol in what is known as the canton protocol between drivers and participants making them a lot less tightly integrated and so all of this as to demo 2.0 being less dependent on the underlying blockchain or database now moving on to the developer tooling and experience um so the first important change in developer experience here is that the sandbox now uses the count on ledger implementation so for those of you who know may be new to daniel or not familiar with it the demo sun box is a component of the the sdk which allows developers to test their applications against a simulated ledger so a simulated demo ledger so the sandbox is a really a simple ledger implementation which runs in memory storage and is thrown away when the sandbox is closed down and so the commands demo start and demo sunbox for those who who are a little more familiar with it who are um have heard of that before will launch a count-on test ledger and having a canton test ledger used when the sun when starting the sunblocks is important because in demo 2.0 a canton ledger is used in production and therefore we're keeping the production and development environments as similar as possible and this should incentivize you guys um you know as developers to adopt good practices when creating demo applications which should then make transitioning between development and production environments much much smoother as there's a lot less to change or next to nothing if you do it right to change between between development and production another major change um with count on ledges is the parties i p party i difference ids are different to those used in daniel um previously so they have a user identifier a user find hint at the start within a randomly generated hash at the end and they're separated by by two uh two colons and so this is to maintain uniqueness in a globally distributed network and so the hash is randomly generated and they're generated at the start of each sandbox which means that party ids can't be hard coded into applications so again this makes development a little bit more difficult but it aligns it much closer with development and production and so but also the the new feature of user management which we'll talk about in the next slide also makes handling the dynamic generated party ids much easier and finally canton's static configuration is defined by hawk on or what's also known as type safe configuration files so details on on how canton ledges and domains can be configured as in in documentation we won't go into that in detail here um but the files the configuration files can be loaded when starting the sandbox either in the the cli or you can load that into the demo yaml file okay so now moving on to to user management so first let's look at why we um implemented this so firstly before this feature users were mapped to demo roles or demo parties in each implementation each customer's i am service which could could potentially be difficult to do also iambs like many systems that run in any organization any enterprise they don't often tend to be under control as the same people yourselves developers who are maybe setting up the demo participant nodes as the people who own those iam systems and that you need to connect with so it could make it difficult you have to talk to a number of people in your organization to get those roles and things set up and roles such as read as an actors are often assigned in json web tokens also known as job tokens and they have a limit really is how much data can can be put into them which also meant there was a limit as to how many readers or act as parties they could contain and we we saw an upper limit of around 100 parties per token and so instances where they wanted users to be able to applications to read as and act as more parties then that became a little problematic so at a high high level user management allows customers to map parties and party users to party rights on the demo ledger so or inside of damo and it's not held on the demo ledger it's had on on the participant of each on the participant layer of each participant you can so you can do it inside of demo instead of having the iam and so what really i expect you developer who to use these newly created users for individuals or applications and then map those to the parties um that they can read as in demo such as you know end users or maybe job titles or team names or company names so that as people move around in your organization then it's not tied to any individual and people in certain organizations for example applications there can have the same reader read as an act as rights and so user management also allows you to sign more than 100 act as already as parties so more information that could be held in the chat previously um and you can revoke and add um rights much quicker from the console rather than having to wait for a ticket to expire for example and so these user management or in fact user management adheres to the standard jwt the jdp standard and users are registered claims defined in the jdbc standard to maximize im compatibility and doesn't use custom claims like the previous jot tokens so older jot tokens are still supported and therefore participant operators um controlling the i am can still issue tokens um on the old format and they can continue to work with with download as they did previously however if you wanted to use now the uh the user management then you would use the jdbt standard token format and that would be passed through to the user management feature okay um so what specifically can you do in user management what are some of the the rules and rights and obligations so first user management can be controlled from either command line or from the json api and you can obviously create and delete users and buy and you can also assign primary parties to that um to that user which means that they can act as and read as by default that primary party that they have then administrators of the participant can grant and revoke rights to users so rights consist of one of three things or um or all three they can be made an administrator so in turn that user can then go on and change the the rights of others and they can have an act as and read as party assigned to them and also the maximum i believe there's a maximum of around a thousand ranked thousand readers parties so tenfold increase from the previous um previous method um and then we have commands where you can list users um which will give you the user user id and primary party for all parties and what participant and so get get authenticated user information and get specific user information as commands and they will list the user id and primary party for authentic for the authenticated user a current user or for the the specified user request so if you give it the user id of a party it will give you that information back for them and as you'd expect list authenticated user rights and list specific user rights will then give you the user rights of the authenticated user or for a specific user that you request and then on the right hand side of the page here i've just given you an example you can find a number of these in our documentation um where you can list users and then i've given you the the full list on the bottom right again you can find the rest of these in in the user management section of the documentation okay now on to the navigator so as a result mainly of these party ids and how how they uh they display there's a few changes to the navigator real simple for those of you aren't familiar with it um the demo navigator is a front-end application that you can use to connect to any demo ledger and you can use it to inspect and modify the ledger using a graphical interface and so it's primarily use really is that we see you guys down the developers using it to explore the flow and implicate implementation of demo models and so excuse me when the double when the navigator loads there will continue to be a drop down for login however by default it will show you users instead of parties um so it previously showed you parties um in in in by default in that drop down to login us um once you log in as a user you'll act as a read as the primary party of those users and then users are set to using the demo script commands that you can you can choose to you work with parties directly instead of users in the navigator defining them in the demo yaml file and so if you define users um there then if you don't define any users in damage switch to using parties by default um and as i said previously how that the party ids encounter dynamically jammer generated and they have a big long hash it makes really party ideas impossible to guess or difficult and to remember and definitely ugly to print and display so to overcome that we've put a simple feature into the navigator first a few simple features firstly um we'll try to auto complete parties so as you start typing the the user defined part of that that id um then the the screenshot in the middle of the screen shows if you type in bob there then it will show you what the rest of the party ideas so you can easily find it in the navigator there and then the final one is if you see a party id and we will display the first so many characters and then you can click on it to copy that to your to your um your copy board on on your system now one last section before i open up to any more questions um i just want to point out with any new release of damo we always aim to maintain high stability and ensure backwards compatibility with previous versions and so with download 2.0 even though it being a major release um excuse me we've aimed to maintain this mantra and to really reduce the the migration and impact between gamma scheming 1.0 and 2.0 we've really kept the impact at a minimum in migrating from one version to the other at a high level we expect most projects to compile unchanged between versions from demo 1.x to 2.0 and projects should also run unchanged largely run and changed on download 2.0 ledgers some other points worth making here is that we've removed four relevant the developer experience removed support for the scala bindings and scenarios we've also updated to java 11 and we've removed old mlf versions and so um and also i mentioned about the new feature called participant metering and so part of damol's charging model has always been based on the number of events on the ledger um and a feature for customers to be able to understand how many events is being passed through their ledger um and also send that information to da has been added any information about that can be found in the documentation um and again there's other things that i haven't gone into detail here just small changes that have been made as we do with any release regardless of whether it's a minor or a major release and so again i've put the link to the release notes here where you can go find those on the on the demo website the digital asset website um and you can read those in any detail any questions reach out to any of us um after the school happy to to answer questions there so before i pass over to curtis and maybe while curtis takes over the screen and shares his screen um any questions steve or anyone else that we've had on the panel we have a lot of great questions but i think we can we can hold them until after uh curtis's section because i think he may he may answer quite a few of them would that be good that's perfectly fine with me keep those questions coming everyone thank you okay dave could you please um stop sharing and i will take over absolutely okay i'm assuming that everybody can see my screen thumb thumbs up if anybody can see it okay cool um so i'm the principal product manager for canton and so i'm obviously very happy to talk to you about canton i'd also like to thank you for taking the time out of your busy schedule to talk about this but um why can't why do we need another distributed ledger why not just run dhamma on the bare metal blockchain you know what makes canton special we'll look into these questions uh just sort of going back to one of the first slides that david presented we're going to go back to why do we need damo anyway and we talk about four dimensions to be able to use demo to do the secure synchronization right just a quick refresh firstly demo is concerned with data ownership we want to make explicit who can see or change a piece of data while making sure that data is in the right place for those data owners we don't want little pieces of data floating around it's also strongly permission right if you have cologne data between two organizations you need to have processes to change and govern that data between those co-owners and this is a core requirement for smart contracts the third one is high privacy and this means that data is shared only on a need to know basis and this is needed for all enterprise applications and the fourth dimension is where blockchain technology is very helpful because it enables the trustless fault tolerant and multi-party environments and most distributed ledger technologies offer you three out of four of these but our claim is that no system offers a high privacy which is the main differentiator for canton high privacy is canton's super power and privacy you know you don't really think about it that much until you have to it's sometimes overlooked on day one but it quickly surfaces as a day to concern when the security team talks to you and privacy is the basis for data security and we want all our data to be secure and we believe that privacy is absolutely critical to every enterprise application that is on distributed ledger technology now that's pretty abstract let's make this a little more concrete we'll use this example further on so you just might want to take a peek at it so we're going to make this concrete by using this example of a simple use case of delivery versus payment dvp which is an atomic swap of assets we have alice and we have bob and they want to do an atomic exchange where alice pays bob 100 for the promise of delivering a widget now the two parties that are involved here aside from alice and bob there's the bank which is used to do the cash flow transaction cash exchange and we have the factory which is intended to do the exchange for that widget now what we don't want is we don't want the bank or the factory to know about each other but of course alice and bob can see this our our position is that none of the existing blockchains out there enable this level of privacy most blockchains talk about privacy and they talk about the notion of a channel a group or a subnet where you shard your system into smaller groups or components but all the members within that group still see everything so you don't get that needed privacy between parties and the transaction so in our example alice bob the bank and the factory would see everything you then have some distributed ledger technology systems that try to solve this transaction level privacy where they drag asset histories with them to guarantee the ledger consistency but you still don't get that privacy in the transaction everyone in the transaction can see all the steps in the transaction and that is obviously unacceptable then we have the zero knowledge proofs and quite simply zero knowledge proofs are currently intractable for smart contracts they're useful in practice but simple token but really useful for simple token use cases on public chains and so someone asked what is canton well canton enables damo's full sub transaction privacy without trading off security or consistency and so we don't see any alternative in the dlt space for this sort of privacy that's why we're building counts on and this sub transaction privacy it has some happy side effects one of those side effects is scalability is possible since the data is just not broadcasted everywhere it also allows larger applications to be composed with smaller applications forming larger transactions from sub transactions so what is canton canton is a privacy enabled it's a distributed ledger and a ledger protocol that is enhanced and deployed with complementary blockchain so we talk about canton in two ways you talk about it as a distributed ledger we talk about it as a ledger protocol we'll see both of those we have here is the complete demo2o solution stack it's a simplified view but you can see the coarse grained components as you can see canton makes up most of the application backend of the demo solution stack it fully implements the ledger api um and just just a side note in the pictures the out the items in blue are those things that are part of the daml solution stack canton does need the demo dar files for the application business logic it also interfaces with the external authentication provider which we'll discuss later and the client requests are made using the ledger api in a typical distributed ledger technology the users interact directly with the raw ledger canted complements this approach by adding participant nodes between the user and the ledger you may notice that no additional trust is needed as long as each user retains control of their participant node a helpful benefit of this approach is that the participant node eases the user's burden of managing the cryptographic information this simplicity enables the user to interact with the dlt just like they would any other web application in other words canton lowers the barrier to using dlt technology which increases your overall market for any dlt application and as we'll see next both the participant and the raw ledger nodes are involved in the kantham protocol a ledger node is perfectly suited to broadcasting information amongst all the other ledger nodes to ensure they're all synchronized that synchronization is important but this strength is also weakness since the message envelope and data payload are visible everywhere but the canton protocol utilizes the ledger's node synchronization ability while providing data privacy of the payload let's start our overview at a very high level imagine we have a content deployment with several participant nodes each node has local storage which is the no that node's view of the dammel ledger the nodes are all connected through a synchronization layer which acts as a total order guaranteed multicast system so essentially these nodes can broadcast messages in a totally ordered way so that each node receives the messages in the same order and then deterministically processes the messages in the same way this slide adds a little more detail by introducing the demo ledger api the canton protocol and the canton domain the participant node is the gateway into the canton protocol it exposes the demo ledger api and participant knows that where parties are hosted so they enforce the business rules in the uploaded dar files the participant node connects into what we call the canton domain which includes the synchronization layer through standardized apis we call the canton protocol you can think of the domain as a single demo ledger as part of the canton domain there are a couple of specialized nodes the canton topology manager node is about identity management it also makes sure that there is a central place where nodes and parties can register it guarantees that the participants have a consistent view of the entities and the parties and it acts as a directory service for the certificates and keys too the mediator note is about the aggregation of confirmations using cryptographic signatures you can think of it as a transaction manager and we'll discuss it more when we look at how the canton protocol works going down a little bit more we introduced one last type of node we call it the sequencer node one of our guiding principles is that that we want to make the canton protocol pluggable and thereby extensible and this is achieved using the specialized node that sits between every other node and this special node is the sequencer node a sequencer node is needed for any other node to connect into accounting domain so if we want to add another synchronization technology we don't need to rewrite the mediator topology manager etc we only need to provide a sequencer that adapts to that technology and what you see here is an example account and deployment you have a synchronization layer which is a database or a blockchain you have a bunch of sequencers that use that synchronization layer to collectively make the total order guaranteed multicast system then the participant node connects into that system and the participant nodes store their data locally in the private contract store but what about all that communication is it secure yes all messages passed between all nodes are encrypted when two nodes communicate with each other they will use asymmetric cryptography to encrypt messages and sign message contents such that only the recipient can decrypt the content and verify the authenticity of the message or prove the origin of a certain message in the next slide we'll have a concrete example provided for this synchronization layer a sql domain architecture presented here uses a sql database as a synchronization layer that was shown previously david started the presentation by talking about demo providing secure synchronization between parties here canton is using a sql database as a synchronization layer to complete a sql domain that satisfies three of those four dimensions namely strongly permission data ownership with high privacy for example there's a full security between the participant nodes each node has the ability to validate and reject the valid transactions using cryptographic security there's a high degree of security and privacy against the malicious sql sequencer the person operating the sql domain can fake entries in the ledger proper configuration of the database require provides some fault tolerance and now these are all many of the properties that people care about and this is a fairly easy deployment with the sequencer mediator and topology manager all bundled together to form a domain in a box to which all the participant nodes can connect the trade-off with the sql domain is that it is not completely trustless or fault tolerant for example you need to trust the operator of the sql domain because the operator can do things like switch off the database or turn off some communication channels if you want to get rid of those trade-offs then use a blockchain here the backend architecture suddenly shifts by introducing blockchain nodes each with its own blockchain sequencer so for each blockchain node there's an associated blockchain sequencer then each participant accesses the synchronization layer to their own entry point which means you no longer have that single point of trust or failure this increases the availability of the system for today the topology manager is still associated with one sequencer but we plan on distributing it in a fall tolerant way in the future now blockchain performance could be quite low which will of course limit the overall transaction throughput of the participants now the blockchain sequencer or the blockchain the sequencer node introduces a clear separation between the synchronization layer and kanton because only the sequencer node is seen by the blockchain node this means that the sequencer does not participate in the blockchain consensus algorithms smart contracts in demo are not converted into native contracts in distributed ledgers that is there's no data conversion between them on the blockchains demo templates coded in demo are not converted to chain code or solidity by code in the dlp and the parties allocated and participant nodes are represented in the participant node not in the blockchain yeah of course these things may be relaxed in the future to support new use cases but that's the current state of uh the affairs now the result is that the golden source of truth is always in the participant node well the the distributed ledger technology the synchronization there keeps all the encrypted messages passing through the nodes there's a separation of concerns there now i just want to give you a brief glimpse into how flexible the canton approach is here you see two different kinds of synchronization technologies you have blockchain for sql in a multi-organization deployment with many participating notes participant notes and you have two domains you have the equity domain and the bond domain now please notice that this third participant node has access to both domains simultaneously so that an application running in this participant node can create atomic transactions again atomic transactions involving both the equity and the bond domain i do want to mention that this multi-domain support is early access but we will progress with it very quickly so how does the canton protocol work we talked about canton being a distributed ledger and being a protocol we'll explain what we mean by protocol right now let's use the same example we talked about before the atomic swap so how does a transaction such as this one with multiple views from multiple entities actually work in the canton london well it always starts with one participant in this case alice she decides to submit the transaction to begin it this begins with her submitting a ledger api call to her node which we call a submitted node she is a submitter of the transaction her node does does a step we call interpreting the transaction where it takes the command the current state of the ledger and from that executes the demo code to figure out what the consequences of the resulting transaction are the transaction is decomposed into different sub-transaction views for the different parties because there are explicit notions of data ownership and data readership alice's node figures out that the whole transaction should be visible to alice and bob only one payment sub-transaction is visible to the bank and another sub-transaction should be visible with factory for shipping the widget alice's node takes those individual sub-transaction views and encrypts them using the public keys of the targeted receiving nodes the key information was retrieved from the domain's topology manager which we don't show here she encrypts the whole transaction pardon me she encrypts the whole transaction so that only alice and bob can read the whole transaction she encrypts one leg so that only the bank can read it and the other leg so only the factory can read it then she sends the whole bundle to the domain which you remember is a guaranteed total order multicast and each node will receive the sub transactions they are responsible for this means that the transaction the sub-transactions are sequenced to form a deterministic deterministic state of the system that is sent to all the nodes and all the involved nodes pick up these encrypted messages effectively at the same time using their private keys they decrypt their messages they record the transaction as in flight a pending transaction and they validate their part of the transaction each individual party looks at their part of the transaction and asks is this valid so for example the bank can ask the question is it valid for alice to transfer a hundred dollars to bob does alice have a hundred dollars in her account if the answer is yes then and the bank is fine with it then their part of the transaction will be confirmed and this check mark is that confirmation message being sent back to the domain each of these check marks represents confirmations being sent back to the domain these confirmations make their way to the mediator which is in the domain and the mediator as a transaction manager aggregates his confirmations and broadcasts the commit transaction back to the individual notes the reason to do it this way is we honor that strict need to know basis for the data so the factory and the bank are hidden from each other the bank doesn't need to see the confirmation of the factory and nor should the factory see the confirmation from the bank the commit transaction goes back to the nodes and since this is a total totally ordered guaranteed broadcast each node sees a commit confirmation at exactly the same point in the order of events on this ledger so there's now a consistent point in time in which every single node that is involved can say when that transaction is committed and this is how we guarantee global consistency the transaction is created once once that commit confirmation is received and the privacy we've achieved is that each of the participant nodes has a plain view of their part of the transaction at a global level of the ledger there is only message envelopes with encrypted payloads and so in that synchronization there you may be able to see the target of message but you cannot see into the payload because the payload is encrypted based on the key of that target so as long as you consider encrypted data to be private there is full privacy a similar synchronization mechanism is used to form domain topology transactions if a new node or new party is added to the canton domain a topology transaction ensures that these changes are visible to all participant nodes at the same time this is needed for deterministic processing the participant node will publish that local topology change to the topology manager and that topology manager will broadcast the updates to all participants that are in the domain including the participant that sent its local change this broadcast involves the sequencer so the change is seen by all nodes at the same time so how can canton deployed how can you deploy as you'll see canton is can be flexibly deployed for example all the canton parts the participant node the mediator the topology manager and the sequencer can run as a plug-in within a single canton application now you know you might have noticed at this point we've used this term node very loosely we haven't defined it and a node is not a bare metal server or virtual machine or container necessarily loosely defined a node is a software object that is specified in a canton configuration file as you see in the picture you can run as many nodes as you want in a single accounting application and this canton application is running on a single server and that's one extreme the other extreme is this deployment where each canton node is running on its own canton application and server in general it's a good security practice for each user or organization to be mapped to their own participant node so obviously there's a wide range of deployment options between these two extremes now the choice of the deployment topology depends on where you are in the development life cycle for example you can run a single memory back single participant domain on your laptop as a development sandbox you can incrementally add more detail and complexity for example here you can move to more production-like environment where some nodes run in their own canson application you have a sql domain that can be constructed and you can use multiple application instances connected to their own participant node and of course you can build this out into a blockchain domain for validation or staging and canton can also be deployed in a highly available way and high availability is a feature of the enterprise edition so you can expand into high availability deployment for late stage testing or production the participant knows if participant mediator nodes operate in an active passive mode the sequencer nodes operate in an active active mode and just the remaining high availability configuration follows a similar pattern as shown here for the sake of time we'll move on to the next topic but i did want to point out i i hope you noticed that these deployments can be built in a step-by-step fashion and this avoids a big bang integration late in the life cycle and i know we all hate big bang integrations canton and i am so i am as you know stands for identity and access management this is all about authorization and authentication this slide illustrates how imp is configured it shows that authorization in canton requires an external vendor to perform that authorization octa or off zero are such vendors as shown the demo application's login information is sent to the authorization server for the user to log in the demo application receives back an access token that it will send with requests to the participant nodes grpc server and the participant node is configured in a different way for authorization because it needs to verify that access token each participant node is configured to retrieve a public key that is used to verify the access token sent on each grpc api column what is shown here is a configuration for an approach called json web key set jwks and this is the recommended approach because it supports the ability to easily cycle keys although not highlighted in this side each slide each organization or participant can even have its own i am vendor and david mentioned a feature a new feature in demo2 called user management which touches on these im operations now this slide illustrates how im operates as mentioned first the demo application contacts the authorization server to get an access token called a javascript web token or drop as you see the api request has a dot token that the grpc server receives the grpc server extracts that token retrieves the public key from the authorization server and validates the jot token now once validated that user id is mapped onto its associated parties and privileges the party information is then passed on to the demo interpreter now there are two main points i'd like to emphasize one is that a user is local to each participant node and the canton protocol only knows about parties now setting up this silent configuration is quite detailed and i would refer you to the documentation and at this point we have finished and concluded the presentation i there was quite a lot of detail we went through and i'm sure there's lots of questions so uh who would like to take it away that would be that would be me uh am i on video awesome so we have a lot of great questions and i when i passed uh question number 12 and then 15 and then 20 i realized that we will run out of time but that's okay what we're going to do is we're going to try our best to uh address some of the questions that are more um wide in general and then there will be ones that will need more time to to dive into and what we'll do is we'll either create a blog or we will somehow surface them in our form so if you have not joined our forum it's disqus.demo.com and we'll find a way to get those answers to you regardless uh so the the let me start at the top um now the first question is what is the difference between demo 2.0 and canton now just what is it why does it warrant its own name so we may have covered some of that but uh david curtis do you want to quickly uh clarify that for for folks who may have joined later i can give that a try so camel is a term that we use in different ways and i just want to mention that one way is we talked about damo as the entire solution stack right i mentioned that in one of the slides the other is we talked about demo as the smart contract language right so it's a smart contract language and canton is the distributed ledger technology so there they can be a little bit confused if you talk about the solution stack but really damol is a smart contract language and canton is the distributed legend fantastic awesome so the next question we have is and these questions will be repeated and re-answered in the blog as well so i'm not gonna i'm not gonna let anybody uh let any question uh slip next question demo 1.0 was open source but i guess 2.0 is not we have a we have one of our engineers on online uh stefano um do you want to take that question i i can take it 2.0 is open source i think there's a yeah sorry i'm on a linux laptop and he thinks that that might have both david and stefano uh clarify that question uh yeah sure uh as mentioned by uh uh in in doing as an answer in in the chat uh demo 2.0 is just as open source as demo 1.0 uh it's development continues in the same repository we have a separate repository for canton the link is on the chat uh one thing that kurt is mentioning is that we also have an enterprise version that is not open source of course uh but the bulk of development still continues in the open source yeah just a couple comments on that we we are committed to open source we believe in that that's one of the ways we think we gain security right it's been having lots of eyes appear at it and point things out a canton is open source there is an enterprise version where we have features like data pruning high performance etc etc but that's a small delta between the open source version of canton when you get the open source version of canton you get a fully operable protocol so it will interoperate with the enterprise version as well next wonderful um stefano while we have you uh you answered a question about whether canton is compatible with demoscript do you want to uh share the answer with the uh with everybody yeah uh so for those who of you are new to demo demoscript is the component that allows you to run demo off ledger not as exclusive as the non-ledger language it's useful for initialization and testing and canton is able you're using you're able to use javascript with canton as much as you are with any other ledger api implementation awesome so next question when is demo hub expected to catch up with demo 2.0 when will we see demo hub have support for 2.0 in other words and i i think david you you may be uh the man for this yep yep good question um so we are currently working on it um i can't give an exact date um but we hope you know in the next next couple of months the rumor hub will will offer double 2.0 and count on canton operations or count on um in in as a ledger option outstanding awesome now uh next question um if they can turn encrypting or encryption then the oh if the the canton framework is encrypting then the transaction message is distributed to all but read by only the participants intended to participate in the transaction is my understanding correct and i think uh curtis answered that in this portion which is the uh sub-transaction sub-transaction privacy right curtis uh correct we only send data to those nodes that have parties that need to to see or understand that data awesome next question does the canton protocol at all change the way certain contracts are divulged to parties as a result of an exercise of an exercise consequence does the canton protocol at all change the way contracts are developed which i presume is made observable to parties as a result of a exercise action i guess yeah in demo one um i think david mentioned that that data is broadcasted everywhere you have the envelope and the payload as being one of the same thing in in canson we distinguish between the envelope and the payload and that they're both encrypted separately and only sent to the parties that need to know about it in terms of the payload the payload is only observable by those parties that need to see that payload so yes there's a difference between double one and double two wonderful the next question i'm gonna lump from various questions and that is regarding the difference between uh damo and canton and canton protocol uh and uh other platforms like corda and uh ethereum sort of the differences the high level differences who can who would like to take that i'll i'll i'll take that so i mentioned that canton's superpower is its high privacy and that is the main differentiator that we have between canton and everything else the corner i think uses the history of the asset it brings it along ethereum and fabric they use the subgroup approach and if you would refer back to that that slide you'd see that awesome um this is more of an architectural question is anything is there anything wrong with having the public party i guess the public as the only observer on every contract is anything wrong with having the public party as the only observer on every contract i presume this is this could be related to the idea that in demo hub we we can there's a default public party right the public can see the contracts uh but um is that a clear question so just yeah go ahead david i i cut out before the the start of this question let me just confirm is there anything wrong with having the public party as the readers as yes the readers the observer on every contract um i suppose that maps to your business your business requirement right do you want that public party to be able to read as read you know all of those those contracts every everything that goes through if you do then i personally don't see a see a problem with it um i think i think that's kind of what it was created for right awesome uh this next question could be for curtis uh is there support for ssi and credentials in demo now i presume that wasn't a typo that you didn't intend to say sso single sign-on and ssi meaning the self-sovereign identity connections uh uh credentials yeah we um we use um zero so i don't i don't really understand the question i'll be honest we might have to get back to them on that okay um what about the user management differences between demo one and demos two how is that gonna affect compatibility so if we're talking about the new feature of user management it doesn't affect compatibil compatibility you can continue using the same job tokens in the same custom format that you had previously and you can still can continue to authenticate using using those old old formats if you want to use user management then you can create a jot in the new format um with the the user information in it wonderful uh next question is about uh databases as opposed to using dlt why do we use sql database can we not use couchdb or any other dbs is canton configurable with other databases if we wish if we wish to use other databases instead of sql we um we test and validate against postgres in oracle postgres is available in the open source oracle is an enterprise class driver there are lots of databases out there and we just don't have the bandwidth to be able to use any database app you know so i in theory there is no problem in reality there are probably subtle differences that the drivers would need to be changed or altered so as as demand for different databases is produced we will respond accordingly if you remember uh the sequencer node is there and what we need to do is just to tailor it for the particular underlying synchronization technologies we've done that for a couple of databases extending it for a third or fourth is possible but you know given given all of the features and requests from our customers we have to we have to do this on a basis of priority so in theory yes um yeah uh next question what features of demo 2.0 are not available on specific platforms now for example fabric so what features of demo 2.0 are not available on specific platforms now yeah not not answering on a feature level because i don't i don't think um there are features available on certain platforms and not on others at the current state we have um a ga driver so the postgres and oracle rga and then drivers for bay zoo and fabric are currently beta soon to be soon to be ga fantastic there's a question on how are we handling the private keys of each participant node this is probably a question with the user management how are we handling the private keys for each participant node so the key right now the key handling is local to each node and it is stored in the um it's stored on the participant node we are looking at the requirements to be able to use a hardware or software-based key management integration and so having the key stored off the node is something we are looking to do shortly awesome here's a question is canton customizable outside of basic configurations to fit clients a client environment i guess this is a question of how configurable uh how customizable is is the is the canton uh yeah the um we have some very energetic intelligent engineers and so it is highly customizable um you know there's this tug of war that goes on between the product manager and the engineers or the product manager says make it as simple as possible and the end the engineers think yes but we have to make it configurable for matching all of these other potential use cases and so we've come up with a way that is fairly convenient in that we provide you smart defaults and if you want to override those smart defaults you can use an adjacent configuration file wonderful can we get an example demo or perhaps if we can point this person to a resource where we show how the participant metering feature actually works with multiple canton domains so where can we find where can we point folks to for more information or implementation of the participant metering feature so the documentation is the best place to go i think if you're talking about multiple domains so the participant metering just works at the participant level right so um it is charged per event on the participant so whether you're connected to multiple domains in um with a multi-domain an early access feature or the connected to one domain the the ledger metering was done on that individual participant awesome uh here's a question i like uh well i like all the questions is a good question are there limitations on the number of interconnected domains in canton and what is the impact on on cross-domain messaging performance yeah so the multi-domain just the people want to do this the the multi-domain feature is early access and what we mean by early access is we're putting it out there for you to to play with but we do not recommend it go into production we are obviously working towards ga but we just want to make you aware of that there is a um in the documentation is a multi-domain workflow demo if you want to go and try that and so that is something you may want to do um and um steve is there anything i missed in that question no i think you got it okay yeah i think you got it uh here's a a good question um you said demo language programmer well the developer can use canton driver to natively encrypt data in the legend how is this different than non-canton ledgers like hyper ledger isn't it possible for the programmer to encrypt the content of the block in hyper ledger if he or she wishes to do so so this is a question about encryption and what is done natively and what's done outside of the canton platform yeah so demo as a smart contract language is compiled down to execute api calls against the demo ledger so so the demo ledger is a a model it's very sophisticated very sophisticated one of the things that i was impressed with when i i started reading up a demo is how a lot of the problems related to distributed applications or multi-organization applications were solved so if we go back to that that first slide about the four properties of secure synchronization um that is what we are aiming for and if you uh now that runs on top of cancel so now we have the full privacy we did not have that before so we we we implement all of the demo ledger api now what you're asking is could something like the demo ledger it has all its sophistication and its properties be constructed manually by programmers anything is possible right but the question is why would you want to do that because it's certainly error-prone um you know i have a joke where in the group i'm in we have more phds than university departments have and that's the truth right there are a lot of smart people that have spent seven years building this and have had to rework it several times you're leveraging all of that knowledge and expertise and testing right so i i would say that's the reason in case that question is asking some something maybe different i think what they might be asking or sorry my interpretation was um can't you just encrypt things with ethereum what kind of block being encrypted with ethereum and i think the the the difference is the transaction so um curtis spoke a lot about sub transaction privacy and i believe in ethereum things are transacted things are encrypted at a channel level so anyone on that chat anyone outside of that channel can't decrypt it but anyone on the channel can encrypt it so if you take um curtis's example of the bank alice bob and the the factory all of those would be on the same channel and therefore all would know about the same transaction with damil the bank and the factory don't need to know about each other and we don't make we don't let them know about each other because we encrypt things in a way that they can't decrypt it only the part only the parties um involving that tracks in transaction can decrypt the things that they need to know about i think that might be the difference yeah thanks david i love these questions i've done about you guys yeah really good questions uh and and if you are uh if you don't post your questions uh publicly on the chat uh feel free to hit us up on discuss.demo.com and just push your questions today we'll get we'll get to them if it's an architectural question or a technical question just post it there we'll we'll get it answered here's another one the reverse of fully private data is the recovery of re is the required recovery requirement for failed nodes so again the reverse of fully private data is the recovery of failed nodes the recovery requirements of failed nodes is that a responsibility of demo or the client apps the reverse of fully private data is the recovery requirement for filled notes notes that fail i presume in doing the transaction is that a responsibility of demo or client apps so at the participant node level you have the ability to back up your databases and the node itself exchange exchanges snapshots of the active contracts and so you if a participant know it fails you can restore the database start it back up and it will talk to its the other participant nodes in the domains exchange snapshots of active contracts and thereby bring itself up to the current state so i i think it's a node level built-in capability i hope i answered the question i hope so too now for the crash the person who posed a question if we did not hit the nail on the head please uh reach out to me uh and we will we'll make sure that we get it clarified um let me find another one that we can answer in the frame of time we have let's try this one is the concept of time now better with canton does the confirmation to participants have the same ledger time which all party of which all participants could rely on so i'll repeat that is the concept of time now better with canton i presume time is in time stamping time does the confirmation to participant notes participants have the same ledger time which all participants can rely on so the second one the answer is yes and the first one is always the the demo ledger has a model of time and canton implements that model and so you can program against that so those are the best i refer you to the canton ledger causality in time description and to the second part the answer is yes wonderful there are a few more questions and we're going to need a more uh need to deep dive a little bit more and ask some clarifying questions to to answer and what i'll do is we what we will do is to put that into that that blog or either we'll do a blog or a some post it somewhere in the forum or make it into a video or maybe we'll do all three um let me see is there any more questions that uh that we we may have missed i'm scrolling down i think that's like 20 or 25 questions now would that be an example of how to use the system would that be an example of how to use the system i presume we're talking about um tutorials and ref apps and things like that and that is probably a question for me yes there will be and there is already one if you go to the documentation and the section where we start to talk about canton there is a very simple uh section that walks you through implementing uh adding the party to the participant notes adding the participant to the domain and and so walk through that uh that that tutorial i think that's the best first stop to make if you are new to this let me just scroll through the questions i think one just come in oh is octa available with demo hub yes i saw that i wanted to know what available meant um i think do we offer it with demo hub no um can you use it with demo hub i need to need to check got it okay other than the questions that we we need uh more time to elaborate on i think we covered most of the the key questions from the uh from the forum surprise we did it i think that was like 15 questions or 20 questions right there uh so um curtis david stefano is there any uh last um uh concluding remarks or thoughts that you want to add any direction you want uh our audience to to take a look at or pursue so i mean with demo 2.0 i mentioned the release notes in other times go take a look you know they'll have the details in if you have any questions reach out to any of us and we'll be happy to help or post your question on the forum that's probably the best way to to to get an answer quickly there's a lot of very active uh demo developers on there who will uh who will answer your question yep and do answer them in the forums as well and maybe there's a question for for stefano now if i have if i'm running a 1.81 project and i want to give i want to kick the tires for demo 2.0 they can co-exist right is that control in the in the yaml file how do i go about being able to to do both on the same development development environment uh do you mean using i mean in general what what you would do is just transition your project to demo2 by by updating your your demo demo uh and as mentioned by david before the the transition should be relatively smoothless you will encounter maybe a few warnings or compilation errors and so on but it should be relatively easy to fix those um there were a few deprecations that that were there for a long time so but again the upgrade the upgrade should be relatively smooth uh one thing that david mentioned is uh part identifiers those change a bit so those will need to be handled uh but apart from that uh the transitions will be relatively smooth in terms of coexisting i'm not entirely sure uh whether whether this goes in direction you want it but yeah you answered it now you talked about deprecations and one of the things that we highlighted in our release notes is that the the handling of the uh the party id star we have a different way to generate these uh unique ids now and that if their current project had hard-coded the the unique ids into into the demo file into the into the code that that may break right do you want to add some color to that yeah sure um as mentioned canton produces uh these uh more complex uh party identifiers uh that is uh tldr uh done to make sure that you can have parties that can exist in at the global level uh the impact on projects as you mentioned is that you cannot rely anymore on hard coding your party identifiers this means that you will be able you can use the new user management service to query for parties that are associated with given user and you can use those services uh to make sure that your application can can work these are probably going to be the more involved parting which is going to be as you transition your project from the move one from the two demo two uh but again the documentation should include examples on uh on how to use this and again it just boils down to just simple best practices don't hard code your party names but use the services in the ledger api to build your application good advice wonderful so we've come to the the end of the webinar again feel free to post your questions and check out answers in our forums and that is discuss.demo.com and we would love to uh hear from you guys if this had been a useful session and if we uh should do it again and what kind of topics you would like us to to cover uh we have a team across the entire uh uh continent across all the continents so we can cover any time zone we're happy to dive into any topic now if there is a conversation that's more um business than technical we're happy to to point you in the right direction uh as well so with that i think we can uh uh wrap this up and uh once again thank you for uh joining us david curtis stefano thank you very much thanks steve take care thank you bye","transcript_synced_at":"2026-10-26T04:09:20.431Z","segments":[{"start_seconds":0,"text":"hi everybody welcome to our a very special webinar we we hope that this is one of many webinars that we will do","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=0s"},{"start_seconds":8,"text":"as we introduce uh the latest and shiniest uh products that we are working on and we we are very excited to share them with","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=8s"},{"start_seconds":16,"text":"you so this is not the uh the only you know time that we'll get together and talk about uh the wonderful","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=16s"},{"start_seconds":23,"text":"things that digital asset is uh creating and and we want to hear from you as well so today we have carved out um you know","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=23s"},{"start_seconds":31,"text":"an hour an hour and a half to uh have uh uh two of my favorite um colleagues uh jump in and talk about uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=31s"},{"start_seconds":39,"text":"our latest uh uh introduction to the to the demo family canton canton and demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=39s"},{"start_seconds":46,"text":"2.0 so we have uh i am stifl i am a uh developer advocate for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=46s"},{"start_seconds":54,"text":"the company and we have david richards who is a principal product manager for demo and curtis rischchuck who is also a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=54s"},{"start_seconds":63,"text":"product manager technical product manager from canton so they are they were deep into the woods to make sure that this becomes a reality","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=63s"},{"start_seconds":72,"text":"and they were the two best people i could find so let's not waste any time and uh david shall we start with you and we'll take","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=72s"},{"start_seconds":80,"text":"it away and when we are towards the end of the presentation we will open it up for q a and you've obviously found out that you cannot um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=80s"},{"start_seconds":88,"text":"get on a video or or speak but we would love for you to put in your questions and we have someone and myself will be","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=88s"},{"start_seconds":96,"text":"parsing through the questions and and getting to them as as much as we can and if we run out of time we will find a way to get those answers to you and if you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=96s"},{"start_seconds":105,"text":"do not want to ask them live uh do go to our forum uh and you can find it at digitalasset.com","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=105s"},{"start_seconds":114,"text":"developers and you'll find a way to our forum and that's where you can post your questions where we will get to them as well so david without further ado or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=114s"},{"start_seconds":121,"text":"yours thank you steve much appreciated so as steve said my name's david richards i'm","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=121s"},{"start_seconds":129,"text":"a product manager principal product manager here at digital asset and i'll be taking you through the first first half of the presentation i'm","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=129s"},{"start_seconds":137,"text":"focusing on demo 2.0 the release that we had in in march some of the high level um views so some of the high level","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=137s"},{"start_seconds":145,"text":"things that we've released and then curtis my colleague will take you through canton and the details of that the differences and impacts that's made","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=145s"},{"start_seconds":154,"text":"on on on demo so as i said download 2.0 was released on the 2nd of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=154s"},{"start_seconds":161,"text":"march so we're over a month after after its release um and if you can't tell we're very excited about it it's been a landmark release for us and for our","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=161s"},{"start_seconds":169,"text":"customers and so as i said in this session we'll go over the release um how","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=169s"},{"start_seconds":177,"text":"how damol is improved um by this 2.0 release and especially with regard to canton and as with all major and minor","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=177s"},{"start_seconds":185,"text":"releases we've included details in the release notes um so please go there they've obviously been published since the 2nd of march that will have a lot of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=185s"},{"start_seconds":193,"text":"the detail in there you can see the url on screen there or you can alternatively go to the digital asset website and navigate to them","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=193s"},{"start_seconds":201,"text":"using the uh developers blog in the top nav so that will give you a lot of details in this presentation we'll cover the high level things some of the things","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=201s"},{"start_seconds":209,"text":"that you should care about as a developer that will impact you in using demo 2.0 so let's take a look about what we learn","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=209s"},{"start_seconds":218,"text":"about in this webinar so first we'll start with an overview of download 2.0 release canton as i said is the biggest improvement in this release and we'll","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=218s"},{"start_seconds":226,"text":"give you an overview of other updates that we've made why we've made them and how these changes are helping us achieve our overall goal and mission","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=226s"},{"start_seconds":234,"text":"then um we'll we'll look at other changes some in a little more detail on how they've impacted and then we'll look at","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=234s"},{"start_seconds":243,"text":"canton and as i said my my colleague curtis will take you through through canton you know the impact that it's made what","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=243s"},{"start_seconds":250,"text":"it is why we're including it into them on how it works so that section will be great for those of you who up to this point aren't familiar with canton maybe","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=250s"},{"start_seconds":259,"text":"you haven't followed the story that digital assets been on the journey that we've been on after over the past couple years in developing this and it should help you understand why","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=259s"},{"start_seconds":266,"text":"we're including it into the product and how it improves down as steve said feel free to ask questions as we go in the chat or other means and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=266s"},{"start_seconds":274,"text":"they will then pull them through to us so to really understand daniel 2.9 the release that we've made here um you need","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=274s"},{"start_seconds":283,"text":"to understand um a little bit about where demo is now so damn has always been about creating multi-party applications we built a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=283s"},{"start_seconds":292,"text":"smart contract platform which provides our customers with the ability of writing smart contract um smart contracts in lightning fast time","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=292s"},{"start_seconds":301,"text":"especially compared to older models and we do this by focusing on the business logic and having confidence in the security and synchronicity of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=301s"},{"start_seconds":309,"text":"data across organizations so we've done this really with four main points data ownership ensuring that data ownership and the rules surrounding that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=309s"},{"start_seconds":318,"text":"data are clear of who owns which data and which data is shared second of all the interactions between parties when working with that data are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=318s"},{"start_seconds":326,"text":"strongly permissioned and they're really at the core of the tamil language and thirdly data and processes are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=326s"},{"start_seconds":334,"text":"shared on a strict need to know basis so for example party b can't learn about party a's exclusive data and processes and vice versa","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=334s"},{"start_seconds":343,"text":"and lastly ensuring that it's fault tolerant so parties can't falsify each other's records either through","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=343s"},{"start_seconds":351,"text":"fault or malicious behavior and so really excuse me all of this has given us a great","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=351s"},{"start_seconds":360,"text":"foundation to build on for achieving our goal of the global economic network that we're aiming for um and has achieved and really given us","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=360s"},{"start_seconds":369,"text":"the the ability to really stumble 2.0 with confidence so the demo one 1.0 smart contract framework as i said with direct","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=369s"},{"start_seconds":377,"text":"integrations often offered secure synchronizations and data integrity but it didn't give us privacy or security against ledger operators","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=377s"},{"start_seconds":386,"text":"so customers could have confidence in the security and privacy of the data from an application level and definitely those using the applications and between parties","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=386s"},{"start_seconds":394,"text":"collaborating on contracts however there was still a risk of data being seen by parties operating the ledger or those who owned and operated the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=394s"},{"start_seconds":403,"text":"systems running that ledger so for example a cloud hosting company and in the case of a postgres postgres storage layout and a monolith","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=403s"},{"start_seconds":411,"text":"architecture um that was the owner of the database they could look in and see the data in the tables and where where they","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=411s"},{"start_seconds":419,"text":"whether they were involved in those transactions or not in the case of a hyperledger fabric architecture and everyone on the same","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=419s"},{"start_seconds":427,"text":"channel could see all of the transactions between any party again whether they were involved in those transactions or not and so with the addition of canton in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=427s"},{"start_seconds":436,"text":"daniel 2.0 it has sophistication around the way that we integrate demo with underlying ledgers using message encryption canton provides","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=436s"},{"start_seconds":444,"text":"a model that extends a sub-transaction level and distributes data only to entitled stakeholders","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=444s"},{"start_seconds":452,"text":"and so download 2.0 ensures full transaction privacy without trading off security or consistency and it enables","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=452s"},{"start_seconds":460,"text":"full compliance with with data regulations such as gdpr and so i'll i'll talk a little bit more about","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=460s"},{"start_seconds":468,"text":"the driver differences here but again curtis will go into this a lot more um detail later um so these additions in double 2.0","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=468s"},{"start_seconds":476,"text":"really opens the door to even stronger fault tolerance and prepares us for the future of damon now as we work towards the future of damo we'll be looking towards open","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=476s"},{"start_seconds":484,"text":"business networks continuing to lay the foundation the technical foundation for the global economic network with fault","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=484s"},{"start_seconds":491,"text":"tolerance and its interoperability providing you with full confidence in opening up your networks and contributing and benefiting from the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=491s"},{"start_seconds":500,"text":"global economic network and so that takes me nicely to the company's overall objective here and it is to create a global economic network","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=500s"},{"start_seconds":508,"text":"of seamlessly connected businesses so if you're not familiar with it this is our company goal and up until this point many of our customers have built","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=508s"},{"start_seconds":517,"text":"excuse me critically important applications on on on 1.0 however we want to offer our customers","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=517s"},{"start_seconds":525,"text":"the ability to participate in and build on top of the global economic network that has been the primary objective in building canton and now including it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=525s"},{"start_seconds":533,"text":"into the product demo 2.0 so this is and has been and will be the guiding theme for our product roadmap going forwards","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=533s"},{"start_seconds":541,"text":"as the features in demo 2.0 and in this release um in the in releases in the coming years will allow customers to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=541s"},{"start_seconds":548,"text":"grow a net a network of applications which can grow together and so in summary this landmark release the majority of what we're doing in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=548s"},{"start_seconds":557,"text":"2.0 release for example integrating canton into the product is nearing us to achieving this mission and objective","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=557s"},{"start_seconds":565,"text":"so now now we've understood the goal and i've understand understood where where digital asset and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=565s"},{"start_seconds":574,"text":"changes in double download um specifically relevant to you as the developer audience so i'll talk about these in a bit more","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=574s"},{"start_seconds":582,"text":"detail later but this is a high level over a sales slide if you wish about the most important changes in denmark 2.0","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=582s"},{"start_seconds":590,"text":"so as i said multiple times first of all on the left-hand side firstly damol is including canton into the product","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=590s"},{"start_seconds":597,"text":"and this is the biggest change in this release so digital asset we've been working on canton for a number of years and demo will now ship with canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=597s"},{"start_seconds":605,"text":"participant and and use the canton protocol to communicate between the synchronization layer now","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=605s"},{"start_seconds":613,"text":"if that didn't make much sense to you in terms of the canton participant the canton protocol things like that curtis will clear all of that up um later in the session","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=613s"},{"start_seconds":622,"text":"secondly we've made some changes in development tooling so this is geared all geared towards developing applications for canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=622s"},{"start_seconds":630,"text":"canton's being used as the sandbox environment so there's some changes in how you develop against it and configure the environment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=630s"},{"start_seconds":637,"text":"moving on to the third box here the primary change here is how party ids are generated they're now dynamic instead of user defined and to help with that and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=637s"},{"start_seconds":646,"text":"help solve other problems we've added the new functionality called user management and it makes it easier to manage granting and revoking revoking","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=646s"},{"start_seconds":655,"text":"permissions for users and finally we've delivered a feature called participant metering which allows users to understand and report a number","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=655s"},{"start_seconds":663,"text":"of ledger events they're using their systems so with the adoption of canton we'll gain the benefit of drastically improving our","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=663s"},{"start_seconds":672,"text":"drivers so we're calling this new generation of drivers our count on enabled drivers at a high level that means they're not","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=672s"},{"start_seconds":679,"text":"limited by or reliant on the capabilities of the underlying blockchain or database that customers choose to use with demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=679s"},{"start_seconds":687,"text":"and so with these changes canton also becomes a ledger in and of its own right and it's a privacy-enabled distributed","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=687s"},{"start_seconds":694,"text":"ledger that's enhanced when deployed with complementary blockchains and so canton as i said will be covered","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=694s"},{"start_seconds":702,"text":"by uh by curtis a little bit later but i wanted to go into the high level differences of these drivers the first generation drivers and the canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=702s"},{"start_seconds":709,"text":"enabled drivers so in the first generation we use the underlying blockchain or database as the primary storage","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=709s"},{"start_seconds":717,"text":"however in canton-enabled drivers the underlying blockchain of database is used for messaging sequencing and topology only","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=717s"},{"start_seconds":726,"text":"so the primary storage of the transactions happens in the node of each participant making sure that they only hold the information on the transactions","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=726s"},{"start_seconds":735,"text":"for which they are involved and this helps in solving that privacy issue that i spoke about at the start where you know owners of the the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=735s"},{"start_seconds":744,"text":"participants or owners of the the domains can look in and see what's going on there here the the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=744s"},{"start_seconds":751,"text":"it's only the operators of the participants those are only the participants who can see the details of those transactions not of the domain owner","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=751s"},{"start_seconds":760,"text":"also in the first generation driver um demo transactions were stored as plain data on the underlying blockchain database and if customers wanted","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=760s"},{"start_seconds":768,"text":"cryptographic security the demo had to rely on the underlying blockchain system for that with canton enabled drivers damol has","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=768s"},{"start_seconds":776,"text":"demo native cryptography meaning the message payloads are fully encrypted in the participant giving full privacy","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=776s"},{"start_seconds":783,"text":"independent of the driver and then finally in the first generation demo drivers there was tight integration between","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=783s"},{"start_seconds":790,"text":"damol and the underlying storage and with canton enabled drivers we've got a uniform protocol in what is known as the canton protocol between drivers and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=790s"},{"start_seconds":799,"text":"participants making them a lot less tightly integrated and so all of this as to demo 2.0 being less dependent on the underlying","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=799s"},{"start_seconds":807,"text":"blockchain or database now moving on to the developer tooling","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=807s"},{"start_seconds":814,"text":"and experience um so the first important change in developer experience here is that the sandbox now uses the count on ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=814s"},{"start_seconds":823,"text":"implementation so for those of you who know may be new to daniel or not familiar with it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=823s"},{"start_seconds":830,"text":"the demo sun box is a component of the the sdk which allows developers to test their applications against a simulated","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=830s"},{"start_seconds":838,"text":"ledger so a simulated demo ledger so the sandbox is a really a simple ledger implementation which runs in memory","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=838s"},{"start_seconds":846,"text":"storage and is thrown away when the sandbox is closed down and so the commands demo start and demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=846s"},{"start_seconds":854,"text":"sunbox for those who who are a little more familiar with it who are um have heard of that before will launch a count-on test ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=854s"},{"start_seconds":862,"text":"and having a canton test ledger used when the sun when starting the sunblocks is important because in demo 2.0 a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=862s"},{"start_seconds":869,"text":"canton ledger is used in production and therefore we're keeping the production and development environments as similar as possible","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=869s"},{"start_seconds":876,"text":"and this should incentivize you guys um you know as developers to adopt good practices when creating demo applications which should then make","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=876s"},{"start_seconds":884,"text":"transitioning between development and production environments much much smoother as there's a lot less to change or next to nothing if you do it right","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=884s"},{"start_seconds":893,"text":"to change between between development and production another major change um with count on ledges is the parties i p party i","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=893s"},{"start_seconds":901,"text":"difference ids are different to those used in daniel um previously so they have a user","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=901s"},{"start_seconds":908,"text":"identifier a user find hint at the start within a randomly generated hash at the end and they're separated by by two uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=908s"},{"start_seconds":918,"text":"two colons and so this is to maintain uniqueness in a globally distributed network and so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=918s"},{"start_seconds":925,"text":"the hash is randomly generated and they're generated at the start of each sandbox which means that party ids can't","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=925s"},{"start_seconds":932,"text":"be hard coded into applications so again this makes development a little bit more difficult","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=932s"},{"start_seconds":939,"text":"but it aligns it much closer with development and production and so but also the the new feature of user","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=939s"},{"start_seconds":946,"text":"management which we'll talk about in the next slide also makes handling the dynamic generated party ids much easier and finally canton's static","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=946s"},{"start_seconds":955,"text":"configuration is defined by hawk on or what's also known as type safe configuration files so details on on how canton ledges and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=955s"},{"start_seconds":964,"text":"domains can be configured as in in documentation we won't go into that in detail here um but the files the configuration files","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=964s"},{"start_seconds":972,"text":"can be loaded when starting the sandbox either in the the cli or you can load that into the demo yaml file","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=972s"},{"start_seconds":980,"text":"okay so now moving on to to user management so first let's look at why we um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=980s"},{"start_seconds":988,"text":"implemented this so firstly before this feature users were mapped to demo roles or demo parties in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=988s"},{"start_seconds":996,"text":"each implementation each customer's i am service which could could potentially be difficult to do","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=996s"},{"start_seconds":1004,"text":"also iambs like many systems that run in any organization any enterprise they don't often tend to be under","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1004s"},{"start_seconds":1012,"text":"control as the same people yourselves developers who are maybe setting up the demo participant nodes as the people who","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1012s"},{"start_seconds":1019,"text":"own those iam systems and that you need to connect with so it could make it difficult you have to talk to a number of people in your organization to get","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1019s"},{"start_seconds":1026,"text":"those roles and things set up and roles such as read as an actors are often assigned in json web tokens","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1026s"},{"start_seconds":1034,"text":"also known as job tokens and they have a limit really is how much data can can be put into them which also meant there was a limit as to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1034s"},{"start_seconds":1042,"text":"how many readers or act as parties they could contain and we we saw an upper limit of around 100 parties per token and so instances where they wanted users","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1042s"},{"start_seconds":1051,"text":"to be able to applications to read as and act as more parties then that became a little problematic so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1051s"},{"start_seconds":1059,"text":"at a high high level user management allows customers to map parties and party users","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1059s"},{"start_seconds":1067,"text":"to party rights on the demo ledger so or inside of damo and it's not held on the demo ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1067s"},{"start_seconds":1074,"text":"it's had on on the participant of each on the participant layer of each participant you can so you can do it inside of demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1074s"},{"start_seconds":1083,"text":"instead of having the iam and so what really i expect you developer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1083s"},{"start_seconds":1090,"text":"who to use these newly created users for individuals or applications and then map those to the parties um that they can","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1090s"},{"start_seconds":1098,"text":"read as in demo such as you know end users or maybe job titles or team names or company names so that as people move around in your","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1098s"},{"start_seconds":1107,"text":"organization then it's not tied to any individual and people in certain organizations for example applications there can have the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1107s"},{"start_seconds":1115,"text":"same reader read as an act as rights and so user management also allows you to sign more than 100 act as already as","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1115s"},{"start_seconds":1123,"text":"parties so more information that could be held in the chat previously um and you can revoke and add um rights","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1123s"},{"start_seconds":1131,"text":"much quicker from the console rather than having to wait for a ticket to expire for example and so these user management","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1131s"},{"start_seconds":1140,"text":"or in fact user management adheres to the standard jwt the jdp standard","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1140s"},{"start_seconds":1146,"text":"and users are registered claims defined in the jdbc standard to maximize im compatibility and doesn't use custom claims like the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1146s"},{"start_seconds":1154,"text":"previous jot tokens so older jot tokens are still supported and therefore participant operators um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1154s"},{"start_seconds":1163,"text":"controlling the i am can still issue tokens um on the old format and they can continue to work with with download as they did previously however if you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1163s"},{"start_seconds":1172,"text":"wanted to use now the uh the user management then you would use the jdbt standard token format and that would be passed through to the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1172s"},{"start_seconds":1181,"text":"user management feature okay um so what specifically can you do","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1181s"},{"start_seconds":1188,"text":"in user management what are some of the the rules and rights and obligations so first user management can be controlled from either command line or from the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1188s"},{"start_seconds":1195,"text":"json api and you can obviously create and delete users and buy and you can also assign primary","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1195s"},{"start_seconds":1202,"text":"parties to that um to that user which means that they can act as and read as by default that primary party that they have","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1202s"},{"start_seconds":1211,"text":"then administrators of the participant can grant and revoke rights to users so rights consist of one of three things or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1211s"},{"start_seconds":1219,"text":"um or all three they can be made an administrator so in turn that user can then go on and change the the rights of others","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1219s"},{"start_seconds":1227,"text":"and they can have an act as and read as party assigned to them and also the maximum i believe there's a maximum of around a thousand ranked","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1227s"},{"start_seconds":1235,"text":"thousand readers parties so tenfold increase from the previous um previous method um and then we have commands where you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1235s"},{"start_seconds":1242,"text":"can list users um which will give you the user user id and primary party for all parties and what participant and so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1242s"},{"start_seconds":1250,"text":"get get authenticated user information and get specific user information as commands and they will list the user id and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1250s"},{"start_seconds":1257,"text":"primary party for authentic for the authenticated user a current user or for the the specified user request so if you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1257s"},{"start_seconds":1264,"text":"give it the user id of a party it will give you that information back for them and as you'd expect list authenticated user rights and list specific user","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1264s"},{"start_seconds":1273,"text":"rights will then give you the user rights of the authenticated user or for a specific user that you request and then on the right hand side of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1273s"},{"start_seconds":1281,"text":"page here i've just given you an example you can find a number of these in our documentation um where you can list users and then i've given you the the full","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1281s"},{"start_seconds":1290,"text":"list on the bottom right again you can find the rest of these in in the user management section of the documentation","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1290s"},{"start_seconds":1300,"text":"okay now on to the navigator so as a result mainly of these party ids and how","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1300s"},{"start_seconds":1307,"text":"how they uh they display there's a few changes to the navigator real simple for those of you aren't familiar with it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1307s"},{"start_seconds":1314,"text":"um the demo navigator is a front-end application that you can use to connect to any demo ledger and you can use it to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1314s"},{"start_seconds":1321,"text":"inspect and modify the ledger using a graphical interface and so it's primarily use really is that we see you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1321s"},{"start_seconds":1328,"text":"guys down the developers using it to explore the flow and implicate implementation of demo models and so excuse me when the double when the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1328s"},{"start_seconds":1337,"text":"navigator loads there will continue to be a drop down for login however by default it will show you users instead of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1337s"},{"start_seconds":1344,"text":"parties um so it previously showed you parties um in in in by default in that drop down to login us","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1344s"},{"start_seconds":1352,"text":"um once you log in as a user you'll act as a read as the primary party of those users and then users are set to using the demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1352s"},{"start_seconds":1361,"text":"script commands that you can you can choose to you work with parties directly instead of users in the navigator","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1361s"},{"start_seconds":1369,"text":"defining them in the demo yaml file and so if you define users um there then if you don't define any","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1369s"},{"start_seconds":1377,"text":"users in damage switch to using parties by default um and as i said previously how that the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1377s"},{"start_seconds":1384,"text":"party ids encounter dynamically jammer generated and they have a big long hash it makes really party ideas","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1384s"},{"start_seconds":1391,"text":"impossible to guess or difficult and to remember and definitely ugly to print and display so to overcome that we've put a simple feature into the navigator","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1391s"},{"start_seconds":1400,"text":"first a few simple features firstly um we'll try to auto complete parties so as you start typing the the user defined","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1400s"},{"start_seconds":1407,"text":"part of that that id um then the the screenshot in the middle of the screen shows if you type in bob there then it will show you what the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1407s"},{"start_seconds":1415,"text":"rest of the party ideas so you can easily find it in the navigator there and then the final one is if you see a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1415s"},{"start_seconds":1423,"text":"party id and we will display the first so many characters and then you can click on it to copy that to your to your um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1423s"},{"start_seconds":1431,"text":"your copy board on on your system now one last section before i open up to any","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1431s"},{"start_seconds":1439,"text":"more questions um i just want to point out with any new release of damo we always aim to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1439s"},{"start_seconds":1446,"text":"maintain high stability and ensure backwards compatibility with previous versions and so with download 2.0 even though it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1446s"},{"start_seconds":1454,"text":"being a major release um excuse me we've aimed to maintain this mantra","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1454s"},{"start_seconds":1461,"text":"and to really reduce the the migration and impact between gamma scheming 1.0 and 2.0 we've","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1461s"},{"start_seconds":1469,"text":"really kept the impact at a minimum in migrating from one version to the other at a high level we expect most projects to compile unchanged between versions","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1469s"},{"start_seconds":1477,"text":"from demo 1.x to 2.0 and projects should also run","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1477s"},{"start_seconds":1484,"text":"unchanged largely run and changed on download 2.0 ledgers some other points worth making here is that we've removed four","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1484s"},{"start_seconds":1494,"text":"relevant the developer experience removed support for the scala bindings and scenarios we've also updated to java 11","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1494s"},{"start_seconds":1503,"text":"and we've removed old mlf versions and so um and also i mentioned about the new","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1503s"},{"start_seconds":1510,"text":"feature called participant metering and so part of damol's charging model has always been based on the number of events on the ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1510s"},{"start_seconds":1517,"text":"um and a feature for customers to be able to understand how many events is being passed through their ledger um and also send that information to da has","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1517s"},{"start_seconds":1525,"text":"been added any information about that can be found in the documentation um and again there's other things that i haven't gone into detail here just small","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1525s"},{"start_seconds":1533,"text":"changes that have been made as we do with any release regardless of whether it's a minor or a major release and so again i've put the link to the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1533s"},{"start_seconds":1541,"text":"release notes here where you can go find those on the on the demo website the digital asset website um and you can read those in any detail","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1541s"},{"start_seconds":1550,"text":"any questions reach out to any of us um after the school happy to to answer questions there","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1550s"},{"start_seconds":1557,"text":"so before i pass over to curtis and maybe while curtis takes over the screen and shares his screen um any questions","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1557s"},{"start_seconds":1565,"text":"steve or anyone else that we've had on the panel we have a lot of great questions but i think we can we can hold them","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1565s"},{"start_seconds":1574,"text":"until after uh curtis's section because i think he may he may answer quite a few of them would that be good","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1574s"},{"start_seconds":1580,"text":"that's perfectly fine with me keep those questions coming everyone thank you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1580s"},{"start_seconds":1589,"text":"okay dave could you please um stop sharing and i will take over absolutely","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1589s"},{"start_seconds":1598,"text":"okay i'm assuming that everybody can see my screen thumb thumbs up if anybody can see it okay cool um so i'm the principal","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1598s"},{"start_seconds":1608,"text":"product manager for canton and so i'm obviously very happy to talk to you about canton i'd also like to thank you for taking the time out of your busy","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1608s"},{"start_seconds":1615,"text":"schedule to talk about this but um why can't why do we need another distributed ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1615s"},{"start_seconds":1622,"text":"why not just run dhamma on the bare metal blockchain you know what makes canton special we'll look into these questions uh just sort of going back to one of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1622s"},{"start_seconds":1631,"text":"first slides that david presented we're going to go back to why do we need damo anyway","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1631s"},{"start_seconds":1639,"text":"and we talk about four dimensions to be able to use demo to do the secure synchronization right just a quick","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1639s"},{"start_seconds":1646,"text":"refresh firstly demo is concerned with data ownership we want to make explicit who can see or change a piece of data while making sure","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1646s"},{"start_seconds":1655,"text":"that data is in the right place for those data owners we don't want little pieces of data floating around it's also strongly permission","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1655s"},{"start_seconds":1664,"text":"right if you have cologne data between two organizations you need to have processes to change and govern that data between those co-owners","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1664s"},{"start_seconds":1673,"text":"and this is a core requirement for smart contracts the third one is high privacy and this means that data is shared only on a need","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1673s"},{"start_seconds":1681,"text":"to know basis and this is needed for all enterprise applications and the fourth","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1681s"},{"start_seconds":1689,"text":"dimension is where blockchain technology is very helpful because it enables the trustless fault tolerant and multi-party","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1689s"},{"start_seconds":1697,"text":"environments and most distributed ledger technologies offer you three out of four of these but our claim is that no system offers a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1697s"},{"start_seconds":1705,"text":"high privacy which is the main differentiator for canton high privacy is canton's super power","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1705s"},{"start_seconds":1715,"text":"and privacy you know you don't really think about it that much until you have to it's sometimes overlooked on day one but","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1715s"},{"start_seconds":1724,"text":"it quickly surfaces as a day to concern when the security team talks to you and privacy is the basis for data security","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1724s"},{"start_seconds":1733,"text":"and we want all our data to be secure and we believe that privacy is absolutely critical to every","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1733s"},{"start_seconds":1741,"text":"enterprise application that is on distributed ledger technology now that's pretty abstract let's make","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1741s"},{"start_seconds":1749,"text":"this a little more concrete we'll use this example further on so you just might want to take a peek at it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1749s"},{"start_seconds":1756,"text":"so we're going to make this concrete by using this example of a simple use case of delivery versus payment dvp","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1756s"},{"start_seconds":1764,"text":"which is an atomic swap of assets we have alice and we have bob and they want to do an atomic exchange where","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1764s"},{"start_seconds":1773,"text":"alice pays bob 100 for the promise of delivering a widget now the two parties that are involved","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1773s"},{"start_seconds":1781,"text":"here aside from alice and bob there's the bank which is used to do the cash flow transaction cash exchange","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1781s"},{"start_seconds":1788,"text":"and we have the factory which is intended to do the exchange for that widget now what we don't want is we don't want","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1788s"},{"start_seconds":1795,"text":"the bank or the factory to know about each other but of course alice and bob can see this","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1795s"},{"start_seconds":1803,"text":"our our position is that none of the existing blockchains out there enable this level of privacy most blockchains talk about privacy and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1803s"},{"start_seconds":1811,"text":"they talk about the notion of a channel a group or a subnet where you shard your system into smaller groups or components","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1811s"},{"start_seconds":1819,"text":"but all the members within that group still see everything so you don't get that needed privacy between parties and the transaction","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1819s"},{"start_seconds":1826,"text":"so in our example alice bob the bank and the factory would see everything","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1826s"},{"start_seconds":1833,"text":"you then have some distributed ledger technology systems that try to solve this transaction level privacy where they drag asset histories","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1833s"},{"start_seconds":1841,"text":"with them to guarantee the ledger consistency but you still don't get that privacy in the transaction everyone in the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1841s"},{"start_seconds":1848,"text":"transaction can see all the steps in the transaction and that is obviously unacceptable","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1848s"},{"start_seconds":1856,"text":"then we have the zero knowledge proofs and quite simply zero knowledge proofs are currently intractable for smart","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1856s"},{"start_seconds":1864,"text":"contracts they're useful in practice but simple token but really useful for simple token use cases on public chains","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1864s"},{"start_seconds":1873,"text":"and so someone asked what is canton well canton enables damo's full sub transaction privacy without trading off security or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1873s"},{"start_seconds":1881,"text":"consistency and so we don't see any alternative in the dlt space for this sort of privacy that's why we're","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1881s"},{"start_seconds":1889,"text":"building counts on and this sub transaction privacy it has some happy side effects one of those side effects is scalability is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1889s"},{"start_seconds":1897,"text":"possible since the data is just not broadcasted everywhere it also allows larger applications to be","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1897s"},{"start_seconds":1905,"text":"composed with smaller applications forming larger transactions from sub transactions","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1905s"},{"start_seconds":1913,"text":"so what is canton canton is a privacy enabled it's a distributed ledger and a ledger protocol","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1913s"},{"start_seconds":1922,"text":"that is enhanced and deployed with complementary blockchain so we talk about canton in two ways you talk about it as a distributed ledger we talk about","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1922s"},{"start_seconds":1929,"text":"it as a ledger protocol we'll see both of those we have here is the complete demo2o solution stack it's a simplified view","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1929s"},{"start_seconds":1939,"text":"but you can see the coarse grained components as you can see canton makes up most of the application backend of the demo solution stack","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1939s"},{"start_seconds":1947,"text":"it fully implements the ledger api um and just just a side note in the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1947s"},{"start_seconds":1954,"text":"pictures the out the items in blue are those things that are part of the daml solution stack canton does need the demo dar files for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1954s"},{"start_seconds":1963,"text":"the application business logic it also interfaces with the external authentication provider which we'll discuss later","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1963s"},{"start_seconds":1972,"text":"and the client requests are made using the ledger api in a typical distributed ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1972s"},{"start_seconds":1979,"text":"technology the users interact directly with the raw ledger canted complements this approach by","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1979s"},{"start_seconds":1987,"text":"adding participant nodes between the user and the ledger you may notice that no additional trust","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1987s"},{"start_seconds":1994,"text":"is needed as long as each user retains control of their participant node a helpful benefit of this approach is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=1994s"},{"start_seconds":2002,"text":"that the participant node eases the user's burden of managing the cryptographic information","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2002s"},{"start_seconds":2009,"text":"this simplicity enables the user to interact with the dlt just like they would any other web application","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2009s"},{"start_seconds":2017,"text":"in other words canton lowers the barrier to using dlt technology which increases your overall market for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2017s"},{"start_seconds":2024,"text":"any dlt application and as we'll see next both the participant and the raw ledger nodes are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2024s"},{"start_seconds":2031,"text":"involved in the kantham protocol a ledger node is perfectly suited to broadcasting information amongst all the other ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2031s"},{"start_seconds":2040,"text":"nodes to ensure they're all synchronized that synchronization is important but this strength is also weakness since the message envelope and data payload","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2040s"},{"start_seconds":2049,"text":"are visible everywhere but the canton protocol utilizes the ledger's node synchronization ability","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2049s"},{"start_seconds":2057,"text":"while providing data privacy of the payload let's start our overview at a very high","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2057s"},{"start_seconds":2065,"text":"level imagine we have a content deployment with several participant nodes each node has local storage which is the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2065s"},{"start_seconds":2073,"text":"no that node's view of the dammel ledger the nodes are all connected through a synchronization layer which acts as a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2073s"},{"start_seconds":2081,"text":"total order guaranteed multicast system so essentially these nodes can broadcast messages in a totally ordered way","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2081s"},{"start_seconds":2089,"text":"so that each node receives the messages in the same order and then deterministically processes the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2089s"},{"start_seconds":2096,"text":"messages in the same way this slide adds a little more detail by introducing the demo ledger api","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2096s"},{"start_seconds":2105,"text":"the canton protocol and the canton domain the participant node is the gateway","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2105s"},{"start_seconds":2112,"text":"into the canton protocol it exposes the demo ledger api and participant knows that where parties are hosted so they enforce the business","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2112s"},{"start_seconds":2121,"text":"rules in the uploaded dar files the participant node connects into what we call the canton domain which includes","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2121s"},{"start_seconds":2129,"text":"the synchronization layer through standardized apis we call the canton protocol you can think of the domain as a single","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2129s"},{"start_seconds":2137,"text":"demo ledger as part of the canton domain there are a couple of specialized nodes the canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2137s"},{"start_seconds":2144,"text":"topology manager node is about identity management it also makes sure that there is a central place where nodes and parties can register","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2144s"},{"start_seconds":2153,"text":"it guarantees that the participants have a consistent view of the entities and the parties and it acts as a directory service for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2153s"},{"start_seconds":2160,"text":"the certificates and keys too the mediator note is about the aggregation of confirmations using","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2160s"},{"start_seconds":2168,"text":"cryptographic signatures you can think of it as a transaction manager and we'll discuss it more when","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2168s"},{"start_seconds":2174,"text":"we look at how the canton protocol works going down a little bit more we introduced one last type of node we call","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2174s"},{"start_seconds":2181,"text":"it the sequencer node one of our guiding principles is that that we want to make the canton protocol","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2181s"},{"start_seconds":2190,"text":"pluggable and thereby extensible and this is achieved using the specialized node that sits between every","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2190s"},{"start_seconds":2197,"text":"other node and this special node is the sequencer node a sequencer node is needed for any other node to connect into accounting domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2197s"},{"start_seconds":2206,"text":"so if we want to add another synchronization technology we don't need to rewrite the mediator topology manager etc we only need to provide a sequencer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2206s"},{"start_seconds":2214,"text":"that adapts to that technology and what you see here is an example account and deployment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2214s"},{"start_seconds":2222,"text":"you have a synchronization layer which is a database or a blockchain you have a bunch of sequencers that use that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2222s"},{"start_seconds":2230,"text":"synchronization layer to collectively make the total order guaranteed multicast system then the participant node connects into","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2230s"},{"start_seconds":2238,"text":"that system and the participant nodes store their data locally in the private contract store but what about all that communication is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2238s"},{"start_seconds":2246,"text":"it secure yes all messages passed between all nodes are encrypted when two nodes communicate with each","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2246s"},{"start_seconds":2253,"text":"other they will use asymmetric cryptography to encrypt messages and sign message contents such that only the recipient can decrypt","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2253s"},{"start_seconds":2263,"text":"the content and verify the authenticity of the message or prove the origin of a certain message in the next slide","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2263s"},{"start_seconds":2271,"text":"we'll have a concrete example provided for this synchronization layer a sql domain architecture presented here","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2271s"},{"start_seconds":2281,"text":"uses a sql database as a synchronization layer that was shown previously","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2281s"},{"start_seconds":2289,"text":"david started the presentation by talking about demo providing secure synchronization between parties","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2289s"},{"start_seconds":2298,"text":"here canton is using a sql database as a synchronization layer to complete a sql domain that satisfies","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2298s"},{"start_seconds":2306,"text":"three of those four dimensions namely strongly permission data ownership with","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2306s"},{"start_seconds":2313,"text":"high privacy for example there's a full security between the participant nodes each node has the ability to validate","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2313s"},{"start_seconds":2322,"text":"and reject the valid transactions using cryptographic security there's a high degree of security and privacy against the malicious sql sequencer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2322s"},{"start_seconds":2330,"text":"the person operating the sql domain can fake entries in the ledger proper configuration of the database require provides some fault tolerance","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2330s"},{"start_seconds":2339,"text":"and now these are all many of the properties that people care about and this is a fairly easy deployment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2339s"},{"start_seconds":2346,"text":"with the sequencer mediator and topology manager all bundled together to form a domain in a box to which all the participant nodes can","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2346s"},{"start_seconds":2354,"text":"connect the trade-off with the sql domain is that it is not completely trustless or fault tolerant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2354s"},{"start_seconds":2362,"text":"for example you need to trust the operator of the sql domain because the operator can do things like switch off the database or turn off some","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2362s"},{"start_seconds":2371,"text":"communication channels if you want to get rid of those trade-offs then use a blockchain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2371s"},{"start_seconds":2378,"text":"here the backend architecture suddenly shifts by introducing blockchain nodes each with its own blockchain sequencer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2378s"},{"start_seconds":2387,"text":"so for each blockchain node there's an associated blockchain sequencer then each participant accesses the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2387s"},{"start_seconds":2394,"text":"synchronization layer to their own entry point which means you no longer have that single point of trust or failure this increases the availability of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2394s"},{"start_seconds":2403,"text":"system for today the topology manager is still associated with one sequencer but we plan on distributing it in a fall","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2403s"},{"start_seconds":2411,"text":"tolerant way in the future now blockchain performance could be quite low which will of course","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2411s"},{"start_seconds":2419,"text":"limit the overall transaction throughput of the participants now the blockchain sequencer or the blockchain the sequencer node","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2419s"},{"start_seconds":2427,"text":"introduces a clear separation between the synchronization layer and kanton because only the sequencer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2427s"},{"start_seconds":2434,"text":"node is seen by the blockchain node this means that the sequencer does not participate in the blockchain consensus","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2434s"},{"start_seconds":2442,"text":"algorithms smart contracts in demo are not converted into native contracts in distributed ledgers","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2442s"},{"start_seconds":2449,"text":"that is there's no data conversion between them on the blockchains demo templates coded in demo are not","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2449s"},{"start_seconds":2456,"text":"converted to chain code or solidity by code in the dlp and the parties allocated and participant nodes","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2456s"},{"start_seconds":2464,"text":"are represented in the participant node not in the blockchain yeah of course these things may be relaxed in the future to support new use","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2464s"},{"start_seconds":2472,"text":"cases but that's the current state of uh the affairs now the result is that the golden source of truth is always in the participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2472s"},{"start_seconds":2481,"text":"node well the the distributed ledger technology the synchronization there keeps all the encrypted messages passing","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2481s"},{"start_seconds":2489,"text":"through the nodes there's a separation of concerns there now i just want to give you a brief glimpse into how flexible the canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2489s"},{"start_seconds":2497,"text":"approach is here you see two different kinds of synchronization technologies you have blockchain for sql","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2497s"},{"start_seconds":2504,"text":"in a multi-organization deployment with many participating notes participant notes and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2504s"},{"start_seconds":2512,"text":"you have two domains you have the equity domain and the bond domain now please notice that this third participant node","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2512s"},{"start_seconds":2521,"text":"has access to both domains simultaneously so that an application running in this participant node","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2521s"},{"start_seconds":2529,"text":"can create atomic transactions again atomic transactions involving both the equity and the bond domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2529s"},{"start_seconds":2536,"text":"i do want to mention that this multi-domain support is early access but we will progress with it very quickly","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2536s"},{"start_seconds":2545,"text":"so how does the canton protocol work we talked about canton being a distributed ledger and being a protocol we'll explain what we mean by protocol","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2545s"},{"start_seconds":2553,"text":"right now let's use the same example we talked about before the atomic swap so how does a transaction such as this","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2553s"},{"start_seconds":2561,"text":"one with multiple views from multiple entities actually work in the canton london well it always starts with one participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2561s"},{"start_seconds":2569,"text":"in this case alice she decides to submit the transaction to begin it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2569s"},{"start_seconds":2576,"text":"this begins with her submitting a ledger api call to her node which we call a submitted node she is a submitter of the transaction","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2576s"},{"start_seconds":2585,"text":"her node does does a step we call interpreting the transaction where it takes the command the current state of the ledger and from","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2585s"},{"start_seconds":2592,"text":"that executes the demo code to figure out what the consequences of the resulting transaction are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2592s"},{"start_seconds":2600,"text":"the transaction is decomposed into different sub-transaction views for the different parties because there are explicit notions of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2600s"},{"start_seconds":2609,"text":"data ownership and data readership alice's node figures out that the whole transaction should be visible to alice","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2609s"},{"start_seconds":2617,"text":"and bob only one payment sub-transaction is visible to the bank and another sub-transaction should be visible with factory for shipping the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2617s"},{"start_seconds":2625,"text":"widget alice's node takes those individual sub-transaction views and encrypts them","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2625s"},{"start_seconds":2632,"text":"using the public keys of the targeted receiving nodes the key information was retrieved from the domain's topology manager which we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2632s"},{"start_seconds":2640,"text":"don't show here she encrypts the whole transaction pardon me","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2640s"},{"start_seconds":2649,"text":"she encrypts the whole transaction so that only alice and bob can read the whole transaction","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2649s"},{"start_seconds":2656,"text":"she encrypts one leg so that only the bank can read it and the other leg so only the factory can read it then she sends the whole bundle to the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2656s"},{"start_seconds":2666,"text":"domain which you remember is a guaranteed total order multicast and each node will receive the sub","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2666s"},{"start_seconds":2673,"text":"transactions they are responsible for this means that the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2673s"},{"start_seconds":2680,"text":"transaction the sub-transactions are sequenced to form a deterministic deterministic state of the system that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2680s"},{"start_seconds":2687,"text":"is sent to all the nodes and all the involved nodes pick up these encrypted messages effectively at the same time","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2687s"},{"start_seconds":2696,"text":"using their private keys they decrypt their messages they record the transaction as in flight a pending transaction and they validate","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2696s"},{"start_seconds":2704,"text":"their part of the transaction each individual party looks at their part of the transaction and asks is this","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2704s"},{"start_seconds":2712,"text":"valid so for example the bank can ask the question is it valid for alice to transfer a hundred dollars to bob does alice have a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2712s"},{"start_seconds":2720,"text":"hundred dollars in her account if the answer is yes then and the bank is fine with it then","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2720s"},{"start_seconds":2728,"text":"their part of the transaction will be confirmed and this check mark is that confirmation message being sent back to the domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2728s"},{"start_seconds":2736,"text":"each of these check marks represents confirmations being sent back to the domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2736s"},{"start_seconds":2744,"text":"these confirmations make their way to the mediator which is in the domain and the mediator as a transaction manager aggregates his","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2744s"},{"start_seconds":2752,"text":"confirmations and broadcasts the commit transaction back to the individual notes the reason to do it this way is we honor","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2752s"},{"start_seconds":2761,"text":"that strict need to know basis for the data so the factory and the bank are hidden from each other the bank doesn't need to see the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2761s"},{"start_seconds":2769,"text":"confirmation of the factory and nor should the factory see the confirmation from the bank the commit transaction goes back to the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2769s"},{"start_seconds":2778,"text":"nodes and since this is a total totally ordered guaranteed broadcast each node sees a commit confirmation at","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2778s"},{"start_seconds":2785,"text":"exactly the same point in the order of events on this ledger so there's now a consistent point in time in which every single node that is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2785s"},{"start_seconds":2794,"text":"involved can say when that transaction is committed and this is how we guarantee global consistency the transaction is created once","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2794s"},{"start_seconds":2803,"text":"once that commit confirmation is received and the privacy we've achieved is that each of the participant nodes has a plain view of their part of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2803s"},{"start_seconds":2812,"text":"transaction at a global level of the ledger there is only message envelopes with encrypted payloads","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2812s"},{"start_seconds":2820,"text":"and so in that synchronization there you may be able to see the target of message but you cannot see","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2820s"},{"start_seconds":2828,"text":"into the payload because the payload is encrypted based on the key of that target so as long as you consider encrypted","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2828s"},{"start_seconds":2835,"text":"data to be private there is full privacy a similar synchronization mechanism is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2835s"},{"start_seconds":2842,"text":"used to form domain topology transactions if a new node or new party is added to the canton domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2842s"},{"start_seconds":2851,"text":"a topology transaction ensures that these changes are visible to all participant nodes at the same time this is needed for deterministic","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2851s"},{"start_seconds":2860,"text":"processing the participant node will publish that local topology change to the topology manager","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2860s"},{"start_seconds":2867,"text":"and that topology manager will broadcast the updates to all participants that are in the domain including the participant that sent its","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2867s"},{"start_seconds":2876,"text":"local change this broadcast involves the sequencer so the change is seen by all nodes at the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2876s"},{"start_seconds":2883,"text":"same time so how can canton deployed how can you deploy","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2883s"},{"start_seconds":2891,"text":"as you'll see canton is can be flexibly deployed for example all the canton parts the participant node the mediator the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2891s"},{"start_seconds":2899,"text":"topology manager and the sequencer can run as a plug-in within a single canton application now you know you might have noticed at","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2899s"},{"start_seconds":2908,"text":"this point we've used this term node very loosely we haven't defined it and a node is not a bare metal server or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2908s"},{"start_seconds":2915,"text":"virtual machine or container necessarily loosely defined a node is a software object","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2915s"},{"start_seconds":2922,"text":"that is specified in a canton configuration file as you see in the picture you can run as many nodes as you","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2922s"},{"start_seconds":2930,"text":"want in a single accounting application and this canton application is running on a single server and that's one extreme","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2930s"},{"start_seconds":2939,"text":"the other extreme is this deployment where each canton node is running on its own canton application and server","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2939s"},{"start_seconds":2947,"text":"in general it's a good security practice for each user or organization to be mapped to their own participant node so obviously there's a wide range of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2947s"},{"start_seconds":2955,"text":"deployment options between these two extremes now the choice of the deployment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2955s"},{"start_seconds":2963,"text":"topology depends on where you are in the development life cycle for example you can run a single memory back single participant domain on your","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2963s"},{"start_seconds":2972,"text":"laptop as a development sandbox you can incrementally","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2972s"},{"start_seconds":2980,"text":"add more detail and complexity for example here you can move to more production-like environment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2980s"},{"start_seconds":2988,"text":"where some nodes run in their own canson application you have a sql domain that can be constructed","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2988s"},{"start_seconds":2996,"text":"and you can use multiple application instances connected to their own participant node and of course you can build this out","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=2996s"},{"start_seconds":3004,"text":"into a blockchain domain for validation or staging and canton can also be deployed in a highly available way","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3004s"},{"start_seconds":3012,"text":"and high availability is a feature of the enterprise edition so you can expand into high availability deployment for late stage testing or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3012s"},{"start_seconds":3020,"text":"production the participant knows if participant mediator nodes operate in an active passive mode","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3020s"},{"start_seconds":3028,"text":"the sequencer nodes operate in an active active mode and just the remaining high availability configuration follows a similar pattern","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3028s"},{"start_seconds":3036,"text":"as shown here for the sake of time we'll move on to the next topic but i did want to point out i i hope you noticed","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3036s"},{"start_seconds":3044,"text":"that these deployments can be built in a step-by-step fashion and this avoids a big bang integration","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3044s"},{"start_seconds":3052,"text":"late in the life cycle and i know we all hate big bang integrations canton and i am so i am as you know","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3052s"},{"start_seconds":3061,"text":"stands for identity and access management this is all about authorization and authentication this slide illustrates","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3061s"},{"start_seconds":3068,"text":"how imp is configured it shows that authorization in canton requires an external vendor to perform that authorization","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3068s"},{"start_seconds":3076,"text":"octa or off zero are such vendors as shown the demo application's login information is sent to the authorization","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3076s"},{"start_seconds":3084,"text":"server for the user to log in the demo application receives back an access token that it will send with requests to the participant nodes","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3084s"},{"start_seconds":3093,"text":"grpc server and the participant node is configured in a different way for authorization because it needs to verify","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3093s"},{"start_seconds":3100,"text":"that access token each participant node is configured to retrieve a public key that is used to verify the access token","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3100s"},{"start_seconds":3109,"text":"sent on each grpc api column what is shown here is a configuration for an approach called json web key set jwks","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3109s"},{"start_seconds":3118,"text":"and this is the recommended approach because it supports the ability to easily cycle keys although not highlighted in this side","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3118s"},{"start_seconds":3126,"text":"each slide each organization or participant can even have its own i am vendor and david mentioned a feature a new","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3126s"},{"start_seconds":3134,"text":"feature in demo2 called user management which touches on these im operations now this slide illustrates how im","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3134s"},{"start_seconds":3142,"text":"operates as mentioned first the demo application contacts the authorization server to get an","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3142s"},{"start_seconds":3150,"text":"access token called a javascript web token or drop as you see the api request","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3150s"},{"start_seconds":3156,"text":"has a dot token that the grpc server receives the grpc server extracts that token retrieves the public key from the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3156s"},{"start_seconds":3165,"text":"authorization server and validates the jot token now once validated that user id","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3165s"},{"start_seconds":3173,"text":"is mapped onto its associated parties and privileges the party information is then passed on to the demo interpreter","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3173s"},{"start_seconds":3181,"text":"now there are two main points i'd like to emphasize one is that a user is local to each participant node and the canton protocol only knows about","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3181s"},{"start_seconds":3190,"text":"parties now setting up this silent configuration is quite detailed and i would refer you to the documentation","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3190s"},{"start_seconds":3201,"text":"and at this point we have finished and concluded the presentation i there was quite a lot of detail we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3201s"},{"start_seconds":3208,"text":"went through and i'm sure there's lots of questions so uh who would like to take it away","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3208s"},{"start_seconds":3217,"text":"that would be that would be me uh am i on video awesome","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3217s"},{"start_seconds":3224,"text":"so we have a lot of great questions and i when i passed uh question number 12","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3224s"},{"start_seconds":3231,"text":"and then 15 and then 20 i realized that we will run out of time but that's okay what we're going to do is we're going to try our best to uh address some of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3231s"},{"start_seconds":3239,"text":"questions that are more um wide in general and then there will be ones that will need more time to to dive","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3239s"},{"start_seconds":3247,"text":"into and what we'll do is we'll either create a blog or we will somehow surface them in our form so if you have not joined our forum it's","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3247s"},{"start_seconds":3256,"text":"disqus.demo.com and we'll find a way to get those answers to you regardless uh so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3256s"},{"start_seconds":3264,"text":"the the let me start at the top um now the first question is what is the difference between demo 2.0 and canton now just","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3264s"},{"start_seconds":3272,"text":"what is it why does it warrant its own name so we may have covered some of that but uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3272s"},{"start_seconds":3280,"text":"david curtis do you want to quickly uh clarify that for for folks who may have joined later i can give that a try so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3280s"},{"start_seconds":3288,"text":"camel is a term that we use in different ways and i just want to mention that one way is we talked about damo as the entire","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3288s"},{"start_seconds":3296,"text":"solution stack right i mentioned that in one of the slides the other is we talked about demo as the smart contract language right so it's a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3296s"},{"start_seconds":3303,"text":"smart contract language and canton is the distributed ledger technology so there they can be a little bit confused","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3303s"},{"start_seconds":3311,"text":"if you talk about the solution stack but really damol is a smart contract language and canton is the distributed","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3311s"},{"start_seconds":3318,"text":"legend fantastic awesome so the next question we have is and these questions will be","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3318s"},{"start_seconds":3326,"text":"repeated and re-answered in the blog as well so i'm not gonna i'm not gonna let anybody uh let any question uh slip","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3326s"},{"start_seconds":3334,"text":"next question demo 1.0 was open source but i guess 2.0 is not","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3334s"},{"start_seconds":3341,"text":"we have a we have one of our engineers on online uh stefano um do you want to take that question","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3341s"},{"start_seconds":3350,"text":"i i can take it 2.0 is open source i think there's a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3350s"},{"start_seconds":3358,"text":"yeah sorry i'm on a linux laptop and he thinks that that might have both david and stefano uh clarify that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3358s"},{"start_seconds":3366,"text":"question uh yeah sure uh as mentioned by uh uh in in doing as an answer in in the chat uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3366s"},{"start_seconds":3376,"text":"demo 2.0 is just as open source as demo 1.0 uh it's development continues in the same","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3376s"},{"start_seconds":3384,"text":"repository we have a separate repository for canton the link is on the chat uh one thing that kurt is mentioning is that we also have an enterprise version","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3384s"},{"start_seconds":3392,"text":"that is not open source of course uh but the bulk of development still continues in the open source yeah just a couple comments on that we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3392s"},{"start_seconds":3401,"text":"we are committed to open source we believe in that that's one of the ways we think we gain security right it's been having lots of eyes appear at","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3401s"},{"start_seconds":3409,"text":"it and point things out a canton is open source there is an enterprise version where we have features like data pruning","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3409s"},{"start_seconds":3417,"text":"high performance etc etc but that's a small delta between the open source version of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3417s"},{"start_seconds":3426,"text":"canton when you get the open source version of canton you get a fully operable protocol so it will interoperate with the enterprise version","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3426s"},{"start_seconds":3433,"text":"as well next wonderful um stefano while we have you uh you answered a question about whether","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3433s"},{"start_seconds":3441,"text":"canton is compatible with demoscript do you want to uh share the answer with the uh with everybody","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3441s"},{"start_seconds":3448,"text":"yeah uh so for those who of you are new to demo demoscript is the component that allows you to run demo off ledger not as","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3448s"},{"start_seconds":3456,"text":"exclusive as the non-ledger language it's useful for initialization and testing and canton is able you're using you're able","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3456s"},{"start_seconds":3464,"text":"to use javascript with canton as much as you are with any other ledger api implementation awesome","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3464s"},{"start_seconds":3471,"text":"so next question when is demo hub expected to catch up with demo 2.0 when will we see demo hub have support for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3471s"},{"start_seconds":3479,"text":"2.0 in other words and i i think david you you may be uh the man for this yep yep good question um so we are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3479s"},{"start_seconds":3487,"text":"currently working on it um i can't give an exact date um but we hope you know in the next next couple of months the rumor","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3487s"},{"start_seconds":3494,"text":"hub will will offer double 2.0 and count on canton operations or count on","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3494s"},{"start_seconds":3501,"text":"um in in as a ledger option outstanding awesome now uh next question um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3501s"},{"start_seconds":3510,"text":"if they can turn encrypting or encryption then the oh if the the canton framework is encrypting then the transaction message is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3510s"},{"start_seconds":3518,"text":"distributed to all but read by only the participants intended to participate in the transaction is my","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3518s"},{"start_seconds":3525,"text":"understanding correct and i think uh curtis answered that in this portion which is the uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3525s"},{"start_seconds":3532,"text":"sub-transaction sub-transaction privacy right curtis uh correct we only send data to those","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3532s"},{"start_seconds":3539,"text":"nodes that have parties that need to to see or understand that data awesome","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3539s"},{"start_seconds":3547,"text":"next question does the canton protocol at all change the way certain contracts are divulged to parties","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3547s"},{"start_seconds":3556,"text":"as a result of an exercise of an exercise consequence does the canton protocol at all change","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3556s"},{"start_seconds":3563,"text":"the way contracts are developed which i presume is made observable to parties as a result of a exercise","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3563s"},{"start_seconds":3572,"text":"action i guess yeah in demo one um i think david mentioned that that data is broadcasted everywhere","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3572s"},{"start_seconds":3580,"text":"you have the envelope and the payload as being one of the same thing in in canson we distinguish between the envelope and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3580s"},{"start_seconds":3588,"text":"the payload and that they're both encrypted separately and only sent to the parties that need","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3588s"},{"start_seconds":3595,"text":"to know about it in terms of the payload the payload is only observable by those parties that need to see that payload so yes there's a difference between double","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3595s"},{"start_seconds":3603,"text":"one and double two wonderful the next question i'm gonna lump from various questions and that is regarding the difference between","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3603s"},{"start_seconds":3612,"text":"uh damo and canton and canton protocol uh and uh other platforms like corda and uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3612s"},{"start_seconds":3620,"text":"ethereum sort of the differences the high level differences who can who would like to take that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3620s"},{"start_seconds":3628,"text":"i'll i'll i'll take that so i mentioned that canton's superpower is its high privacy","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3628s"},{"start_seconds":3637,"text":"and that is the main differentiator that we have between canton and everything else","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3637s"},{"start_seconds":3645,"text":"the corner i think uses the history of the asset it brings it along","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3645s"},{"start_seconds":3652,"text":"ethereum and fabric they use the subgroup approach and if you would refer back to that that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3652s"},{"start_seconds":3659,"text":"slide you'd see that awesome um this is more of an architectural","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3659s"},{"start_seconds":3668,"text":"question is anything is there anything wrong with having the public party i guess the public as the only observer on","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3668s"},{"start_seconds":3676,"text":"every contract is anything wrong with having the public party as the only","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3676s"},{"start_seconds":3685,"text":"observer on every contract i presume this is this could be related","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3685s"},{"start_seconds":3692,"text":"to the idea that in demo hub we we can there's a default public party right the public can see the contracts","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3692s"},{"start_seconds":3700,"text":"uh but um is that a clear question","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3700s"},{"start_seconds":3707,"text":"so just yeah go ahead david i i cut out before the the start of this question let me just confirm is there anything wrong with having the public","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3707s"},{"start_seconds":3716,"text":"party as the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3716s"},{"start_seconds":3718,"text":"readers as yes the readers the observer on every contract um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3718s"},{"start_seconds":3725,"text":"i suppose that maps to your business your business requirement right do you want that public party to be able to read as read","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3725s"},{"start_seconds":3733,"text":"you know all of those those contracts every everything that goes through if you do then i personally don't see a see a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3733s"},{"start_seconds":3740,"text":"problem with it um i think i think that's kind of what it was created for right awesome","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3740s"},{"start_seconds":3748,"text":"uh this next question could be for curtis uh is there support for ssi and credentials in demo now i presume that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3748s"},{"start_seconds":3756,"text":"wasn't a typo that you didn't intend to say sso single sign-on and ssi meaning the self-sovereign","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3756s"},{"start_seconds":3764,"text":"identity connections uh uh credentials yeah we um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3764s"},{"start_seconds":3772,"text":"we use um zero so i don't i don't really understand the question i'll be honest we might have to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3772s"},{"start_seconds":3780,"text":"get back to them on that okay um what about the user management","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3780s"},{"start_seconds":3787,"text":"differences between demo one and demos two how is that gonna affect compatibility so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3787s"},{"start_seconds":3795,"text":"if we're talking about the new feature of user management it doesn't affect compatibil compatibility you can continue using the same","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3795s"},{"start_seconds":3803,"text":"job tokens in the same custom format that you had previously and you can still can continue to authenticate using","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3803s"},{"start_seconds":3811,"text":"using those old old formats if you want to use user management then you can create a jot in the new format um with","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3811s"},{"start_seconds":3819,"text":"the the user information in it wonderful uh next question is about uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3819s"},{"start_seconds":3826,"text":"databases as opposed to using dlt why do we use sql database can we not use couchdb or any","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3826s"},{"start_seconds":3834,"text":"other dbs is canton configurable with other databases if we wish if we wish to use other","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3834s"},{"start_seconds":3842,"text":"databases instead of sql we um we test and validate against postgres in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3842s"},{"start_seconds":3850,"text":"oracle postgres is available in the open source oracle is an enterprise class driver","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3850s"},{"start_seconds":3858,"text":"there are lots of databases out there and we just don't have the bandwidth to be able to use any database app","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3858s"},{"start_seconds":3866,"text":"you know so i in theory there is no problem in reality there are probably subtle","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3866s"},{"start_seconds":3874,"text":"differences that the drivers would need to be changed or altered so as as demand for different databases","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3874s"},{"start_seconds":3882,"text":"is produced we will respond accordingly if you remember uh the sequencer node is there","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3882s"},{"start_seconds":3890,"text":"and what we need to do is just to tailor it for the particular underlying synchronization technologies","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3890s"},{"start_seconds":3898,"text":"we've done that for a couple of databases extending it for a third or fourth is possible","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3898s"},{"start_seconds":3905,"text":"but you know given given all of the features and requests from our customers we have to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3905s"},{"start_seconds":3913,"text":"we have to do this on a basis of priority so in theory yes um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3913s"},{"start_seconds":3920,"text":"yeah uh next question what features of demo 2.0 are not available on specific platforms now","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3920s"},{"start_seconds":3929,"text":"for example fabric so what features of demo 2.0 are not","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3929s"},{"start_seconds":3937,"text":"available on specific platforms now yeah not not answering on a feature level because i don't i don't think um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3937s"},{"start_seconds":3945,"text":"there are features available on certain platforms and not on others at the current state we have","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3945s"},{"start_seconds":3953,"text":"um a ga driver so the postgres and oracle rga","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3953s"},{"start_seconds":3960,"text":"and then drivers for bay zoo and fabric are currently beta","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3960s"},{"start_seconds":3967,"text":"soon to be soon to be ga fantastic there's a question on how are we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3967s"},{"start_seconds":3975,"text":"handling the private keys of each participant node this is probably a question with the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3975s"},{"start_seconds":3984,"text":"user management how are we handling the private keys for each participant node so the key","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3984s"},{"start_seconds":3993,"text":"right now the key handling is local to each node and it is stored in the um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=3993s"},{"start_seconds":4000,"text":"it's stored on the participant node we are looking at the requirements to be able to use a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4000s"},{"start_seconds":4008,"text":"hardware or software-based key management integration and so having the key stored off the node","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4008s"},{"start_seconds":4017,"text":"is something we are looking to do shortly awesome here's a question is canton customizable","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4017s"},{"start_seconds":4026,"text":"outside of basic configurations to fit clients a client environment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4026s"},{"start_seconds":4035,"text":"i guess this is a question of how configurable uh how customizable is is the is the canton uh yeah","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4035s"},{"start_seconds":4043,"text":"the um we have some very energetic intelligent engineers and so it is highly customizable","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4043s"},{"start_seconds":4050,"text":"um you know there's this tug of war that goes on between the product manager and the engineers or the product manager says make it as simple as possible and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4050s"},{"start_seconds":4059,"text":"the end the engineers think yes but we have to make it configurable for matching all of these other potential use cases","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4059s"},{"start_seconds":4067,"text":"and so we've come up with a way that is fairly convenient in that we provide you smart defaults and if you want to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4067s"},{"start_seconds":4074,"text":"override those smart defaults you can use an adjacent configuration file wonderful","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4074s"},{"start_seconds":4083,"text":"can we get an example demo or perhaps if we can point this person to a resource where we show how the participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4083s"},{"start_seconds":4090,"text":"metering feature actually works with multiple canton domains","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4090s"},{"start_seconds":4097,"text":"so where can we find where can we point folks to for more information or implementation","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4097s"},{"start_seconds":4103,"text":"of the participant metering feature so the documentation is the best place","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4103s"},{"start_seconds":4110,"text":"to go i think if you're talking about multiple domains so the participant metering just works at the participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4110s"},{"start_seconds":4118,"text":"level right so um it is charged per event on the participant so whether you're connected to multiple domains in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4118s"},{"start_seconds":4126,"text":"um with a multi-domain an early access feature or the connected to one domain the the ledger metering was done on that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4126s"},{"start_seconds":4135,"text":"individual participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4135s"},{"start_seconds":4138,"text":"awesome uh here's a question i like uh well i like all the questions is a good question are there limitations on the number of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4138s"},{"start_seconds":4146,"text":"interconnected domains in canton and what is the impact on on cross-domain messaging performance","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4146s"},{"start_seconds":4155,"text":"yeah so the multi-domain just the people want to do this the the multi-domain feature is early","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4155s"},{"start_seconds":4162,"text":"access and what we mean by early access is we're putting it out there for you to to play with but we do not recommend it go into","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4162s"},{"start_seconds":4170,"text":"production we are obviously working towards ga but we just want to make you aware of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4170s"},{"start_seconds":4178,"text":"that there is a um in the documentation is a multi-domain workflow demo if you want to go and try that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4178s"},{"start_seconds":4186,"text":"and so that is something you may want to do um and um steve","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4186s"},{"start_seconds":4194,"text":"is there anything i missed in that question no i think you got it okay yeah i think you got it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4194s"},{"start_seconds":4203,"text":"uh here's a a good question um you said demo language programmer well the developer can use","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4203s"},{"start_seconds":4211,"text":"canton driver to natively encrypt data in the legend how is this different than non-canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4211s"},{"start_seconds":4219,"text":"ledgers like hyper ledger isn't it possible for the programmer to encrypt the content of the block in hyper ledger if he or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4219s"},{"start_seconds":4228,"text":"she wishes to do so so this is a question about encryption and what is done natively and what's done outside of the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4228s"},{"start_seconds":4236,"text":"canton platform yeah so demo as a smart contract language","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4236s"},{"start_seconds":4244,"text":"is compiled down to execute api calls against the demo ledger so so the demo ledger is a a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4244s"},{"start_seconds":4252,"text":"model it's very sophisticated very sophisticated one of the things that i was impressed with when i i started reading up a demo is how a lot","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4252s"},{"start_seconds":4261,"text":"of the problems related to distributed applications or multi-organization applications","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4261s"},{"start_seconds":4268,"text":"were solved so if we go back to that that first slide about the four properties of secure synchronization um that is what we are aiming for","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4268s"},{"start_seconds":4277,"text":"and if you uh now that runs on top of cancel so now we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4277s"},{"start_seconds":4284,"text":"have the full privacy we did not have that before so we we we implement all of the demo ledger api","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4284s"},{"start_seconds":4293,"text":"now what you're asking is could something like the demo ledger it has all its sophistication and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4293s"},{"start_seconds":4301,"text":"its properties be constructed manually by programmers","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4301s"},{"start_seconds":4308,"text":"anything is possible right but the question is why would you want to do that because it's certainly error-prone um you know","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4308s"},{"start_seconds":4317,"text":"i have a joke where in the group i'm in we have more phds than university departments have and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4317s"},{"start_seconds":4324,"text":"that's the truth right there are a lot of smart people that have spent seven years building this and have had to rework it several times","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4324s"},{"start_seconds":4333,"text":"you're leveraging all of that knowledge and expertise and testing right so i i would say that's the reason","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4333s"},{"start_seconds":4342,"text":"in case that question is asking some something maybe different i think what they might be asking or sorry","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4342s"},{"start_seconds":4350,"text":"my interpretation was um can't you just encrypt things with ethereum what kind of block being encrypted with ethereum","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4350s"},{"start_seconds":4358,"text":"and i think the the the difference is the transaction so um curtis spoke a lot about sub transaction privacy and i","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4358s"},{"start_seconds":4365,"text":"believe in ethereum things are transacted things are encrypted at a channel level so anyone on that chat anyone outside of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4365s"},{"start_seconds":4373,"text":"that channel can't decrypt it but anyone on the channel can encrypt it so if you take um curtis's example of the bank alice","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4373s"},{"start_seconds":4381,"text":"bob and the the factory all of those would be on the same channel and therefore all would know about the same transaction","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4381s"},{"start_seconds":4388,"text":"with damil the bank and the factory don't need to know about each other and we don't make we don't let them know about each other because we encrypt","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4388s"},{"start_seconds":4396,"text":"things in a way that they can't decrypt it only the part only the parties um involving that tracks in transaction","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4396s"},{"start_seconds":4404,"text":"can decrypt the things that they need to know about i think that might be the difference yeah","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4404s"},{"start_seconds":4416,"text":"thanks david i love these questions i've done about you guys yeah really good questions uh and and if you are","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4416s"},{"start_seconds":4424,"text":"uh if you don't post your questions uh publicly on the chat uh feel free to hit us up on discuss.demo.com and just push your","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4424s"},{"start_seconds":4431,"text":"questions today we'll get we'll get to them if it's an architectural question or a technical question just post it there we'll we'll get it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4431s"},{"start_seconds":4439,"text":"answered here's another one the reverse of fully private data is the recovery of re is the required recovery","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4439s"},{"start_seconds":4448,"text":"requirement for failed nodes so again the reverse of fully private data is the recovery of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4448s"},{"start_seconds":4456,"text":"failed nodes the recovery requirements of failed nodes is that a responsibility of demo","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4456s"},{"start_seconds":4462,"text":"or the client apps","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4462s"},{"start_seconds":4474,"text":"the reverse of fully private data is the recovery requirement for filled","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4474s"},{"start_seconds":4481,"text":"notes notes that fail i presume in doing the transaction is that a responsibility","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4481s"},{"start_seconds":4487,"text":"of demo or client apps so at the participant node level","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4487s"},{"start_seconds":4496,"text":"you have the ability to back up your databases and the node itself exchange exchanges","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4496s"},{"start_seconds":4504,"text":"snapshots of the active contracts and so you if a participant know it fails you can restore the database start it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4504s"},{"start_seconds":4512,"text":"back up and it will talk to its the other participant nodes in the domains exchange snapshots of active contracts","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4512s"},{"start_seconds":4520,"text":"and thereby bring itself up to the current state so i i think it's a","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4520s"},{"start_seconds":4528,"text":"node level built-in capability i hope i answered the question i hope so too now for the crash the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4528s"},{"start_seconds":4537,"text":"person who posed a question if we did not hit the nail on the head please uh reach out to me uh and we will we'll make sure that we get","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4537s"},{"start_seconds":4545,"text":"it clarified um let me find another one that we can answer","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4545s"},{"start_seconds":4552,"text":"in the frame of time we have let's try this one is the concept of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4552s"},{"start_seconds":4562,"text":"time now better with canton does the confirmation to participants have the same ledger time which all","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4562s"},{"start_seconds":4570,"text":"party of which all participants could rely on so i'll repeat that is the concept of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4570s"},{"start_seconds":4577,"text":"time now better with canton i presume time is in time stamping time does the confirmation to participant","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4577s"},{"start_seconds":4585,"text":"notes participants have the same ledger time which all participants can rely on","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4585s"},{"start_seconds":4592,"text":"so the second one the answer is yes and the first one is always the the demo ledger","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4592s"},{"start_seconds":4600,"text":"has a model of time and canton implements that model and so you can program against that so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4600s"},{"start_seconds":4609,"text":"those are the best i refer you to the canton ledger causality in time description","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4609s"},{"start_seconds":4616,"text":"and to the second part the answer is yes wonderful there are a few more questions and we're","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4616s"},{"start_seconds":4622,"text":"going to need a more uh need to deep dive a little bit more and ask some clarifying questions to to answer and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4622s"},{"start_seconds":4630,"text":"what i'll do is we what we will do is to put that into that that blog or either we'll do a blog or a some post it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4630s"},{"start_seconds":4638,"text":"somewhere in the forum or make it into a video or maybe we'll do all three um let me see is there any more questions that uh that we we","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4638s"},{"start_seconds":4647,"text":"may have missed i'm scrolling down i think that's like 20 or 25 questions now would that be an example of how to use","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4647s"},{"start_seconds":4655,"text":"the system would that be an example of how to use the system i presume we're talking about um tutorials and","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4655s"},{"start_seconds":4663,"text":"ref apps and things like that and that is probably a question for me yes there will be and there is already","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4663s"},{"start_seconds":4671,"text":"one if you go to the documentation and the section where we start to talk about canton there is a very simple uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4671s"},{"start_seconds":4678,"text":"section that walks you through implementing uh adding the party to the participant notes adding the participant to the domain","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4678s"},{"start_seconds":4685,"text":"and and so walk through that uh that that tutorial i think that's the best first stop to make if you are new to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4685s"},{"start_seconds":4693,"text":"this let me just scroll through the questions i think one just come in","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4693s"},{"start_seconds":4701,"text":"oh is octa available with demo hub yes i saw that i wanted to know what","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4701s"},{"start_seconds":4709,"text":"available meant um i think do we offer it with demo hub no um","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4709s"},{"start_seconds":4716,"text":"can you use it with demo hub i need to need to check got it","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4716s"},{"start_seconds":4728,"text":"okay other than the questions that we we need uh more time to elaborate on i think we covered most of the the key","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4728s"},{"start_seconds":4737,"text":"questions from the uh from the forum surprise we did it i think that was like 15 questions or 20 questions right there","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4737s"},{"start_seconds":4745,"text":"uh so um curtis david stefano is there any uh last um uh concluding remarks or","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4745s"},{"start_seconds":4753,"text":"thoughts that you want to add any direction you want uh our audience to to take a look at or pursue","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4753s"},{"start_seconds":4762,"text":"so i mean with demo 2.0 i mentioned the release notes in other times go take a look you know they'll have the details in if you have any questions reach out","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4762s"},{"start_seconds":4769,"text":"to any of us and we'll be happy to help or post your question on the forum that's probably the best way to to to get an answer quickly there's a lot of","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4769s"},{"start_seconds":4776,"text":"very active uh demo developers on there who will uh who will answer your question yep and do answer them in the forums as","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4776s"},{"start_seconds":4784,"text":"well and maybe there's a question for for stefano now if i have if i'm running a 1.81 project and i want to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4784s"},{"start_seconds":4792,"text":"give i want to kick the tires for demo 2.0 they can co-exist right is that control in the in the yaml file how do i","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4792s"},{"start_seconds":4801,"text":"go about being able to to do both on the same development development environment","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4801s"},{"start_seconds":4807,"text":"uh do you mean using i mean in general what what you would do is just transition your project to demo2 by by","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4807s"},{"start_seconds":4816,"text":"updating your your demo demo uh and as mentioned by david before the the transition should be relatively","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4816s"},{"start_seconds":4824,"text":"smoothless you will encounter maybe a few warnings or compilation errors and so on but it should be relatively easy to fix those","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4824s"},{"start_seconds":4831,"text":"um there were a few deprecations that that were there for a long time so but again the upgrade the","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4831s"},{"start_seconds":4838,"text":"upgrade should be relatively smooth uh one thing that david mentioned is uh part identifiers those change a bit so","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4838s"},{"start_seconds":4845,"text":"those will need to be handled uh but apart from that uh the transitions will be relatively smooth in terms of coexisting i'm not","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4845s"},{"start_seconds":4853,"text":"entirely sure uh whether whether this goes in direction you want it but yeah you answered it now you talked","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4853s"},{"start_seconds":4860,"text":"about deprecations and one of the things that we highlighted in our release notes is that the the handling of the uh the party id","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4860s"},{"start_seconds":4869,"text":"star we have a different way to generate these uh unique ids now and that if their current project had hard-coded","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4869s"},{"start_seconds":4876,"text":"the the unique ids into into the demo file into the into the code that that may break right do you want to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4876s"},{"start_seconds":4883,"text":"add some color to that yeah sure um as mentioned canton","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4883s"},{"start_seconds":4889,"text":"produces uh these uh more complex uh party identifiers uh that is","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4889s"},{"start_seconds":4896,"text":"uh tldr uh done to make sure that you can have parties that can exist in at the global level uh the impact on projects as you mentioned","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4896s"},{"start_seconds":4905,"text":"is that you cannot rely anymore on hard coding your party identifiers this means that you will be able you can use the new","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4905s"},{"start_seconds":4913,"text":"user management service to query for parties that are associated with given user and you can use those services uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4913s"},{"start_seconds":4920,"text":"to make sure that your application can can work these are probably going to be the more involved parting which is going to be","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4920s"},{"start_seconds":4929,"text":"as you transition your project from the move one from the two demo two uh but again the documentation should include","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4929s"},{"start_seconds":4936,"text":"examples on uh on how to use this and again it just boils down to just simple best practices don't hard code your party names but use","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4936s"},{"start_seconds":4945,"text":"the services in the ledger api to build your application good advice wonderful so we've come to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4945s"},{"start_seconds":4954,"text":"the the end of the webinar again feel free to post your questions and check out answers in our forums and that","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4954s"},{"start_seconds":4961,"text":"is discuss.demo.com and we would love to uh hear from you guys","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4961s"},{"start_seconds":4968,"text":"if this had been a useful session and if we uh should do it again and what kind of topics you would like us to to cover","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4968s"},{"start_seconds":4976,"text":"uh we have a team across the entire uh uh continent across all the continents so we can cover any time zone we're happy to dive","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4976s"},{"start_seconds":4984,"text":"into any topic now if there is a conversation that's more um business than technical we're happy to","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4984s"},{"start_seconds":4992,"text":"to point you in the right direction uh as well so with that i think we can uh","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=4992s"},{"start_seconds":5001,"text":"uh wrap this up and uh once again thank you for uh joining us david curtis stefano thank you very much","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=5001s"},{"start_seconds":5010,"text":"thanks steve take care thank you bye","url":"https://www.youtube.com/watch?v=KdJvWcdrkRk&t=5010s"}],"youtube_url":"https://youtube.com/watch?v=KdJvWcdrkRk","url":"https://ccpedia.xyz/videos/KdJvWcdrkRk"}