We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Tezos Introduction

00:00

Formal Metadata

Title
Tezos Introduction
Alternative Title
An overview of Tezos focusing on On-Chain Governance: A new develoment paradigm for the blockchain
Title of Series
Number of Parts
561
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Governance is a big topic in the blockchain world. Deciding on the evolution of the protocol, even changing a constant can fracture the community. Hard forks are not uncommon with often negative consequences. Tezos, an emerging blockchain, has been designed from the ground up with the idea of on-chain Governance, where changes are decided by the community on the Tezos blockchain using an open and democratic process. In particular in the context of FOSDEM, this talk will focus on the benefits that this type of governance can offer to the developer community in terms of visibility, rewards and potential for open collaboration. I'll provide background on the topic, an overview of Tezos and its current protocol in relation to voting and governance, and close the talk with a few ideas about the future.
Programming paradigmChainData modelOpen setSimilarity (geometry)Characteristic polynomialDatabase transactionSingle-precision floating-point formatInformation securityPhysical systemBlock (periodic table)InformationComputer networkDatabaseTelecommunicationIdentity managementCryptographyElectronic signatureVertex (graph theory)Hash functionFunction (mathematics)Focus (optics)Mechanism designCommunications protocolProcess (computing)Formal verificationFormal grammarVotingDesign by contractFormal languageCodePlastikkarteProof theoryAlgorithmRule of inferenceUniqueness quantificationForm (programming)BuildingTelecommunicationDatabaseBlock (periodic table)Communications protocolDatabase transactionSoftwareFormal verificationInternet forumBitChainDistribution (mathematics)Information securityOperator (mathematics)Order (biology)Roundness (object)Software testing2 (number)Forcing (mathematics)Ultraviolet photoelectron spectroscopyPort scannerCryptographyMechanism designSoftware developerPoint (geometry)MathematicsElectronic signatureDifferent (Kate Ryan album)Centralizer and normalizerIdentity managementFocus (optics)DigitizingAreaAlgorithmLevel (video gaming)Direction (geometry)Rule of inferenceOpen sourceSource codeSoftware frameworkMereologyComputing platformForm (programming)WordCodeSlide ruleKey (cryptography)Presentation of a groupEndliche ModelltheorieProjective planeProof theoryProcess (computing)PlastikkarteDesign by contractPeer-to-peerProduct (business)Latent heatRoutingPhase transitionFunctional (mathematics)Quantum cryptographyContext awarenessRoboticsUniverse (mathematics)Computer animation
Software frameworkBlock (periodic table)Computing platformChainGeneric programmingCodeCommunications protocolComponent-based software engineeringSoftware engineeringModul <Datentyp>Vertex (graph theory)Client (computing)ArchitectureDistribution (mathematics)Computer networkRemote procedure callService (economics)CryptographyCompilerCompilation albumProcess (computing)Digital signalVotingMechanism designPhysical systemFraction (mathematics)FrictionReduction of orderNP-hardSoftware developerCollaborationismFrequencyData structureRepresentation (politics)Series (mathematics)Operations researchConcurrency (computer science)Data structureCommunications protocolFrequencyLibrary (computing)Software frameworkPhysical systemVotingConnectivity (graph theory)Sinc functionPattern languageBytecodeBlock (periodic table)Latent heatBitReuleaux triangleEndliche ModelltheorieSoftware developerPeer-to-peerToken ringFunction (mathematics)WhiteboardFrictionRoundness (object)Mechanism designWeb 2.0CodeDatabase transactionProof theoryModule (mathematics)Representation (politics)AbstractionGeneric programmingEvoluteExtension (kinesiology)Object (grammar)MereologyCompilation albumSoftwarePerspective (visual)CompilerClient (computing)Computer architectureFacebookSoftware testingCryptographyProduct (business)Programming languageFunctional programmingChainMoment (mathematics)Fraction (mathematics)Interface (computing)Multiplication signImplementationDirection (geometry)AlgorithmPhysical lawRule of inferenceFormal languageMonad (category theory)Computer programmingConcurrency (computer science)HypothesisLink (knot theory)Computer animation
Data structureRepresentation (politics)Series (mathematics)Operations researchConcurrency (computer science)Block (periodic table)State of matterDatabase transactionFunction (mathematics)Network topologyImplementationEndliche ModelltheorieMilitary operationCommunications protocolTotal S.A.Electronic signaturePhysical systemVotingSampling (statistics)Decision theoryFormal grammarProof theorySoftware frameworkAlgorithmOperator (mathematics)MereologyInterior (topology)Communications protocolCodeDatabase transactionAlgorithmLibrary (computing)BezeichnungssystemEndliche ModelltheorieState of matterProof theoryMathematicsSoftware testingParameter (computer programming)Computer programmingMultiplication signPhysical systemSoftware frameworkCore dumpType theoryFunctional (mathematics)Block (periodic table)SoftwareInterpreter (computing)Integrated development environmentDecision theoryPerformance appraisalDirection (geometry)Formal languageWebsiteRun time (program lifecycle phase)InformationCompilerFormal verificationLogical constantToken ringMachine codeSoftware developerMusical ensembleNumberSystem administratorSet (mathematics)Personal digital assistantPort scannerFormal grammarCryptography
Computer animation
Transcript: English(auto-generated)
Hello everybody and My piece too loud Happy robot. I work from for Nomadic Club that it's a company that develops the
Tasers there's a softer today. I'm going to To talk a bit about Tasers to talk about governance and to talk about how the false community It's how this is relevant to to foster them. Basically. This is it's it's a project that started about
Five years ago First as a one-person project then founded then we passed through Donation round and now we we are in on a stable network Why stays us? interesting to the to the FOS them community I
kind of insisted with With my company to bring tests here to talk about tests in in this in this context because I think that the technology We're working on can be it can be interesting can be Nothing life-changing, but it can contribute to solve a few problems So first of all tests adopts an open an open development model everything. It's on on GitLab
You can find all our source code and work we develop in in the clear. We accept contribution from from the community The the project itself is funded through a foundation and The all the projects all the people working on on Tasers are encouraged encouraged to use open source
Licenses in particular all our software software is released on the MIT license the The point that I want to make today. It's about governance governance. It's basically this idea on how we make
The protocol of blockchain to to evolve and we have seen a few struggle let's say in the last few years namely the Bitcoin and Ethereum Communities with different folks for different reasons sometimes economics. Sometimes it's about personality and ego
Sometimes it's about technical reasons. So today I want to offer a solution to this To this problem, so this is kind of my The slides that you should not do on on blockchain presentation. What is the blockchain?
Just I wanted to put out the few important I might be on key points. First of all blockchain its immutability its decentralization and in and it's a Security, this is where we put our foundations and these are all the all the key points that we try to address on
on our software And of course not all the blockchains are there to these key points for some others some Like anonymity is important for us the governance is important So there is always trade-off in I want you to be secure. I want to be anonymous our how much
centralization so which con which kind of consensus algorithm you want to use how much how you want to be resilient if you want To have open network or closed networks etc The building blocks of a blockchain. I mean blockchain. It's kind of this this bubble word That's a lot of people make fun of nowadays. I I was I put one of these
Papers on the notice board and say nomadic labs develop blockchain technology and there was a big lull underneath the word blockchain and the stand that nowadays has become kind of a bubble word because of all this Ico and all these camps around the blockchain and the ups and downs on the markets and etc
but at the end of the day for people that Kind of develop blockchain blockchain is really easy look chain. Basically. It's a database of the centralized database And it's based on public cryptography use digital signature and cryptographic as function
So the cryptography around the blockchain is not kind of complicated. It's Already been Studied at least the basic return if then if you go to zero knowledge proof and all these others can quantum cryptography etc then it's It's it's different kind of research area
then To to have a blockchain. We need to have a consensus algorithm because it's the centralized So basically we have to propose a decent probabilistic solution to the Byzantine General problems if you have a closed network, you can use the standard algorithm So if you have an open network then with the Bitcoin and in the last 10 years we have seen a lot of work done in in that direction and
Then at the distribution level you need a way to have all these these nodes in the world talking to each other and usually Peer-to-peer network or gossip network. It's used to low-level communications and doesn't these are for me the three basically building route building blocks and ingredients that we we use and
We call them crypto ledgers because at the end of the day we just want to record and do a bit of bookkeeping on on transactions and verified entity on users and Of course ensure the immutability of this data So the design goal of of phases
Are kind of two main design goals we want to It's First of all, I want to stress the world self-amending that is where governance coming governance is the process where we upgrade the protocol and By this by this process we have to get together and decide where we want to go
Which the which technological advancement we want to pursue where? What our users for example want or Sometimes also the economic consideration So if this is upgrade is done how the market or the the people are reacting to this to this upgrade
so it's a it's a lot of it's a lot of work to to try to put people together and We test focus on this governance to have an on-chain mechanism to allow this Protocol upgrade I'm going to explain a bit more how this works and the second big
Design goal of Tesla's it's about security and formal verification in in my company. We all come from academia We're all people that we've been working in universities for about 10 years and We are really focusing on trying to verify part of the code. It's already verified and extractor the acro star part for
For cryptography for example, and we're working on Verifying at least establishing the framework to formally verify smart contracts so once you develop on the blockchain you have something some mathematical insurance that Your product your smart contract is going to adhere to your specifications
I'm going to talk mostly today about governance, but I don't want to forget that On our blockchain basically, it's a smart contract platform as well But today I'm going basically to ignore this part and to focus on only on on governance. So the protocol
the protocol is the heart of the blockchain and if you look at what a node does is basically he receives a lot of blocks and operations and The The protocol analyzes blocks operations sometimes
Accept them validates them. Sometimes they refuse them the one that validates using using a form of consensus algorithm Become part of the chain and then they get redistributed to to do all the others in Our terminology we call this the economic protocol and this is just the only part that we want to change
We want to change the rules how blocks and operations are expressed validated and Redistributed on the network. Everything else is kind of what we call the framework. So the thesis The thesis model it's based is built on two main blocks one
it's the protocol that we can change we can amend and We can innovate on and this is the part That I that it's about governance the second part. It's about the framework the framework. It's basically all the All the tools and belts and whistles that you need to
To create a node and to to make it work. So the the framework is kind of generic. It's We try to to specify how this The interface of this framework to insert your protocol and we invite other people to develop the the same framework in other programming languages
So we are not the only one developing this this part of the code It's consensus protocol agnostic. So the idea that we can plug any consensus algorithm in this framework and implement for example other blockchain Using the same software, of course There is a strong emphasis on verified components and we try to adhere to
Kind of best practices from the engineering perspective. It's written in OCaml OCaml it's a programming legend language that has been developing in France in the last 25-30 years, so it's You might know ReasonML that is
Written it's produced by Facebook ReasonML. It's basically just a bit of syntax on top of OCaml that is a strongly typed functional language that we we have been using for for developing Tezos and Of course, this framework has already been using production is pretty stable and it's a continuously
continuously evolving Going more in details about this framework basically, there's a Modular architecture we have of course the the software for notes the clients that we we have a command-line interface and
maybe we're going to compile all these in JavaScript as well and use the same software to have a web framework and to build extensions and and then we have Modules to to build the miners that we don't call miners because they don't mind anything since it's a proof of proof of stake
But we call them bakers, you know French people like croissant on him on him It's it offers also an abstraction on on a distributed peer-to-peer network It's it offers a powerful and extensible RPC
Introspection mechanism so by RPC that are typed and automatically generated typed and Generated by a library in in the code we are able to export large part of the of the blockchain via JSON objects and
Provide this in easy access to an easy access to the internal data structure of the node itself It use certified cryptography in Namely a cool star that it's a library that probably so already sitting in most of your devices since it's also used by Firefox for example, and
Of course, he has a protocol compiler. The protocol compiler is this component that gets OCaml code and transform it in in In a byte in a byte code that then it's injected in into the into the node Linked and then
Allows to the node to behave in a different way in the future we also want to go toward the kind of a certified compilation pattern so and The compiler itself is certified and he is going to ensure that the protocol that you give is actually going to respect the specification With respect to the output of the compiler
So what is governance governance is basically the idea to establish a Digital Commonwealth by all the people that have stakes and tokens in the TASOS in the TASOS network this means that we We want to give the community the possibility to decide how the protocol is going to evolve
It's not going to we want to avoid the idea of Creating fraction and frictions in in the community to reduce hard forks We want to We want to allow people to vote and to kind of
Take ownership on on this board. Sometimes it's a This problem. It's about having convincing the large majority of people that my protocol is better than yours This is done via
And on an on-chain system where there is a proposal that I'm going to explain in a moment and then there is a vote and of course this kind of system rewards innovation because developers that wants to Help and just develop a new protocol can be rewarded
This this system can be even embedded in the protocol itself. So it's like in some Blockchain blockchain system where the founders get a bit of tokens every time Block is mined. This is the idea that a developer kind of gets rewarded automatically with a bit of tokens once is a
Protocol it's voted by the community and agreed to to work to it's like kind of a payment This is not done But it's kind of a possible way of seeing this or seeing this evolution of of the problem Of course this can be all changed. So if the community is going to decide which direction they want to go
So Why we need governance today? Well governance, it's basically the rule of law the protocol It's what decide which block goes in which block goes out and which transaction are accepted We can think about the Bitcoin block size debate that Deuterium hard forks and of course the kind of all the struggles that we've seen in the last few years about the communities
I've already talked about a bit about about innovations and how contributors might be rewarded and also we want to we want to stimulate innovation and
And kind of giving the possibility to To To allow this protocol to evolve faster How to govern how the Governance currently works. Well, there is an upgrade proposal. Then there is a first round of approval that select a few of This approval of this of this proposal by supermajority vote
Then by supermajority vote there is the final upgrade proposal and the vote is done over a period of 24 24 days This is kind of one of this system where you can even change the The way we vote on the protocol, of course because this is part of the protocol how this is done now
We're going to do our first protocol upgrade in in a few months probably so this is going to To be the to put to the test we have done some some small upgrade But this is going to be the first public big
Protocol upgrade so the main data structures The main data structures that that we use It's a it's a concurrent data structure that presented by a shared model Singleton and it's basically a link at least of monads. This is what a blockchain is for us We use a monadic representation. So we encapsulate everything in in a moment
If we want to think about this the monad that that is Bitcoin basically it's the Set of unspent UTXO plus the total work plus the block number and the operation of course in our the transaction
If we Generally speaking we formalize all these by function that is called apply that gets a state gets a number of operations and give us Give us the next state. So where I want to go here. It's how actually We we are going to choose one of these state because of course when we apply an operation
We can have multiple states where we have a function that is called a score. So All the all the blockchain can be summarized by a function that takes a function that apply and the function that is the score as course basically gets a state and tells us which one is the one
That it's going to be selected by the consensus algorithm in the sense of the in a self-eventment blockchain We can pack apply and score inside the state. So we get these two functions and we put them in the state and Then we have a new operation that is called change and gets two arguments apply and score and then we introspect this in
Into the protocol itself. Basically we add to the to the model itself a third function that allow to change the Protocol itself. This is the idea how this protocol amendment works in in practice How can be done in the future well we can have a
representative democracy we can at we can elect certain parties to make the decision for us or We can have some kind of constitutionalism where we can decide only to change part of the protocol but on others for example We don't want to change the the way we vote on the protocol for example
The there are other many ideas that we can we can Explore and go in the direction. I'm going to skip them for a lack of Time. So what are the takeaway from today Tesla seats self-amending crypto ledger So I talked about the self-amending part and this is what was important for me
We developed this this framework to be protocol agnostic The idea that this protocol should evolve with the contribution of the community and I invite you all to have to have a look at it We're going to publish more and more documentation and information as as we go
it's It's a system that can be can be used to soften all these problems related to to governance that we've seen in the last few years and also That for me as a researcher is very important. It's the framework that as a framework. It's a framework where we can
Experiment with the new consensus algorithm we can plug for example an algorithm a consensus algorithm for a private blockchain and then use it in in that way and then Wouldn't impact on on the rest of the system. It's just one algorithm My dream is to have a library of of of protocols that we can plug in pesos and then can evolve
All at the same time independently So I have if you have questions, I invite you and these are my is our contacts We also hiring we are desperately trying to hire assistant administrator and DevOps for us
Please come to talk to me if you have any questions. Thank you Anyone a question
So you said the code is self-modifying. I mean you can you can vote to modify the code and It's in OCaml. Is there an interpreter and OCaml interpreter? Does OCaml have an eval function that I don't know about how does that work? No, basically, it's
It's compiled to go. It's it's compiled to native code and it's dynamically linked It works basically we get the piece of OCaml code that it's stamped and signed by the the person that wants to That by the developer you send it to everybody else for evaluation. This gets compiled tested and
then when the the the code is actually voted for can be dynamically linked and We basically discard the old protocol and we have the new protocol coming in. I mean Iran's Iran seen
In a sandbox, so it's not that has full access to everything. It's actually very straight an environment Any other questions? I think I get this but what was your motivation choosing OCaml?
Above other languages. What is what was your motivation in choosing OCaml rather than other languages? So the as many of of these things they go by nationality the person that Invented Tezos, Artur Breitman is French and he went to a French
He had the French education and heard about OCaml He went to a French company that proposed OCaml and so he went in that direction But also because OCaml statically is a strong title typed as a strongly typed type system and You can get some some assurances on
by the type system itself Anyone else question No You talked about some assurance some verification. Is there formal verification? Can you speak to what you're able to do with OCaml because I just don't know what what the state-of-the-art is
So the part part of the it depends what you want to verify some if you want to have a full mathematical proof then you have to use a Formal verifier formal verifier and code all your system in Coq and then maybe generate the OCaml code out of it
But this is kind of the hopper part by just using the type system OCaml you can kind of avoid Runtime errors because all your your types are I mean if you trust the compiler, so these are one of
one of the insurance It is it is So I think the question was how many nodes are we running now
Actually, I don't know there is if you want to check it there is I mean the the main network is is on the Foundation is running. I think about 40 nodes and we use these 40 nodes to bootstrap the rest of the network and I think we have hundreds or
Hundreds of people running nodes. There is a website that is called the Tisa scan.io and you have all the informations about the running nodes block baked and Transaction and movement of tokens over there. I think we have time for one last question. Somebody has another question
No, okay. Thank you. Thank you so much