{"id":"Ft_Pa_0Vamc","title":"Lesson 1: What is Canton","description":"For a better learning experience, sign up and enroll in this free course at: https://daml.talentlms.com/plus/catalog/courses/153","channel_name":"Digital Asset Training","published_at":"2025-02-20T00:00:00.000Z","thumbnail_url":"https://i.ytimg.com/vi/Ft_Pa_0Vamc/hqdefault.jpg","transcript_text":"to develop high performance distributed applications it is important to understand the underlying architecture its components and how they operate in this lesson we will look at how daml applications operate under the hood and also learn about the components in the daml ecosystem that enable them to span multiple parties and networks while ensuring data sovereignty privacy and synchronization let us start with a simple scenario in which multiple parties need to interact with each other in a business transaction let us say that there are two manufacturers A and B manufacturing widgets and two shipping companies C and D providing shipping services to A and B there are three important considerations to keep in mind when designing a system for these companies to engage in business transactions first is trust a and and B being competitors do not trust each other the same applies to C and D organizations do not want their data to be visible to their competitors but they do need to share some data selectively to carry out business transactions a should be able to share its inventory data with c and d without worrying about B having access to that information similarly C should be able to get business from A and B without worrying about D being able to see its business transactions data generated from this crisscross of relationships should not be exposed to competitors as it can result in loss of business and legal challenges this lack of trust in turn means that organizations want to have complete control over their data and also limit visibility into it to protect privacy the second important consideration is reconciliation for example let's say a shipped 100 units of a product using C but due to some shipment issues C could deliver only 95 units at the destination this Gap needs to be reconciled to make sure that all books balance out correctly and this reconciliation because of its scale and complexity needs to be automated for automating such business transactions that cross organizational boundaries traditional architecture uses multiple point-to-point communication networks those networks process messages concurrently with each organization keeping its local data store with full data ownership this distributed architecture approach leads to two types of problems the first type is messages getting out of order due to inherent Network delays message drops duplicate messages out of sync clocks Network outages and so on the second type of problem problem is the interpretation of messages the messages are generated from a variety of platforms so they need to be correctly interpreted and ingested into the destination systems any changes in the message format or errors in interpretation logic lead to communication breakdowns handling such breakdowns requires manual intervention and troubleshooting which often requires coordination and collaboration across multiple organizations this leads to delays and loss of productivity one solution to this problem is to use blockchain as the backend where the data across all the organizations is stored this solution removes the hassles of point-to-point communication however this architecture introduces two problems the first problem is that the blockchain by itself offers little to no privacy because every party can see every transaction all the data and its metadata this breaks the consideration of trust because organizations competing against each other cannot work with this kind of architecture the second problem is the loss of data sovereignty all companies want to control their own it systems and data with traditional blockchain they give up that sovereignty it also means that if an organization needs to delete some historical data due to regulations such as GD PR it cannot do that unilaterally because there are multiple copies of the entire data across the network with all the parties this is where the Canton distributed Ledger solution comes in at a high level its solution is twofold first each organization can own its data in a local data storage no other organization has access to this local data store this data store keeps a record of all the smart contracts in which the organization is involved it is called the private contract store or PCS these independent data stores across the network make up what is called a virtual Global Ledger individual organizations can only keep those parts of the Ledger for which they are authorized this takes care of data sovereignty and privacy a PCS is part of a bigger Canton component called a participant node a participant node is a server through which the users of an organization can access the organization's PCS it is important to note that the smart contracts stored on a PCS are visible only to those parties that are registered on its node and their access is controlled according to their Authority and privacy rights a participant node houses the daml archa files or Dar files Dar files are generated from the daml code that models business logic and process workflows a participant node handles authentication transaction validation and many other services required for a DL application to function in this way participant nodes address the need for data sovereignty and privacy by controlling access to The Ledger for synchronization participant nodes use the synchronization layer the synchronization layer is a guaranteed total order multicast system that ensures consistency of message ordering and delivery between participant nodes it resolves the reconciliation problem and also offers some other identity and transaction coordination services this layer can run on a traditional sql-based system such as Oracle or postgress or on a blockchain platform such as hyperledger Fabric or Basu distributed ledgers achieve this consistency by using a consensus protocol and the Canton distributed Ledger solution provides its own consensus mechanism which is called the Canton protocol you can think of a consensus protocol as an algorithm that is followed by all the nodes in a decentralized network to ensure agreement trust and security the Canton protocol makes sure that all smart contracts related to a business transaction stored in a database are either updated completely or if there is any problem the entire transaction is aborted this all or none guarantee provided by the Canton protocol avoids the reconciliation problem so now there is a solution that takes care of the trust and privacy issue by having each organization keep its data in a local data storage and Reconciliation issue by providing High consistency guarantees on messaging and transaction coordination through a synchronization layer let us now zoom into the syn synchronization layer to see how it works at an abstract level a participant node connects to a sync domain that facilitates synchronization of transactions a sync domain has one or more sequencers that establish the total order of messages and Implement a total order multicast it also ensures that only relevant messages are sent to the participant nodes which further strengthens privacy and enables scaling a sync domain also has one or more mediators that coordinate transaction commits across multiple parties ensuring privacy and atomicity of each transaction let us summarize what we have learned so far the point-to-point network communication channels used by organizations to carry out multi-party transactions are fraught with technical problems related to the network as well as problems related to message interpretation these problems require manual intervention and lead to reconciliation issues that are hard and expensive to resolve the blockchain technology used in its raw form offers a synchronized data layer resolving the reconciliation challenge but it takes away data sovereignty and privacy which are critical for organizations to function in a competitive market setting the Canton distributed Ledger solution resolves these challenges by offering a solution that at a high level has two two parts first each organization keeps its own local data store which enables privacy and data sovereignty and second all organizations connect to an underlying synchronization layer that ensures consistency of data across the network and resolves the reconciliation issue by a consensus mechanism called The Canton protocol the underlying network of Canton distributed Ledger solution is called the Canton Network and has the following key component components first participant node where the daml application in the form of Dar files and the smart contract Ledger called Canton Ledger or daml Ledger reside this is where parties are hosted and given access to Smart contracts and second sync domain which serves as the synchronization layer it has one or more sequencers which ensure total ordering of messages and a mediator which ensures atomicity of business transactions","transcript_synced_at":"2026-10-26T04:01:52.668Z","segments":[{"start_seconds":1,"text":"to develop high performance distributed applications it is important to understand the underlying architecture","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=1s"},{"start_seconds":8,"text":"its components and how they operate in this lesson we will look at how daml applications operate under the hood and","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=8s"},{"start_seconds":17,"text":"also learn about the components in the daml ecosystem that enable them to span multiple parties and networks while","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=17s"},{"start_seconds":24,"text":"ensuring data sovereignty privacy and synchronization let us start with a simple scenario in which multiple","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=24s"},{"start_seconds":31,"text":"parties need to interact with each other in a business transaction let us say that there are two manufacturers A and B manufacturing","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=31s"},{"start_seconds":41,"text":"widgets and two shipping companies C and D providing shipping services to A and B","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=41s"},{"start_seconds":49,"text":"there are three important considerations to keep in mind when designing a system for these companies to engage in business","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=49s"},{"start_seconds":56,"text":"transactions first is trust a and and B being competitors do not trust each","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=56s"},{"start_seconds":63,"text":"other the same applies to C and D organizations do not want their data to be visible to their competitors but they","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=63s"},{"start_seconds":71,"text":"do need to share some data selectively to carry out business transactions a should be able to share","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=71s"},{"start_seconds":78,"text":"its inventory data with c and d without worrying about B having access to that information similarly C should be able","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=78s"},{"start_seconds":87,"text":"to get business from A and B without worrying about D being able to see its business transactions data generated from this","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=87s"},{"start_seconds":96,"text":"crisscross of relationships should not be exposed to competitors as it can result in loss of business and legal","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=96s"},{"start_seconds":103,"text":"challenges this lack of trust in turn means that organizations want to have complete control over their data and","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=103s"},{"start_seconds":111,"text":"also limit visibility into it to protect privacy the second important consideration is","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=111s"},{"start_seconds":118,"text":"reconciliation for example let's say a shipped 100 units of a product using C but due to some shipment issues C could","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=118s"},{"start_seconds":127,"text":"deliver only 95 units at the destination this Gap needs to be reconciled to make sure that all books","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=127s"},{"start_seconds":134,"text":"balance out correctly and this reconciliation because of its scale and complexity needs to be","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=134s"},{"start_seconds":142,"text":"automated for automating such business transactions that cross organizational boundaries traditional architecture uses","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=142s"},{"start_seconds":150,"text":"multiple point-to-point communication networks those networks process messages concurrently with each organization","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=150s"},{"start_seconds":158,"text":"keeping its local data store with full data ownership this distributed architecture approach leads to two types of problems","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=158s"},{"start_seconds":167,"text":"the first type is messages getting out of order due to inherent Network delays message drops duplicate messages out of","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=167s"},{"start_seconds":175,"text":"sync clocks Network outages and so on the second type of problem problem is the interpretation of messages the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=175s"},{"start_seconds":183,"text":"messages are generated from a variety of platforms so they need to be correctly interpreted and ingested into the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=183s"},{"start_seconds":190,"text":"destination systems any changes in the message format or errors in interpretation logic lead to communication","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=190s"},{"start_seconds":198,"text":"breakdowns handling such breakdowns requires manual intervention and troubleshooting which often requires","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=198s"},{"start_seconds":205,"text":"coordination and collaboration across multiple organizations this leads to delays and loss of","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=205s"},{"start_seconds":213,"text":"productivity one solution to this problem is to use blockchain as the backend where the data across all the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=213s"},{"start_seconds":220,"text":"organizations is stored this solution removes the hassles of point-to-point communication however this architecture","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=220s"},{"start_seconds":228,"text":"introduces two problems the first problem is that the blockchain by itself offers little to no privacy because","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=228s"},{"start_seconds":237,"text":"every party can see every transaction all the data and its metadata this breaks the consideration","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=237s"},{"start_seconds":244,"text":"of trust because organizations competing against each other cannot work with this kind of architecture the second problem","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=244s"},{"start_seconds":252,"text":"is the loss of data sovereignty all companies want to control their own it systems and data with traditional","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=252s"},{"start_seconds":259,"text":"blockchain they give up that sovereignty it also means that if an organization needs to delete some historical data due","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=259s"},{"start_seconds":267,"text":"to regulations such as GD PR it cannot do that unilaterally because there are multiple copies of the entire data","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=267s"},{"start_seconds":276,"text":"across the network with all the parties this is where the Canton distributed Ledger solution comes in at a high level","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=276s"},{"start_seconds":284,"text":"its solution is twofold first each organization can own its data in a local data storage no other organization has","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=284s"},{"start_seconds":293,"text":"access to this local data store this data store keeps a record of all the smart contracts in which the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=293s"},{"start_seconds":300,"text":"organization is involved it is called the private contract store or PCS these independent data stores across the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=300s"},{"start_seconds":309,"text":"network make up what is called a virtual Global Ledger individual organizations can only keep those parts of the Ledger","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=309s"},{"start_seconds":317,"text":"for which they are authorized this takes care of data sovereignty and privacy a PCS is part of a bigger Canton component","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=317s"},{"start_seconds":326,"text":"called a participant node a participant node is a server through which the users of an organization can access the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=326s"},{"start_seconds":334,"text":"organization's PCS it is important to note that the smart contracts stored on a PCS are visible only to those parties","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=334s"},{"start_seconds":343,"text":"that are registered on its node and their access is controlled according to their Authority and privacy rights a","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=343s"},{"start_seconds":350,"text":"participant node houses the daml archa files or Dar files Dar files are generated from the daml code that models","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=350s"},{"start_seconds":359,"text":"business logic and process workflows a participant node handles authentication transaction validation and many other","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=359s"},{"start_seconds":368,"text":"services required for a DL application to function in this way participant nodes address the need for data","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=368s"},{"start_seconds":375,"text":"sovereignty and privacy by controlling access to The Ledger for synchronization participant nodes use the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=375s"},{"start_seconds":383,"text":"synchronization layer the synchronization layer is a guaranteed total order multicast system","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=383s"},{"start_seconds":390,"text":"that ensures consistency of message ordering and delivery between participant nodes it resolves the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=390s"},{"start_seconds":396,"text":"reconciliation problem and also offers some other identity and transaction coordination services this layer can run","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=396s"},{"start_seconds":405,"text":"on a traditional sql-based system such as Oracle or postgress or on a blockchain platform such as hyperledger","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=405s"},{"start_seconds":412,"text":"Fabric or Basu distributed ledgers achieve this consistency by using a consensus protocol","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=412s"},{"start_seconds":420,"text":"and the Canton distributed Ledger solution provides its own consensus mechanism which is called the Canton","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=420s"},{"start_seconds":426,"text":"protocol you can think of a consensus protocol as an algorithm that is followed by all the nodes in a decentralized network to ensure","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=426s"},{"start_seconds":435,"text":"agreement trust and security the Canton protocol makes sure that all smart contracts related to a business","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=435s"},{"start_seconds":442,"text":"transaction stored in a database are either updated completely or if there is any problem the entire transaction is","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=442s"},{"start_seconds":451,"text":"aborted this all or none guarantee provided by the Canton protocol avoids the reconciliation problem so now there","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=451s"},{"start_seconds":459,"text":"is a solution that takes care of the trust and privacy issue by having each organization keep its data in a local","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=459s"},{"start_seconds":466,"text":"data storage and Reconciliation issue by providing High consistency guarantees on messaging and transaction coordination","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=466s"},{"start_seconds":475,"text":"through a synchronization layer let us now zoom into the syn synchronization layer to see how it","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=475s"},{"start_seconds":481,"text":"works at an abstract level a participant node connects to a sync domain that facilitates synchronization of","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=481s"},{"start_seconds":489,"text":"transactions a sync domain has one or more sequencers that establish the total order of messages and Implement a total","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=489s"},{"start_seconds":497,"text":"order multicast it also ensures that only relevant messages are sent to the participant nodes which further","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=497s"},{"start_seconds":504,"text":"strengthens privacy and enables scaling a sync domain also has one or more mediators that coordinate transaction","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=504s"},{"start_seconds":512,"text":"commits across multiple parties ensuring privacy and atomicity of each transaction let us summarize what we","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=512s"},{"start_seconds":521,"text":"have learned so far the point-to-point network communication channels used by organizations to carry out multi-party","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=521s"},{"start_seconds":528,"text":"transactions are fraught with technical problems related to the network as well as problems related to message","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=528s"},{"start_seconds":536,"text":"interpretation these problems require manual intervention and lead to reconciliation issues that are hard and","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=536s"},{"start_seconds":543,"text":"expensive to resolve the blockchain technology used in its raw form offers a synchronized data layer resolving the","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=543s"},{"start_seconds":551,"text":"reconciliation challenge but it takes away data sovereignty and privacy which are critical for organizations to","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=551s"},{"start_seconds":558,"text":"function in a competitive market setting the Canton distributed Ledger solution resolves these challenges by offering a","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=558s"},{"start_seconds":566,"text":"solution that at a high level has two two parts first each organization keeps its own local data store which enables","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=566s"},{"start_seconds":574,"text":"privacy and data sovereignty and second all organizations connect to an underlying synchronization layer that","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=574s"},{"start_seconds":582,"text":"ensures consistency of data across the network and resolves the reconciliation issue by a consensus mechanism called","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=582s"},{"start_seconds":589,"text":"The Canton protocol the underlying network of Canton distributed Ledger solution is called the Canton Network","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=589s"},{"start_seconds":597,"text":"and has the following key component components first participant node where the daml application in the form of Dar","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=597s"},{"start_seconds":604,"text":"files and the smart contract Ledger called Canton Ledger or daml Ledger reside this is where parties are hosted","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=604s"},{"start_seconds":613,"text":"and given access to Smart contracts and second sync domain which serves as the synchronization layer it has one or more","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=613s"},{"start_seconds":622,"text":"sequencers which ensure total ordering of messages and a mediator which ensures atomicity of business","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=622s"},{"start_seconds":648,"text":"transactions","url":"https://www.youtube.com/watch?v=Ft_Pa_0Vamc&t=648s"}],"youtube_url":"https://youtube.com/watch?v=Ft_Pa_0Vamc","url":"https://ccpedia.xyz/videos/Ft_Pa_0Vamc"}