1"use strict";(self.webpackChunkopentezos=self.webpackChunkopentezos||[]).push([[7153],{15680:(e,t,n)=>{n.d(t,{xA:()=>h,yg:()=>y});var a=n(96540);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},s=Object.keys(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},h=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,s=e.originalType,l=e.parentName,h=r(e,["components","mdxType","originalType","parentName"]),p=c(n),g=i,y=p["".concat(l,".").concat(g)]||p[g]||d[g]||s;return n?a.createElement(y,o(o({ref:t},h),{},{components:n})):a.createElement(y,o({ref:t},h))}));function y(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var s=n.length,o=new Array(s);o[0]=g;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r[p]="string"==typeof e?e:i,o[1]=r;for(var c=2;c<s;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},98295:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=n(58168),i=(n(96540),n(15680));const s={id:"sapling",title:"Sapling",authors:"Daniel Nomadic"},o=void 0,r={unversionedId:"tezos-basics/sapling/sapling",id:"tezos-basics/sapling/sapling",title:"Sapling",description:"Introduction",source:"@site/prebuild/tezos-basics/sapling/sapling.md",sourceDirName:"tezos-basics/sapling",slug:"/tezos-basics/sapling/",permalink:"/tezos-basics/sapling/",draft:!1,editUrl:"https://gitlab.com/tezos-paris-hub/opentezos/-/blob/main/prebuild/tezos-basics/sapling/sapling.md",tags:[],version:"current",frontMatter:{id:"sapling",title:"Sapling",authors:"Daniel Nomadic"}},l={},c=[{value:"Introduction",id:"introduction",level:2},{value:"De\ufb01nition of the main concepts",id:"de\ufb01nition-of-the-main-concepts",level:2},{value:"Key management",id:"key-management",level:2},{value:"Demonstration",id:"demonstration",level:2},{value:"Example without monitoring of the transaction by a third party",id:"example-without-monitoring-of-the-transaction-by-a-third-party",level:3}],h={toc:c},p="wrapper";function d(e){let{components:t,...s}=e;return(0,i.yg)(p,(0,a.A)({},h,s,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("h2",{id:"introduction"},"Introduction"),(0,i.yg)("p",null,"The majority of public blockchains allow anyone with access to the Internet to monitor all operations on the chain."),(0,i.yg)("p",null,"Moreover, by knowing a user\u2019s address (from a payment, for example), anyone can:"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"read the balance of his account")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"see incoming and outgoing transactions since the account creation, as well as the amounts sent and recipients."))),(0,i.yg)("p",null,"These aspects may be with the protection of users\u2019 privacy\xb9, as well as the right to be forgotten\xb2."),(0,i.yg)("p",null,"To remedy this situation, Tezos offers contracts based on the ",(0,i.yg)("strong",{parentName:"p"},"Sapling")," protocol. This protocol provides both ",(0,i.yg)("strong",{parentName:"p"},"the protection of users\u2019 privacy and transparency with regard to the regulators"),"."),(0,i.yg)("small",null,(0,i.yg)("p",null,"1: On this
1subject, in the European Union, the regulates the protection of natural persons with regard to the processing of personal data and the free circulation of such data."),(0,i.yg)("p",null,"2: The ",(0,i.yg)("a",{parentName:"p",href:"https://www.cnil.fr/fr/le-droit-leffacement-supprimer-vos-donnees-en-ligne"},"right to be forgotten")," allows an individual to request the removal of information about them and that may harm them.")),(0,i.yg)("h2",{id:"de\ufb01nition-of-the-main-concepts"},"De\ufb01nition of the main concepts"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},"Shielded transaction"),": A transaction is said to be shielded when an external observer cannot \ufb01nd out any data from it (including the amount, the recipient, and the sender - In practice, an external observer can see the sender if they call the contract.).")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},"Transparent transaction"),": A transaction is said to be transparent when it is not shielded.")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},"Shielded pool"),": A shielded pool is a set of tokens whose number can be \ufb01nd out, but whose internal transactions are shielded.")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},"Smart-contract"),": A smart contract is a computer program whose interactions are described by code and data. It is possible to call a smart contract - its code determines its behavior, depending on the functions called within the contract."))),(0,i.yg)("h2",{id:"key-management"},"Key management"),(0,i.yg)("p",null,"Sapling is a cryptographic protocol that allows shielded transactions to be conducted, while ensuring that trusted third parties can view the transactions. Three elements need to be identi\ufb01ed for this to happen:"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"The ",(0,i.yg)("strong",{parentName:"p"},"expense key"),", which should be kept secret and is used to sign transfers.")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"The ",(0,i.yg)("strong",{parentName:"p"},"viewing key"),", which is derived from the expense key and allows transactions issued or received to be viewed (it is possible to create viewing keys that allow only transactions issued or transactions received to be viewed).")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"Addresses that are used to receive transactions are all derived from the ",(0,i.yg)("strong",{parentName:"p"},"expense key"),". We can derive as many addresses as we want, so, two different users will not be able to know whether or not they are making a transfer to the same person."))),(0,i.yg)("p",null,"Sapling is a cryptographic protocol that uses elliptic curves (",(0,i.yg)("a",{parentName:"p",href:"https://eprint.iacr.org/2016/1102.pdf"},"Bls 12-381")," and ",(0,i.yg)("a",{parentName:"p",href:"https://bitzecbzc.github.io/technology/jubjub/index.html"},"jubjub"),")."),(0,i.yg)("h2",{id:"demonstration"},"Demonstration"),(0,i.yg)("h3",{id:"example-without-monitoring-of-the-transaction-by-a-third-party"},"Example without monitoring of the transaction by a third party"),(0,i.yg)("p",null,"In this example, Alice wants to send 8 tez to Bob, without anyone else knowing."),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice and Bob are outside the shielded pool",src:n(34380).A,width:"234",height:"242"}))),(0,i.yg)("ol",null,(0,i.yg)("li",{parentName:"ol"},"Alice begins by creating tokens in the shielded pool, sending 8 to the contract.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice shields 8tez",src:n(37031).A,width:"232",height:"242"}))),(0,i.yg)("ol",{start:2},(0,i.yg)("li",{parentName:"ol"},"Bob derives an address from his view key and sends it to Alice.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob gives a sapling address (zet1bob...) to Alice",src:n(84542).A,width:"248",height:"249"}))),(0,i.yg)("ol",{start:3},(0,i.yg)("li",{parentName:"ol"},"Alice sends Bob the tokens through the shielded pool.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice sends 8 shielded tez to Bob's address",src:n(67633).A,width:"366",height:"254"})),(0,i.yg)("p",null,"\u200b")),(0,i.yg)("ol",{start:4},(0,i.yg)("li",{parentName:"ol"},"Bob can then claim the tokens that he has received.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob can check his balance inside the shielded pool",src:n(57416).A,width:"243",height:"236"}))),(0,i.yg)("ol",{start:5},(0,i.yg)("li",{parentName:"ol"},"The contract itself then sends 8 tez and withdraws the corresponding tokens from the shielded pool.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob unshields 8 shielded tez",src:n(10627).A,width:"227",height:"235"}))),(0,i.yg)("p",null,"In this scenario, someone could notice that Alice is sending 8 tez and that Bob is also withdrawing 8 tez. This might make it possible to guess that there has been a transaction between the two, especially if the deposit and the withdrawal are temporally close."),(0,i.yg)("p",null,"Ideally, Bob should not withdraw his tokens and should use them to pay transactions."),(0,i.yg)("p",null,"To increase his anonymity, Bob can ensure that he never interacts with the contract to deposit or withdraw tez. This example is a simple case of the use of Sapling."),(0,i.yg)("p",null,"It is also possible to allow a third party, a regulator for example, to control all transactions of the Sapling contract.\nExample with monitoring of the transaction by a third party"),(0,i.yg)("p",null,"In this scenario, only Chris\u2019 address can send transactions (apart from deposits and withdrawals) to the shielded pool:"),(0,i.yg)("ol",null,(0,i.yg)("li",{parentName:"ol"},"Alice and Bob identify themselves to Chris and send him their respective viewing keys. (This may have been done before the current transaction.)")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice and Bob give their viewing key to Chris",src:n(46522).A,width:"359",height:"212"}))),(0,i.yg)("ol",{start:2},(0,i.yg)("li",{parentName:"ol"},"Alice creates tokens in the shielded pool, sending 8 tez to the contract.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice shields 8 tez",src:n(4301).A,width:"340",height:"195"}))),(0,i.yg)("ol",{start:3},(0,i.yg)("li",{parentName:"ol"},"Bob derives an address from his viewing key and sends it to Alice
1(Alice could also address it to Chris because he has access to Bob\u2019s key and so may also be able to derive an address from it.).")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob derives an address and sends it to Alice",src:n(50404).A,width:"392",height:"195"}))),(0,i.yg)("ol",{start:4},(0,i.yg)("li",{parentName:"ol"},"Alice creates a transaction of 8 tez to Bob and sends it to Chris.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Alice creates a transaction of 8 shielded tez to Bob and sends it to Chris",src:n(83126).A,width:"357",height:"216"}))),(0,i.yg)("ol",{start:5},(0,i.yg)("li",{parentName:"ol"},"Chris notes, from Alice\u2019s keys, that it relates to a transaction coming from Alice to an address.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Chris can use Alice's viewing key to the check she is the source, the amount and the destination address",src:n(36927).A,width:"423",height:"193"}))),(0,i.yg)("ol",{start:6},(0,i.yg)("li",{parentName:"ol"},"Chris can then verify, using Bob\u2019s key, that this address is derived from Bob\u2019s key.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Using Bob's key, Chris can know this address is derived from Bob's key",src:n(51652).A,width:"438",height:"195"}))),(0,i.yg)("ol",{start:7},(0,i.yg)("li",{parentName:"ol"},"Both keys show Chris the amount. He then knows that it relates to a transaction of 8 tokens from Alice to Bob.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Chris can check the amount with Alice's or Bob's key",src:n(14893).A,width:"429",height:"201"}))),(0,i.yg)("ol",{start:8},(0,i.yg)("li",{parentName:"ol"},"He decides that this transaction is lawful and sends the transaction to the contract.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Chris sends Alice's transaction to the shielded pool",src:n(84914).A,width:"357",height:"183"}))),(0,i.yg)("ol",{start:9},(0,i.yg)("li",{parentName:"ol"},"Bob can then claim the tokens that he has received and receive his 8 tez.")),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob his balance in the shielded pool",src:n(6459).A,width:"366",height:"196"}))),(0,i.yg)("p",{align:"center"},(0,i.yg)("p",null,(0,i.yg)("img",{alt:"Bob unshields 8 tez",src:n(8896).A,width:"354",height:"187"}))),(0,i.yg)("p",null,"This example shows the case where Chris deals with validating the compliance of operations, potentially because he is answerable for what happens in the contract, or even because he is responsible for protecting Alice (and the other members of the contract) against potentially fraudulent transactions. Furthermore, if he decides that an operation is not valid, he may decide to contact Alice to tell her about it and ask her for more information regarding this transaction, or simply to verify that she has not had her wallet stolen and that she is indeed the originator of this transaction."),(0,i.yg)("p",null,"Chris is not necessarily a human; he may also be a simple secure oracle\xb3 that has viewing keys and automatically conducts transactions where the parties are known."),(0,i.yg)("p",null,"In both examples, we have assumed that the tokens represented tez. This is not mandatory and we might suppose that the tokens represented any other fungible asset (\ufb01nancial assets, raw materials, etc.). In this case, the regulator could also manage the deposits and withdrawals. There would no longer be any direct interaction between the current asset and its representation on the contract (as we could do with tez). The contract ",(0,i.yg)("strong",{parentName:"p"},"might then have an evidential value")," in a dispute."),(0,i.yg)("small",null,(0,i.yg)("p",null,"3: An oracle is a program external to the blockchain, generally standalone, the role of which is to make calls to a smart contract to give it orders according to parameters that the smart contract cannot or does not need to control.")))}d.isMDXComponent=!0},34380:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-1-299cf1a509bf1b956d5851860e1a8dc3.png"},83126:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-10-fa6418b00be318602650fa397db9bcd2.png"},36927:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-11-87e228e30af136849654ad27d08f822c.png"}
1,51652:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-12-8d4df6ab0ab29183db4b3d07ef4f100b.png"},14893:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-13-e508c04cebf3f1f16f7079e6c3bef510.png"},84914:(e,t,n)=>{n.d(t,{A:()=>a});const a="data:image/png;base64,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"},6459:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-15-03c985ac3dc0fc02e6819cc4c34bf1a9.png"},8896:(e,t,n)=>{n.d(t,{A:()=>a});const a="data:image/png;base64,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"},37031:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-2-dc1f2ac4f5b12b57c49c023d45cffb52.png"},84542:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-3-8bfa461385c2171fff5819b08971d36a.png"},67633:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-4-40ef60a4bba00b0adc57f107c442cb94.png"},57416:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-5-d3b60d864c9711cf15dedcf7ad23def1.png"},10627:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-6-d86be8875d77ad29ade72b6f9fff617d.png"},46522:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-7-45d6bf6aa727e65dacf2432873f34a26.png"},4301:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-8-206af878862e5da469ac1b1e1337c578.png"},50404:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/sapling-9-5e8f230a64c75a8096137eb48c9c5d13.png"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.