Meanwhile at Nomadic Labs #6
It’s time for yet another post in the “meanwhile at Nomadic Labs” series, and
we have a lot to talk about. Dive in to find out what you might have missed in January!
Nomadic Labs partnered with the IMDEA Software Institute, a leading
research institute in Madrid. You can read more about the
partnership here or in our press release.
A new research program dedicated to Blockchain technology was founded in
partnership with Inria, the French National
Institute for Research in Digital Science and Technology.
These collaborations clearly demonstrate our focus to support more open
scientific research that can benefit Tezos and the entire Blockchain community.
Alexandre Doussot presented “How to Develop Smart Contracts with Tezos” at the
Paris P2P Festival. This 1.5h
workshop gave an introduction on Michelson and Ligo, two fundamental languages
for the Tezos ecosystem.
Julien Tesson, Raphaël Cauderlier, Bruno Bernardo and Basile Pesin, a former intern at Nomadic Labs, published “Albert, an intermediate smart-contract language for the Tezos blockchain”. Keep an
eye out for the Financial Cryptography and Data Security Conference 2020 in Malaysia on February 14th. Raphaël Cauderlier
will hold a presentation, giving more details on Albert during the
4th Workshop on Trusted Smart Contracts.
To celebrate our partnership, we organized a Tezos Blockchain Workshop in cooperation with
IMDEA Software. Michel Mauny presented the distinguishing features of the technology
used within Tezos and the decentralized ecosystem supporting its development.
As promised, we published a second blog post on the The Spending Limit Contract: Formally Verifying a Critical Smart Contract. This post goes into more detail on how we formally verified the Spending Limit Contract used in the Cortez mobile Tezos wallet. The application has been updated on the Google Play Store and we are working to get it to iOS as soon as possible. Android users can already head over to the Play Store and download the latest version of Cortez in order to start setting spending limits.
We started a series of dedicated hackathons in order to improve documentation
on the Michelson programming language. You can view a preview
Two smart contracts used in camlCase, which will serve as critical components
of the decentralized Dexter digital asset exchange, are currently being
formally verified. You can read more about Dexter in camlCase’s blog
Nomadic Labs visited Cobra,
short for the Concordium Blockchain Research Center Aarhus. Due to their
similar interests in academic research, we discussed possible collaborations
and gave a technical Tezos presentation.
We attended The annual Symposium on Principles of Programming Languages (POPL
2020) in New Orleans. Michel Mauny, Germán
Delbianco and Bruno Bernardo were present to answer Tezos-related questions.
Nomadic Labs is proud to have sponsored the Southwestern Europe Regional programming
Contest (SWERC) 2019-2020, which was organized
by the “Institut Polytechnique de Paris” and took place at Télécom Paris on
January 25th and 26th. Mehdi Bouaziz from Nomadic Labs was the judge during the
“Problem analysis session”. A few lucky winners went home with a brand new
ledger hardware wallet. You can view the video including the award ceremony
Pietro Abate from Nomadic Labs attended the European Blockchain Convention in Barcelona.
We are equally proud to be one of 11 founding members
of ADAN, the “Association for the Development of
Digital Assets”. By bringing together French industry actors and representing
them, ADAN aims to promote the development of digital assets in France and Europe.
Last but not least, we published Tenderbake, a classical BFT style consensus for public Blockchains. Inspired by Tendermint, Tenderbake is a first exercise in experimenting with deterministic finality in Tezos. Tenderbake is a collaboration with CEA LIST.
Stay tuned for more updates next month.
How to write a Tezos protocol - part 2
This is the second post of a tutorial series on how to implement a Tezos protocol. In the first post, we saw how to write, compile, register, activate and use an extremely simple protocol. We also looked at the interface between the protocol and the shell. In this post, we consider a new protocol called demo_counter which extends demo_noops from the first post in several ways. Blocks can contain simple operations, whose effects update the blockchain state. It is parameterized by protocol parameters passed at activation time. It defines...
Formally Verifying a Critical Smart Contract
We present the formal verification of the Spending Limit Contract, a critical component of the Cortez wallet.
One of the main goals of Nomadic Labs is the development and applications of formal methods in the domain of distributed software, blockchains and smart contracts. In particular for the Tezos blockchain, for which we also develop the Cortez smartphone wallet (Android, iPhone). This wallet helps Tezos users manage their account and funds in a safe and secure manner. How can the user be...
Meanwhile at Nomadic Labs #5
In this fifth series of ‘’Meanwhile at Nomadic Labs’’, we discuss recent achievements including some projects we have been working on. December was a demanding month with a lot of ongoing development. Like we briefly mentioned last month, Arvid Jakobsson and Zaynah Dargaye worked on formally verifying the spending limit contract within the Cortez Wallet. We are proud announce that the contract has been formally verified and an updated version of Cortez has gone live...
Sapling integration in Tezos - Tech Preview
We are happy to announce a first technology preview of our integration in Tezos of the core of the Sapling protocol developed by the ZCash project. By extending the Michelson smart contract language, this work allows for the exchange of digital assets in a privacy preserving way. Why Sapling? In recent years, we’ve seen much progress towards enabling privacy-preserving payments on public ledgers, both in academic research and in the real world deployement with projects such as Zcash, Monero, or Aztec. In...
A new reward formula for Carthage
Note: This analysis was done with the help of Arthur Breitman and Bruno Blanchet (Inria). The code used for the analysis can be found at this url. A new reward formula for Carthage In this article, we present a new reward formula that we propose for inclusion in Carthage. This new formula is designed to make the network more robust to non-cooperative baking strategies. It does so without changing the total amount of rewards earned by bakers...
Meanwhile at Nomadic Labs #4
This is the fourth blog post of our ‘’Meanwhile at Nomadic Labs’’ series. We will discuss what we have been working on the past month, in particular about events that we organized or participated in. Babylon successfully activated around one month ago. A more detailed list of changes can be found in our recent Babylon Blogpost. With all of these new features, Babylon was a way larger protocol change than Athens which was mostly...
Carthage: changelog and testnet
We are happy to announce a new protocol proposal code-named Carthage, developed together with Cryptium Labs. After the feature rich Babylon, Carthage is a much needed housekeeping release. Carthage contains exclusively fixes and small improvements across the board, the more relevant being a corrected formula for rewards. The only “novelty” is an increase in the gas limit which will allow to execute more smart contracts. A testnet called carthagenet has already been running Babylon since last week and will amend to Carthage in the next...
Lessons Learned from the Babylon Protocol Upgrade: A Retrospective
Babylon (aka protocol 005), the second Tezos protocol amendment jointly developed by Nomadic Labs and Cryptium Labs, was successfully activated on block 655361. Since then, we’ve continued analysing and monitoring the new features, but have also engaged in a deeper reflection on the upgrade process from its development period, pre-injection, to the period following the activation. This article summarises the lessons learned in five parts: the development of Babylon, the proposal period, continued testing during...
Mainnet release to patch Babylon
During the testing phase of protocol Babylon 005_PsBABY5H, we discovered a bug affecting bigmaps in Michelson smart contracts. The bug is corrected in a new version of Babylon, 005_PsBabyM1. How to proceed The bug is not critical but causes a significant performance degradation for newly created smart contracts and an incorrect behavior for existing ones using big maps. More details on the nature and effects of the bug can be found in the protocol documentation page. During the upcoming promotion vote period, we propose...