Blockstream Talk #26 – Simplicity, Bitcoin’s Last Soft Fork?

Welcome back to blockstream talk today We're speaking with Christian from the Blockstream research team about Simplicity a blockchain programming Language so simple it actually fits on a T-shirt Christian runs us through an Introduction to Simplicity and we also Discussed why Dr Adam back whole Simplicity the last softwork of Bitcoin One soft Fork to rule them all we also Talked broadly about some of the Applications and benefits of smart Contracts on bitcoin and why that's Better than running smart contracts on Layer 2 Solutions like liquid and also What kind of pushback and concerns Christian has bumped into so far Simplicity has been around for about a Decade already and Christian guys that Implementation could be another five or Even 10 years away depending of course On Community Support it's really Interesting to see how low time Preference the block stream research Team is and how they're really playing The long game in terms of Bitcoin Development enjoy the show and let us Know what you think in the comments Below Christian thanks for joining us on the Podcast today thanks for having me to Start off with can you tell us a little Bit about your role at blockstream and

I show You how To Make Huge Profits In A Short Time With Cryptos! I show You how To Make Huge Profits In A Short Time With Cryptos! Welcome to the Future of Money

What your background in computer science Is and what's the path that brought you To bitcoin for sure so I'm I'm part of The research team and we're mainly Develop Simplicity and a little bit of Manuscript into your knowledge proofs My background is some computer science As you might have guessed so I'm a Master graduate from Teo Dresden in Germany Uh my bachelor was General computer Science and my masters was computation Logic so I'm a logician by trade and we Mainly worked on Words of inference databases knowledge Graphs And a professor for instance was one of The hats behind Wiki data which you Might know which is the knowledge craft Behind Wikipedia Um it's a little bit different than Bitcoin so what brought me here um it's An interesting story so It's a Syrian an old friend and he's Been involved in Bitcoin yeah Since a long time And um Yeah we've been talking about Bitcoin For for many years but it was only was On the side most of the time And at some point he had this Simplicity T-shirt And I was intrigued I looked at these Symbols these rules of inference they

Look very similar to logic and Simplicity is formal nature so this was Similar to what I've been doing So I looked at it I was intrigued I Wanted to understand this right we Crowded around not just me we tried to Make sense of it all and at some point He said well if you're interested you Know Why not do an internship with us at Block stream why not why not come to Block stream we look for people And um I took a while um maybe a month And then I wrote Andrew Paulson email Um about my background I'm interested in This thing I'm interested in Cryptography it's been a hobby of mine But not really a main job or anything Like that And um so this is how it started and so I started with Simplicity and nothing Else it was always Simplicity and I've Been doing that ever since at Blockstream you mentioned the research Team at blockstream who else is on the Team and and what's the mission what is The focus of the block stream research Team yeah block stream research is Roughly divided into three parts so we Have the scripting team Which works on Simplicity and mini Script and this consists of Andrew Polster is the head of the research team And also the scripting team

We have um We have um of course Russell O'Connor Who is head behind is the inventor of Simplicity we have sanket and we have me Then we have the crypto team Um this is led by Jonah snake and they Work on On SEC p and as your knowledge proofs Um besides Jonas we have Tim ruffing we Have also a little of sanket and Liam Egan who's the latest addition to the Research team and then the third part is The independent people They do not belong to teams and there we Have Eric Sirion who's behind ferdy mint we Have Andrew Chao who you should probably All know by now so He's a big Concord developer And we have Kiera being Pickers um and She's uh she communicates a research to The outside world Um Yeah like I said I'm in the research Team so In in the sorry in the in the scripting Team so um I work on Simplicity and mini script Shifting gears to focus on Simplicity I Saw that Russell O'Connor previously Described Simplicity as the programming Language so simple that it fits on it on A t-shirt I I have that T-shirt and I Feel like I'm a bit like a a kid in Asia

With uh random English on the T-shirt I Have no idea what it all means is that Is that accurate does the whole thing is That is that the whole thing on the Shirt it's not the whole thing but it's Almost the whole thing and I mean this T-shirt brought me to blockchain so I I Love this t-shirt I I should have Brought it I didn't it shows the nine Combinators which are the building Blocks and it shows they have rules of Inference so to speak how they work So it shows how you can combine them Their syntax and how you can evaluate Them which is their semantics and it's True that Simplicity I've implemented Simplicity at least twice in my life From scratch which does not count Ras Simplicity which is what I'm working on Which is the main real Library And I think um Andrew Polster has done The same so we have implemented this More than once In a couple of days and we have Barack Who you might know And he is completely new to Simplicity And he took I think one or two weeks From from zero from literal zero To build a Simplicity Edition add-on to His script with IDE Which is impressive and so anybody can Implement Simplicity pretty easily there Are some caveats of course there's a lot Of Adidas protection

There are the so-called Jets which we Are going to talk about which also have To do with content limits and all these Things but the basic footprint of Simplicity is extremely small This is the selling point of Simplicity It's um simple as the name implies and It does very much with the slit with a Small footprint It can um it's able to To do all verification we want to do on The main chain So it's um I sometimes call it Verification complete it's not during Complete but it can verify any condition You might want You might have on the on the mainstream And so you can for instance what you can Do is you can have a touring complete Off-chain computation and verify that This computation was correct on the main Chain and simplicity can do that even Though it's only only consists of these Nine combiners of the small set that Fits on a t-shirt which is impressive so This small footprint also allows it to Be verifiable which is the second Uh this is the second selling point of Simplicity right so it's small there are Not so many rules in Simplicity and Because of that Um you can actually formally verify Every step if we had a Thousand Rules or Even more like in the evm it would be

Infeasible it will be possible Theory But it would be such a pain to formally Verify that you are doing everything Correctly by the Simplicity you can do That so this is how it all fits together We are fixed with the small footprint we Have explosivity and we have Verification so at a very high level It's more mathematical and kind of Describes the how more than the exact Execution is that do you mean the T-shirt I mean yeah the the Simplicity as it's Expressed on the T-shirt it mainly shows You These so-called commenters which is what Simplicity is made out of those are sort Of um The atomic functions the keywords so to Speak of Simplicity of Simplicity Language and they allow you to Manipulate these Simplicity values which Are the data And commanders are basically completely Functions so they are what they evaluate Is a Simplicity kind of functions Functions work on data to produce other Data or to verify data in the end we Have some data which is a witness data It's signatures it's pre-images it's Whatever you might want it could be is Your knowledge a roll up Stay transition And you verify that this is correct and

Inside the verification you have maybe Or something that takes inputs and Produces outputs and this is this is What the short Pro shows you it does not Show you how you can integrate this into Blockchain and it does It does not talk about the use case but It's um it's pretty General So you can take this t-shirt alone Without knowing anything Basically and you can Implement an Interpreter and this could be like a Python interpreted on the command line Which where you put inputs and you get Outputs and then you could think about How you integrate this into a blockchain What is the use case what's the the Grand Vision the plan for Simplicity I've heard Adam describe it as Potentially the last soft work for Bitcoin that's a very exciting topic the Last software Um and it's partially true and partially False so Um Simplicity what it gives you is Explicivity right so right now every Layer 2 comes with the new OP code which Comes with extensions to bitcoin script Because apparently we cannot do what we Want to do on layer one right now And this is we want to change that right We want to there's a need for More functionality on layer one but at The same time we all know that this is

Dangerous right we we have for instance An alternative which is the evm but it Does all these things that we might not Want and It's unpredictable it has stayed it has Gas and all these things that we don't Want on bitcoin and so Simplicity Extends massively extends Layer 1 using a very small footprint Which you can verify and we actually Proved that you can compute any Verification any function that verifies Data on layer one this is not a Conjecture that's actually a proven fact And so Simplicity is is able to be as Expressive as you might as you might Want And like I said we can verify that with What we're doing is correct so Sure mostly most scripts on bitcoin Right now are awesome Simplicity will Probably be pretty simple so it's going To be key spend it's going to be an htlc Something like that HTS is already Pretty complicated but you can do much More complicated scripts but you don't Dare to right it's Sometimes there are millions of dollars Worth in Bitcoin on these contracts and You don't want to make you don't want to Take any chances And so um a good example is minuscript Which we might talk about as well and Manuscript gives you

Gives you access to bitcoin script Functionality that has existed for years But people didn't dare to use it like Time locks because it's just too Dangerous you might lose your funds in a Few years because the time logs are Incompatible you have an unspendable Utxo and you'd realize it on later and Suddenly you have lost funds with Simplicity Prevent that by actually proving before You make the gtxo that you can spend it In the future And why last software what does that Mean So Simplicity gives you this um gives You these nine combaters these building Blocks to compute any functions you Might want and there is a caveat to this Which is consensus limits So you have you imagine these combiners They are like keywords and you combine Them to form string Simplicity Expression And most of these expressions are pretty Large at some point you have A very large expression it doesn't fit Into a Bitcoin block or you don't want Just you don't want to put this into a Bitcoin block and so most expressions Are actually disallowed by consensus so What do we do We introduced shortcuts which we call Jets and these shortcuts basically

Compress a large expression to one small Shortcut one small atom And we say if we see if we see the Shortcut we actually execute a dedicated Optimized C code And we prove formally because of Simplicity's formal nature that this Optimized C code does exactly the same As this very large expression that we Could not put on the blockchild that Might be too large to pay the fees for So we have a catalog of jets and we have The combinators and with this we can we Can be we can combine them we can Express quite a lot We have the jet catalog will include Elliptic curve functions arithmetic Introspection all these things And with this You for most things for let's say op CTV Or any prep out you wouldn't need a soft Work you could just use the Jets and the Commenters to combine them in some form For most of these use cases you can just Deploy this on on the blockchain right Now if it had if it had simplicity And if you want to optimize it later you Can you can already deploy it you can Already see how it works you can deploy It for years and then later when you Decide this makes sense you can Introduce a jet for this specific Purpose to compress it even more So this is what Adam meant I think by

The last software because Simplicity Makes many so Forks just not no longer Necessary you can you can skip them Because you have the power of jets and Combinators to To do a lot in it within consensus Um where this is slightly wrong is of Course that there's the there's the Limits so if you have something that is Very large and you just cannot express It with the Jets we have and with the Commentators Within consensus then you can introduce A new jet and this is a new soft work But um it's possible you can you can add New Jets and when we when Simplicity is Deployed it will have a large catalog of Jets Which should serve it for the next years Or even decades but if we ever want to Extend this this is possible and um yeah And then we can do even more so this is The last soft work and how we can even How we can extend it so the idea is it Will give you enough flexibility to do Almost anything conceivably that you'd Want to do in the next five or ten years It's difficult to predict what people Might want but um we have been Developing this catalog of jets for many Many years and Russell Collins behind This project this project is pretty old By now it's I think the beginnings It's it's unclear um different people

Have different numbers but as far as I Know it's maybe 2013-14 so it's almost 10 years old Maybe even 10 years and it's not Obsolete yet so these ideas are good Ideas and Um Google have is we will have um SEC piece Or one of the things we will do is we Will open up SEC P so people can use These internal functions and this will Enable All sorts of applications so we're Pretty confident that we can cover a lot Of use cases for the next years and Decades but of course it's not Guaranteed does that also apply to APO And CTV and maybe before you get started On an answer to that can you give people A little bit of background on what APO And CTV are and what they're trying to Accomplish yeah I will try Um so Maybe start with OP CTV so Ops CTV is This Covenant proposal by Jeremy Rubin And um basically what it adds is it adds This new OP code to bitcoin script which Gives you access to a certain hash which Is based on the transaction in Particular the injection outputs of the Spanning transaction And you check the utxo you spent has Some hard-coded hash and you check if The spending transaction hash this Op

City V hash matches the hard-coded hash Inside the utex O and if if they match You can spend the coins Um maybe you have some other spending Conditions but this is the idea and what This does is what what this enables is You can force The spending transaction to have certain Shapes in the output so you have you Have this tree of I think they're called Transaction intents so um when you make The ux oh you actually already know how Um the utex or will be spent or can we Spent And this tree is finite and it's it's Not a recursive Covenant so But there's such a technical details so You can make this you can make a very Large tree without any um space Um the space is the same Because of the hash So you can make a very large tree you Can um It's like a state machine so the coins Move from this state machine in this Space And at some point I suppose they leave The space And become normal Bitcoin again and you Can build vaults with this so you can You have a cold uh a cults Storage wallet and Where you have your coins and um Whenever you want to spend your coins

You say actually when I spent them I they need to enter this temporary State Where there's a Time log and if a hacker Tries to spend the coins then I can Detect this on the blockchain and put Them back into the vault Um and also you can only withdraw 10 or A certain amount of of the total coins You cannot withdraw all the coins Um this is General true for all kinds of Governance also for World and Other Covenants but this is what op CDV would Enable and this many other things as Well And any profile is very different Proposal which I'm slightly less Familiar with but um I think I know the Rough idea so it's a sick cache mode So this is um cache mode any prep out Right now in Bitcoin we have six Combinations of ccash modes All is the most um Most well-known sick cash mode and so When we make it when we sign a Transaction we actually don't sign a Transaction we sign a transaction hash And um we can we can control which parts Of the transaction go into this hash and Which don't we say cache all everything Basically everything goes into this hash And we sign the entire transaction so we Cannot we commit to this entire Transaction we cannot change it anymore

But we can also only sign a certain Input and then the other inputs or the Other outputs can change And with any prefold what we do is we Don't even sign our own input we only Sign that we use an input like We see txo similar to the one that we Use right now but anybody a third party Can take a transaction which is already Signed by us and they can exchange this Utxo with a similar HD XO which is Probably owned by me as well so if I if You take so A and B I signed for a they can actually plug in B instead and this works and this Enables things like L2 channels and many Other interesting use cases so this is Um any preferred in op CTV how can Simplicity Help here what is um well we can Implement this in in raw simplicity so Say cash modes for instance are um An interesting use case of simplicity so We have a blog post about Universal say Cache modes which is But any profit is a very particular C-cash mode and any universal stick hash Mode means any so we can no we can do Not only any profile but we can do any Sick hash mode that is conceivable and We can even extend this notion to Include things like delegation where Instead of just We can delegate we can make it XO and

While we make this we enable we put in This functionality To give the coins to someone else Without a transaction And of course we can control who that Person is so we can It's not a free fall it's not any anyone Can spend but we can transfer our coins To someone else without a transaction Using these Universal saycash mods which Is quite interesting and of course we Could Implement any preferred Quite easily in in simplicity And op CTV needs some introspection but Um like I said Simplicity comes with Introspection Jets And using standard introspection jets That are not Tailored for for op CDV we could easily Combine them in this way that Computes this template hash or I'm not Sure what the name is but they compute Some kind of hash and we could do the Same in simplicity without a soft fork And try it out on a test net or on um on A local on a local machine another Aspect another interesting aspect of the Last soft work is Something that I alluded to earlier Which is you can prototype a new a new Software can you op code so to speak Which would be new jet in Simplicity Language You can prototype this using the

Combinators and like I said the Commenters are Universal say they um You can compute any function with it if You exclude if you ignore consensus Limits and on the test then you can do That right and on a local machine you Can do that in a local network so a very Interesting use case of Simplicity is a Um specification language and also a Prototyping language for new OP codes And new Jets Where you instead of writing Um some C plus code that you merge into Russ Bitcoin uh Bitcoin Bitcoin core Bitcoin core I should say instead of Doing that you write a Simplicity Expression which computes your opcode Which computes this um let's say Ops CDV Uh functionality or any prefer any Preferred say cache you build that you Can deploy that on us on a testnet Already As long as Transcendence limits are you Know um Out as long as they're disabled maybe it Even works with condensed limits but in The general case you know you might want To disable them Which is fine on testnet and you can Test this out and Then you write the optimize C code which Is the jet You ideally Write a proof that

Um this implementation is the same as The original large Simplicity expression That you deployed on testnet And then you do a soft work on bitcoin Um that's the interesting that's a Specification language aspect of Simplicity where you prototype a new Soft rock You can already use it on a test net And then You already have strong guarantees even Before you make the bip even before you Make the proposal which we don't have Right now so this is a very very broad Question but what do you think are the Functionalities and the applications of Simplicity that you think will really Move the needle in terms of disruption And just more generally Market interest All right Um that's an interesting question yeah Um Simplicity is a little bit hard to wrap Your head around in terms of Applications because it can it can do Anything right so anything is a little Bit of a hard selling anything is not Even true because we have contentious Limits we have Jets and we we implicitly Already decide on certain applications That we focus on that we allow and that We disallow although the catalog of jets Is a community decision so in the end It's up to the community to decide on

Which chats we want and we don't But um Simplicity will be very interesting Um in terms of I guess Financial applications which I'm Not an expert on but it can it can do a Lot in that in that area so we have a Limit order Projects that uses Simplicity I haven't Worked on that but and making good Progress I have talked to your knowledge The knowledge projects so um CK sync and um also other roller Providers that Are thinking about deploying this on on Bitcoin and they are very interested in Simplicity so you can write a roll up It's your knowledge roll up verifier Which is a new layer too and on layer One you have this what Hooks it to layer One the what packs it basically is um This Simplicity script which verifies That every state transition in the Rollup which is basically sidechain is Valid using some um Snark or Stark And this is all implemented in Simplicity Um the say cash modes are huge like um Universal say cash modes Enable Um YouTube to really fine-tune what you Sign and what you don't sign and

Everything you don't sign is malleable So this People haven't even started to really Think about what this can enable but It's it's huge and one of the things I Talked about already is delegation so Being able to move your coins without a Transaction that's amazing that's This is actually one of the proposals That um this is called graft route And this was around when Taproot was Proposed as like an alternative or an Extension to Taproot this didn't catch On I don't really hear much about Anymore but it's the same thing so you Can move your coins to someone else Without a transaction uh what is that What's the risk reward with merging Simplicity to the Bitcoin main chain Rather than trying to do these Financial Applications on second layers like like The liquid Network what's kind of the Argument there yeah that's a good Question the question is also About ossification right so we do not Want to pollute layer 1 with unnecessary Scripting There's definitely a trade-off and um The idea that we pursue with Simplicity Is right now And there is a need for for new layer Twos on on layer one there's there's a Need for like that our enabled by layer One so there's a need for expressivity

On layer one and also layer one gives You this Unique stability that layer 2 is to not Give you So the idea is with Simplicity one of The things it doesn't do is of course It's not too complete it doesn't give You the evm capabilities so it's very Limited it does um verification Um which is what we want to do on layer One and nothing else so it's already in Itself quite Limited and anything else We do on Layer Two Um the Cost benefit analysis Um I guess in the end it's up to the Community right but um well how should I How should yeah it's um It's a it's um it's a small it's a small Language It's like I said it has a small Footprint it's sure it's um quite a lot Of lines of code that need to be merged Or that would need to be merged to say Elements color Bitcoin core Um but it's still for what it does for Re-hauling the transcripting system it Is small and it's um it gives you very Strong guarantees about the code itself And also the language the the Expressions the programs you put on the Blockchain So it's in a way the smallest package

You could have which gives you the most Of exclusivity and also the more Security And this is something pretty unique and This is something we think We need on bitcoin because Bitcoin Main chain Moves millions of dollars worth of of Coins every every day Without really strong guarantee so with Or how we work around this is right now Is we use very simple scripts we use Keys key spends we use um Yeah the Tap Root internal key or Something like that we use We usually don't use complicated Scripts In Simplicity enables you to also use That and of course you can always use The the simple scripts as well So um I think that's the cost benefit analysis Is there an is there a risk of increased Network congestion because I think Historically Bitcoin has been you know Pretty basic use case right Um maybe you know peer-to-peer digital Cash maybe store value maybe digital Gold but as you open up more flexibility And more use cases does not increase the Risk that you could congest a network And maybe send transaction fees Higher One of the unpopular opinions that I Hold is that higher transaction fees are Actually good for Bitcoin or at least

They they are required to keep this Whole thing going in the future I'm not sure where main where the main Network will go if Individuals will be able to use the main Net my My vision for it is that people join in Groups or pools or whatever they're Going to be called and they move coins Together I'm not sure if Arc helps in that way or Lightning but Um I think Simplicity will increase or Complicated scripts large scripts will Of course cost more money and they it Will cost fees and um they have a Potential for um For increasing the average fee on Bitcoin Um still it's a it's a much better use Of feast than inscriptions as we can Probably all agree [Laughter] On a more serious note Um the interesting or the important part Of Simplicity is of course a cost Function so we took a very long time and We've been very careful to construct a Cost function that captures The cost of each combinator and each Shed so these jets are shortcuts so of Course they look small but they are Actually pretty expensive so we run Benchmarks and um

We have Um Simplicity is again formally Verifiable so actually we have bounds we Can actually bound like how men how much Memory and um how much CPU a program can Use at Max and we can adjust the fee Accordingly so we have pretty strong Guarantees about the worst case scenario Which I'm not sure we would have on bitcoin Script You know so we can we can work around This and we can for instance if we put The fee to be the maximum possible cost Which I think we do right now then we Can prevent a lot of DDOS So um well Simplicity will increase The average fee I would say at least for Interesting programs because for Non-interesting programs you can use Something else you can already use Taproot a keyspend Taproot which doesn't Use any Scripts and um for anything Interesting you are going to pay fees But they are going to be very reasonable And you will know you will have strong Guarantees about the worst case scenario So um I think we should be okay with That yeah I guess over time I think you Know it seems like we had news this week About more exchanges integrating I guess Kind of with the lightning Network I Think more will look to liquid so we've Probably got a lot of room too in terms

Of you know how much activity we can Direct to layer twos and and off of Bitcoin directly yeah I think so too I Mean Simplicity will enable A lot of off-chain competition as well So um Bitcoin script just has this problem That even though I can do a lot it's um But pretty biased in what it does and Many options have been disabled and Simplicity on the other hand is Extremely General so Um it does not have a public key Op codes or or a combinator right it Doesn't have um an antonym or it has it Has it's an assembly-like language Actually it's my sometimes called Functional assembly And it has to be because you can think Of it as a risk assembly so we have a Reduced instruction set Which can which is um generally enough To express anything and then we had These Jets and suddenly we have Sisk Right with the complex instruction set And this is what it does and um [Music] We can move a lot of activity on off off Chain and we can also do very Complicated things that we wouldn't be Able to do right now off chain then Verify that they work on layer one What's kind of the process for getting Simplicity implemented on on bitcoin

What's the process and how long does That take yeah getting it on bitcoin Will take a while it's been a long Project although we're making so I've Joined I've joined block stream Um like in the beginning of 2021 No 2022 I'm sorry I I joined blocks from at the beginning Of 2022 so it's been one and a half Years And so I haven't seen the entire Development of Simplicity what I've seen Was amazing we've made amazing progress But it doesn't change the fact that it's A project that is almost 10 years old And um this is also The largest Maybe some people call the boulders Proposal Um the largest soft largest soft rock Ever It's um sacred level a sec with level Softwork So this will take A lot of convincing and explanation to Get this on bitcoin and so I think we're Talking about Um five years to to to maybe 10 years Um it's difficult for me it's really Difficult for me to To measure this and to predict this But um Simplicity is basically the teaching is A big um teaching is a big challenge

Simplicity is um not complicated or Anything like that but it's just um Different so it requires a lot of Changes in your thinking Um just assuming different things Assuming different Um starting points And then it makes then suddenly it makes Sense but you have to get there first so I thought we got Barack there he had Some questions he was a bit confused About certain things Um I think now he gets it so we have a Success story already and I've been um At many Conferences and gave a lot of talks About Simplicity and I really I changed My teaching style and I think I begin to Make sense to people now it's a lot Easier now to To explain it to explain the ideas and Also sometimes the um meaty details of Simplicity and make sense one of the Things I did is for instance I Implemented Simplicity from scratch in Rust using the rust type system So basically the the Simplicity type system is can be Embedded or is simpler than the rust Type system and we have a lot of rust Programmers rastas Famous for being a little bit more Complicated than other languages but It's not impossible to learn rust and if

We learn if you know Rusty actually no Simplicity already if you look at my Repo So we're making progress and this will We will need a lot more of of that's a Lot of more a lot of more podcasts and And talks and blog posts and projects to To get people's feet wet and to Introduce people to explicity And of course the liquid integration Will help a lot because We are working on a wallet we're working On A file format for Simplicity so people Can write programs they can share Programs They can put it on the blockchain And This will introduce people this will Familiarize people with Simplicity and I Think then it will make sense But right now of course it's a new Project it's owed by people most people Don't know about it it has it can seem Awfully formal even though Like I said they are just these formal Terms Sounds scary but they're actually not That scary we have terms like Um a monarch or something like that or We have um Those are scary but um in the end it's Just with and we have a program that Might fail okay that's easy with a

Program that might return a value if it Succeeds or it might not return anything Because it fails anybody can understand That so if we if we translate these Formal Concepts into simple language Suddenly it will be very easy and Russell Connor didn't develop Simplicity To be the most complicated but to be the Most simple language and I think he Succeeded in that so if people are Convinced so The idea how to merge Simplicity is as Part of Taproot It's um This is interesting to me I hope it's Interesting to You guys as well but um The interesting part of Taproot is it Has versions so we have um tap Leaf Versions so we have tablet is an output It has these trees it has a tap tree And you have this um Collaborative the good path which is um Um the internal key so everybody agrees Every all the owners of detox agreed to Spend the utex O together and this is a Very simple spend it looks like a script Uh just a signature as a single floor Signature and then you have this tree Which consists of different scripts Inside the tree they are at the leaves You can choose one of these scripts and Execute them to spend the cutic so And every leaf has a version number

Right now There's just one possible value but we Can choose other versions and we can Introduce new rules for each version So Simplicity comes with a new version Number And whenever we see a leaf with this Simplicity version we actually call the Simplicity runtime instead of the Bitcoin runtime the Bitcoin script Runtime So this is how we integrate it into Bitcoin and also into elements as part Of Taproot And this does this means we get all the Benefits of sacred and of Taproot Um this makes it a much smaller upgrade Compared to introducing a completely new Kind of YouTube so and what is feedback Been like from the community what are The primary criticisms is it just that People don't want Bitcoin to change or It's use case to change at all what What's the the main pushbacks you get For people that you've encountered I'm Happy to say I haven't received too much Pushback but I've been at conferences Where technical people interested in This kind of research so um I think um The average person I might be wrong about this but the Average person doesn't know about Simplicity yet So um there hasn't been too much

Pushback one thing one feedback I Recently received was this question do We even well basically what you said is Is it worth the cost do we even want to Change layer one at all And my answer to that was We do want to change it because we have Some major problems layer one right now We even have to have hard work at some Point because of the uh because of the Timestamp problem because of the Timestamp format it's 32-bit So believe it or not at some point And like I said we have all these layer Twos that cannot be built right now but This is one of the pushbacks um do we Even need this arbitrary um computation Do we can we not do this all on layer Twos Um I guess it's an open question Um we think that this small footprint is Expressivity and formal verification Will make big will make Bitcoin with Simplicity future proof and will be very Important for Bitcoin But of course a different way so you Could do this you could even Implement Simplicity deploy it on Layer Two so we Have for instance we've been talking to Fediment and they're interested in a Simplicity module at some point to Control Um their federations Um heard something from RGB as well so

There are different You can Implement Simplicity in Different Um environments but We are focusing on and also of course Liquid right so liquid is a layer too so Um We of course we're focusing on layer one On bitcoin layer one are there any other Pushbacks um well of course Understanding so The formal nature it seems like Sometimes like a math lecture to people Or they've been looking at we have our Main document is the tech report by Russell Connor it's a very good document I read it multiple times this is what I Use to build my besides a t-shirts which I used to build my prototype And it has everything but it's written In a very formal style Which is correct but I think sometimes There's value in cutting corners and Making it more understandable and being Slightly wrong but still have the Intuition And we don't have these kinds of Documents that I try to write somebody Um it didn't work out that well there's Also a lot of time investment so we have To really allocate our resources We have been very active at writing blog Posts recently I think that's been a Huge success and we will continue that

And I also made some some software Projects like this I call it the rust Playground for Simplicity and this is This implementation of Simplicity using The rust type system so in Rust program Any Ras developer programmer can check This out and um it should make a lot More sense but people haven't looked at This yet I guess um I hope we can raise some raise some Awareness for these things for these Resources that exist already And then we can Teach Simplicity to people because like I said it requires some changes in your Thinking and then it makes sense Um I think those are the main pushbacks So is it is it worth it and is it does It what is this thing right the risk Reward is a big one I mean just from a Risk Report perspective you think the Safest thing to do is Implement on Layer Two and not touch layer one we have a Very limited in layer one with regards To the layer two's we can build Like layer one Or like We can always introduce trust right so We can always have a side chain Um but everybody wants to do that so um I mean people are interested in these Roll ups because they are trustless but They require these insane scripts these Um very complicated cryptography and

Very complicated scripts on the main Chain there's definitely interested in That so Um this requires an extension flare one Um in the end it's going to be Community Decision what people are willing to Tolerate and there's always this um Privacy everybody lacks privacy but Really Often people choose against privacy so There's this is also a thing that Simplicity offers it offers you very High privacy guarantees because you have A tree uh based program and you only Show the paths that you actually use Like Taproot but the question is are People willing to to pay for this are People going to uh want a software for This it's an open question so um I think right now the community moves Towards extending layer one we are not Yet at the so-called Escape velocity for layer one where we Can build all kinds of layer tools that We might want to build I think this is the goal and we haven't Reached that yet and simplicity can can Bring us there Christian one other thing I wanted to Ask you about was the relationship Between Simplicity and mini script those Two are very simple similar in what they Want to accomplish right so Minuscript is a structured form of

Bitcoin script so we actually take a Bitcoin script and we look at if we can Find a tree structure inside the script And it turns out most scripts that are On bitcoin right now already have this Tree structure And this enables us to do formal Verification in a limited sense Which is exactly what Simplicity gives You and um Manuscript was interesting because Um it gives people confidence in Bitcoin Script because of course Um there are millions of dollars worth Of bitcoin to be moved and even though You have features like time time logs And Other kinds of features other of course That people rarely use Um they're too dangerous to use if you Are not confident that you will be able To spend your coins later so one of the Projects that sticks out is lyanna at Least it's a project that I know about It's a wallet that uses that makes heavy Use of time locks to enable alternative Spending paths And it uses minuscript because It can well it makes the utex oh it can Already check that the The utex will be able to be spendable in The future because what time locks you Have different formats you have seconds And you have blocks and if you mess up

These formats if you combine them Somewhere in the same transaction in the Same In the same output even or input you can Make the utxo unspendable which would be Devastating So um Only now our time knocks really being Used maybe besides the hdlcs and Lightning Which have been you know heavily Analyzed so Besides that um tunnels are now being Used because minuscript gives people The peace of mind that they can use them Safely and simplicity is is like that It's a it's a tree based language like Mini script It's much more It's um it's much more assembly so Minuscript has these fragments which are Public key or hash or time lock and then Can combine them and ends and auras and Thresholds and so on And um Simplicity doesn't have that Simplicity has these Assembly like combinators that don't do Things like public key but they do Things like Um Execute these two functions and combine Their output or something like that this Will be the pair combinator and um you Only have nine of those you only have

Nine commenters so they have to be very General And then you can combine like the name Implies you can combine combinators you Can assemble them into a larger Expression which could capture something Like a public key And using that you can actually Translate mini script almost one to one To one to one to Mid to simplicity And you can look at a Simplicity program That was generated from this process and See oh actually this part is the public Key and this part is the time log and This part is the conjunction the end and So on In general this doesn't work of course But um you can construct Manuscript-esque Simplicity programs That we have already implemented this This translation So anything you can do in a manuscript You can also do in Simplicity but you Can do much more in Simplicity and also The um guarantees that Simplicity can Give you the form of verification goes Much further because Manuscript relies on bitcoin script Which relies on the C plus Implementation And there are all kinds of foot cans and Um Hidden hidden challenges whereas with Simplicity we can

We cannot we can make this architecture Good for for formal verification we can Prevent a lot of these problems before They even come up and so this enables us To To have much stronger guarantees about The programs we can we have much better For instance we have much better cost Functions the cost functions we use are Much finer grains and this will enable Us to um To write very long and large Expressions Put them on the main chain and have a Gen half a A very um Fine-tune fee for those So they are cheap enough so people use Them but expensive enough so we don't Need those the main chain and with Bitcoin script You basically only have the byte size of The Of Um the script and maybe the zikash Uh the the signature operation limit so That's much more crude than what we can Do with Simplicity you mentioned some of The resources and information that You've prepared and your team has Prepared around Simplicity where can People specifically developers that want To have a fiddle with this where can They go to get access to this Information do we have a lockstroom

Research website we also have a Twitter That I'm sure you will link somewhere Um there you can find the latest updates Um Mainly we are we also have RC so I'm not Sure if people want to use IRC but um we Have been very active there so um This is where them most of the Discussion on Simplicity happens and you It's open it's public so everybody can Can look and everybody can participate If they want they can ask questions Um for instance we had one person Joining recently and they had um some Questions and we looked at their Programs and Russell Made a new Esky Cinema video that Explains that was updated to explain the Latest developments In terms of websites I guess GitHub um Is a good place so we have the Simplicity repo and the raw Simplicity Repo those are the main repos I Recommend Maybe the wiki the Wiki page of Simplicity and in general Simplicity Because rust Simplicity is the most it's The user-friendly repo and the C Simplicity the main C uh the main Simplicity repo is the consensus Critical one and so it's pretty minimal And doesn't have a lot of convenience Methods

Um we also write a lot of blog post like I said so I'm sure those are medium and On um On the block stream block website Um Yeah and um GitHub you also find my my rust Playground you find Um A uh summary of I call it simple layer 2 So this was from become plus plus and it Has Um some Materials from earlier years and also Some interesting materials and um A survey into how we could do roll ups And how we could do Ferry mint using Simplicity that's great we're coming up On time here Christian so I want to Thank you again for your time today and Hope we can get some more eyes on Simplicity and and look forward to Having you on again in a couple of Months I hope so thanks for having me it Was a great time Foreign [Music]

You May Also Like