Hands On: Multisignature Bitcoin wallets with different hardware manufacturers

Geneva DevChain Meetups · 1 Jun 2021 · 48:28

Hodling SA cofounders Alexandre Poltorak and Darko Gasic demonstrate multisignature Bitcoin wallets built from hardware devices of different manufacturers. The hands-on session at Geneva DevChain covers how combining several hardware wallets spreads key management risk and removes single points of failure when securing bitcoin.

Speakers

Topics

From Geneva DevChain Meetups, hosted by Geneva DevChain.

Transcript

ugh [Music] thanks so

[Music] um okay okay

[Music] um [Music] so um yeah for those who have already

joined hi and we just this channel and we will try to address them during the presentation and the demos yes i've already joined hi and we check this channel and we will try to understand that during the presentation and the demos during the presented lol

[Music] should we just start with the presentation there is an introduction by serene you can [Music]

okay [Music] um

bye hmm one second it will be back again

um studio on linux and it allows you to capture a different source like other stuff and to combine them together and stream more

[Music] records okay also before we start for the people who are already there and waiting maybe i'll show a little bit the different hardware wallets that we we use so that presentation than the demo okay sorry to be later

hello yeah maybe you can quickly compare the number of people who are here in discord with the meetup page let's an idea to see if we can already start or should wait on a few more people so we are okay to start it's just uh you try new format with discord so just wondering if all people

succeeded to okay oh maybe yeah i haven't checked in the channel so he's asking about how the banking custodial services

will interoperate uh with our solutions using hsn's well so it's either the banking solution can be built on top of the software and the procedures that we provide or so they interact through transactions or the bank is using our technology and the agency yeah they could fully even today integrate our services and uh those or those or with hsms that can be part of the multi-signature wallets

but we will cover this slightly in the in the presentation some let's say most frequent use cases and then there is a short demo after that they're not they're not they are not documented they are not documented yet on the website the various use cases oh yeah not not yet documented on the website but it's kind of all the stuff the beauties of the bitcoin protocol that it is very flexible yet very simple so you can really configure and set up the multiseek to your needs

welcome because many of the questions are probably going to be answered through the slides yeah but really don't hesitate to to integrate yeah so we really we really want to make this an interactive presentation where whenever you see something on the slides that is unclear or incomplete feel free to ask we are glad to answer the questions okay great so welcome everyone to the presentation of hotlink and bitcoin non-custodial storage solutions before we present the company let us

just explain how we plan to structure the whole presentation it's going to be first part of 10 15 slides short presentation about the company the services then we are going to show you a couple of hardware wallets that can be used in the multisig uh monthly signature wallet slides so the co-founders of the company are uh darko gasich that's me and alexander polterak both of us we have been working as key account newsletter switzerland we have a couple of years of experience in bitcoin and both of us we have

completed a master's degree in digital on the open hardware and free software site then the rest of our team our advisors obviously alex yourself is a very known figure in the bitcoin and that he is the technologies so a company that is working on mixnets and the other advisor is van somino who is the co-founder of liax law firm and he has a long track record of cryptocurrency and blockchain companies in switzerland so any holder of a big number of bitcoin

uh hacking off for example uh the machine where the software is hosted um the software itself uh the hardware wallet that is used in the for the casual engineering and then there is obviously the if the client keeps all the funds in a single sig wallet if the only key is lost um a hardware wallet such as this one for example might get intercepted um on the on the on the path from the manufacturer

software into it so this uh device should not be trusted anymore and of course many other issues can be mentioned but yeah so barcelona uh then we have workshops and uh various kinds of trainings on cryptography fundamentals bitcoin fundamentals and also we have so now the first uh main service that we are offering are obviously the multi-signature wallet services that are based on free software and various hardware wallets and machines for example

air-gapped computers and it is used for the signing of transactions and those transactions are is obviously auditable and the other auditability of the software is also important to us this is why we are avoiding a proprietary software it does completely interrupt or interoperable on all levels so for example if we as a company disappear the multisig is completely recoverable if one of the funds are still recoverable because the chance of hacking for for example devices

simultaneously is very low and um then for example one one soft one client that is used for the multisig wallet also can it can happen that it is it gets hacked and they are also the software uh all of the infrastructure behind our services is uh hosted in switzerland and as i have mentioned before the presentation the bitcoin protocol for multisig is very flexible so the second part of our services

are is the education the training so there we are going to teach people about bitcoin uh fundamentals mainly bitcoin fundamentals uh your own full note instead of delegating uh the trust to a third party so there we can have for example um we have the binaries uh the firmware that is supposed to be installed on a hardware device the one that the original developer and maintainer has published so there we have to check

the sha-256 hash and we have to check the signature the all these prerequisites are uh necessary for a solid um wallet wallet setup a proper let's say best practices and safe self-custodial wallet setup then the last customer's access to various brokers and exchanges in switzerland as well as outside helping them with various kinds of documentation also inheritance planning of the of the legal owners of the

multisigbs we are actively working on building a local swiss network of co-signers so local uh crypto friendly uh law firms crypto friendly notaries financial institutions such as brokers obviously uh we will have also public institutions and other fintech blockchain because recovery wallets that are going to be used in case if for example a user the access to his

funds we can use this network of well well-known cosigners thorough identity check can still recover his hands now let us go through a couple of examples so the first one is uh three is more interesting and so in this setup we are going to have uh three different hardware wallets so for example we can have a cobble vault this one so we have three various wallets and all of those are going to generate a private key and the advantage of this multi-seed is

that every time we want to move funds we are going to need the one device is lost one price one private key the backup of a private key is lost the multisig is still fully operational bitcoin transactions is that the signers the cosigners can be geographically distributed the second example is about recovery we'll have one uh hardware wallet for example this one he's going to generate a private key he's going to have a an extended public key uh a two out of three multisig but he will never have access to the private

key that was generated by the lawyer will go to his lawyer and after an id verification the lawyer can give him back the private key so that he can save his funds and the last example that we have chosen is about the hsm so incomes and expenses in in bitcoin and for example um one one key can be a the second signature is going to be provided by the shm hsm and the hs exactly what the policy looks like

our contacts if you want to contact us and now i think we can jump leave vault it has various advantages over the other devices this one for example is various uh purposes so the advantage for example of this device is that it is very difficult to have a this one this one is only used for uh bitcoin bullets so it's easier to and we have

the swiss company bitbox 0.2 by uh if we don't have any questions so far let's maybe go through a small demo um wait i have to check let's go through uh the demo and i will there's a question last question whether the computation of multisig in the first two cases are done on the instance so the examples uh in the in the examples we provided i'm not sure what you the address is derived from the script and the signatures provided by the by the users by the cosigners so

uh to spend from the script and he needs to present you can see from here yeah yeah yeah yeah let's pay to wrap the public uh well not wrapped it's the new uh batch 32 there's full segment you you can do wrapped also but well in the chat yeah and welcome i'll go through a small demo so we touched three things in the examples the recovery key by the lawyer the different hardware wallets and maybe hot wallets

a key is generated and exported by the lawyer so he can use a hardware wallet device such as that and i'm running here while i'm typing there are words that adds here these words are deterministically pinko they can see that the device uh say the exact same words so the device is not compromised so i can finish typing my pin code and enter into the device so i'll generate a new role of the lawyer so i generate the private key i should hopefully back and back up the key in a three-to-one

manner let's just make for every single backup there should be at least three copies on at least two different mediums for example i don't know plastified paper and a metallic plate such as bill photo or crypto etch and uh one means that one of those uh backups sure that even in case of natural disasters your wallet is still recoverable your backup is still recoverable as a lawyer i will export my uh the key for the multisig um extended extended public key thanks

uh with his client so here we are done with the lawyers part so now i will reuse this key the devices now and i'm adding first the lawyers recovery key and i will upload the extended public key now i will in um also import my own extended public key so let's say i generated two on the wallet here the first one was the [Music] lawyer also upload from sd card and

here i will go to the sd card and here is my own extended public key continuous no multi-signature wallet it will be a bitcoin core cloud wallet so i will create this uh hot wallet and eventually sit up hopefully it's generating the wallet on the

bitcoin course side so now i have my three devices here on the on the left i have the diy select the free devices continue uh let's call it personal wallet select the quorum so here it's a two out of three so two out of these three signatures will be needed to sign any transaction how it looks like so this is the the backup for the wallet with the configuration and

the export of all of the extended public key of all of the cosigners and this backup is very important it's needed to reconstruct the wallet if you have lost one of the duration into other software than the one we we are using currently so we click continue here and the last step for the configuration of our wallet we will import the configuration of the multi-signature wallet into later i don't i cannot scan so i will register in a text file and record on the sd card there's one now

let's register here personal wallet you probably see now even the one or two satoshi perp we see it here still unconfirmed but we are receiving a small transaction so now let's let's send this back somewhere i guess i will try but i guess i will not do this because oh no it's not asking again the permission

okay so let me copy paste [Music] i'll set some manual for satoshi provide fees and send the maximum so create and you can see now that the unsigned transaction is prepared and need to acquire at least two of the three signatories of the three possible signa signatures with other devices

here i will start to so i have my lawyers recovery key that's the one that i'm not using daily that's if i'm if i lost my diy wallet or it asked me to type in my super secure passphrase and the transaction is signed by the hot wallet so i acquired one of the second signatures and i need now to sign with the other wallet so let's do it file and now i will just move the file from here to the sd card button i can see this unsigned

transaction and when i open this onsite transaction it shows me the detail of the transaction that i will be going uh that i will be sending uh this amount details here they're lots of much more if there are uh let's say now i'm spending all of the amount if there would be a change the change address is also very nice addresses so let's confirm the transaction it's now signed and appeared here on the sd card so let's go here and load the signed transaction and the transaction is ready to be

broadcasted so we can set later or just copied for to be processed in a different software so let's simply broadcast the transaction so now we spend all of the amount that i the key and like some user to others signatures that combine a hot wallet and the cardboard wallet so now what i would like to demonstrate uh very quickly i will not go into like crazy detail but we can add another device and this demonstration and say uh get so the code card is now connected via usb

to the to the computer well not really to the computer it's also extended public keys from this hsn and added as an additional device so now we have four different devices here and i can potentially add a new multi-signature wallet that will can the quorum would be something like two out of four or three out of four uh depends on the on the needs um can we say now let's say three out of four and create a wallet so

so import this wallet now into the spectre diy let's do this there is a question sub menu so is this on on the spectre desktop i'm not sure i understood let's can you

explain the button sub menu utxo in your system ui okay okay so information is there okay okay yeah got it i'll cover that uh so now we import the enterprise wallet where i have my own key and free my single seek my personal multisig and my enterprise multisig so let's try to answer the question i don't see any utxo tab here so nor do you refer to something else [Music]

in transactions in transactions okay i don't see okay so also here okay okay sorry sorry okay uh got it so uh let's check here it will be easier um this is why i don't see anything in utxo but history is like a history of transaction so it's transaction outputs uh that i've received so not uh like let's say maybe you received several on the same address so this is why also you here you have utxo welcome and there was

another question before we forget it it's in about the uploading of keys so probably expanded pub keys it's written in real time use case you will not have manually file to be uploaded really use case for full end-to-end security uh well not sure to understand uh case it is also transferred it cannot be automated uh so it can it can actually for like usb wallets or connected wallets but for example for four different extended public keys okay

so it can be automated uh but only on connected wallet not on the air gap wallet for the air gap wallet you obviously need to transport the public key from the device to the whatever software you use online so very quickly through some rules that you can set up in this poor man's hsm so hsm stands for hardware security model and here we just use the uh cold card hsm so uh white act as a connected hardware security model so the the device um

have this tool that can be accessed like i'm accessing now on localhost and it can be accessed via vpn or via tor network so you can set up a velocity time period like one day per day for example as we specified here so let's say a rule that would allow 0 1 btc 0 0 1 btc to be uh send per um per transaction and zero uh like demo effect it's

uh in uh how it's called in um uh test net mode now so yeah normally it would be showing btc here so um one that i used here my my own address and we can add users users can use passwords or um passwords like paper or by some random password then you can restrict to some specific

derivation path so that the hsm doesn't sign with any path but only with some specific path you can authorize some specific all the assigned messages etc etc so here in the rules what i wanted to show is that you can for example put here a response to approximately to the salary so that the user photo authenticated with his password can um trigger a transaction to this address without for example here you can

provide a rule that any amount so you don't even specify the amount no per period restrictions too and you can add here let's say it's a different address let's just pretend it's a different address and any transaction up to the maximum maximum amount only going to this specific address so i think this is it for the examples that we wanted to show is for example the cto of the company put in place this hsn model so the cto of the company controls uh let's say it's a two out of three so

he control one of the devices the hsm one of the devices is controlled by the lawyer one of the keys could sign some transactions and cost sign it by the hsn if it follows the rules that were predesigned and configured on the hsm by the cto if the company needs to spend some another device or the same device without the hsn mode and manually sign the transaction so yeah i think this is it for the demo uh yes so uh just one more that then remark so we have for example

electrum also can perform a multi-signature and there is also sparrow for example so this is the interoperability part where you can freely migrate software everything can be can be interchanged in this setup yeah we answered all the questions that were written so far any questions comments

was that was the demo clear enough did you did you understand how the wallet is configured and how any part of the demo we can go back to it and re-explain uh well so first of all um the the setup that we use is uh meant for like really large sum of uh of bitcoin and in some money is the the right address

uh that the hardware wallet will be signing that the rest of the money is returning indeed to back to you to your change address of your own wallet and in fact you would be surprised not all hardware wallet really supports that a good single signature wallets but they they do not support importing cosigner's keys so they are dangerous to use them in a multi-signature setup they cannot yeah very dangerous to to use so you need to be very careful with your the choice of your hardware wallets and this is also one of the reasons why we

as a company we try to say to stay bitcoin only uh is that all these utilization uh cryptocurrency ethereum if when you are using a hardware wallet most of the time you just blindly sign a transaction don't do to sign a uni swap transaction from a ledger and you will see what i mean you are communicating with a smart contract and you send some message to the smart contract and your hardware wallet have no idea how to communicate with the api of the smart contract so

metamask does but metamask is a software wallet if you want your hardware wallet to show you exactly what is happening it can't the hardware wallet will say careful you are signing some data it's uh it's on the way for a very long time and we all expect it but it's not yet there even for the second capitalization and i'm not even speaking about other stuff like i don't know i can see so sometimes people will ask about algorand or i don't know like some other uh to be able to use it safely we have a question

so so people who are on ledger they are insure set up and it's a good wallet in a single signature setup uh that have some nice properties but for now they don't support and don't have any plans as far as i know to support well multi-prognosis safe sorry on ethereum for example uh as far as i know there is no plans to to better support any of these so for a person like that it would be if the person wants to use the the software we use it's totally possible in a single seat with uh he or she would need to use uh some

other devices that are compatible and then just send his funds or her funds from the ledger to this multi-signature wallet uh cool sorry no he was asking me okay the question was answered i can see from here so we have another one um about eal 7 standards yes security yeah so it says kind of some of the some of the devices that we use are uh certified after this level of certification

so uh to quickly summarize i think all of them no no no not all of them this one also with uh no so it certificate the plus and that uh so it's a it's a standard in term of security uh but on most of the time you you have to give up on some some stuff like either you do a proprietary fear more implementation or you will not be certifiable so the question is whether the certification eals ea l7 matters uh the the idea

in the multisig is anyway uh hardware diversity and software diversity so like uh try to be not to use this potentially have a compromised true random number generator uh if you if you use different devices and one of them have a trng compromised it's not that much of a big deal because you like you wouldn't have that matters but it's also good to use different devices with other uh security tradeoffs i hope it answered the the question yes

there are no more questions i think but it's it's quite simple you just need to support uh psbt partially signed bitcoin transactions uh and a few numbers of beeps bitcoin approval proposals standards so many wallets will be compatible at some point with this solution and they all have different tradeoffs and different properties no more questions remote beer to deal welcome

you have you have the contact ch or pulto or me on on telegram or wherever