 Okay. Hi everyone. I'm Thomas and I run Coin of Sale, which is over-the-counter or system for over-the-counter Bitcoin payments used widely here in Singapore, in Europe, and in other parts of the world, most recently Canada. I'm gonna talk about, I'll start with Bitcoin in general. I do a little bit of libertarian renting on why Bitcoin, from my point of view, makes a lot of sense, and then I'll go to how you can use it in practice, what to take care of, what are options you can do, and so on. So, first, what is Bitcoin? It's three things. From my point of view, it's cryptocurrency with one unit Bitcoin. The difference there, which we generally use, is with capital B system, with small b, it's unit of currency. It's decentralized payment mechanism to transfer those units of currencies, and it's an open source software, which is quite important for what we will be talking about here today. Why crypto in front of the currency? It's because the issuance, the transfer, and the settlement of all the transactions and the balances is upheld by very strong cryptography, public key cryptography that you know from other applications like PGP. That in practice means a couple of things. First, we know in advance how will the monetary base look like, how many Bitcoin will be out there in the next 10, 20, 100, 150 years, which is important for the things I will be shortly talking about later. It's transparent because of its decentralization, and because of the public ledger, you can look at any transaction in the history of Bitcoin. All current balances are basically a result of the chain of transactions which has happened before and which are stored in the public ledger, which you can download freely, and which distribution is necessary to maintain the network. It's based on the public key cryptography, which means every transaction needs to be signed, created and signed with the private key, not too different to what you're used to maybe from PGP, and every transaction can be confirmed with the representative public key or its hash, but we don't need to go into such details. You can Google it or ask me later why. Decentralization is very important for a couple of reasons. First, that chart at the beginning will not change. In order for anyone to change the rules defined in Bitcoin protocol, he or she would have to take control of the majority of the network, which is a few tens of thousands of servers as we speak, which is virtually impossible. Of course, there are no two persons like this whom you probably don't know, but who are two of the most powerful persons in the world, because every single day based on their discretion, they decide what is the value of the savings of everyone who uses money in their daily life and they are not accountable to anyone. Another reason, and we can speculate here, but we can quite safely assume why the author of Bitcoin Satoshi Nakamoto chose the decentralized model is because of these two examples of what happened to these two guys or these two systems, Eagle and Liberty Reserve, which got shut down, seized and whose authors got vilified, persecuted and imprisoned solely because they were challenging the monopolistic system or the monetary system based on the US dollar. So this cannot happen to Bitcoin. There's no one single server that can be attacked, seized, shut down and all user accounts destroyed. Everything is on a public ledger. Another upside of the decentralized is there's no one who can simply seize your funds because he's in the middle or he holds them. If you don't allow that, the examples could be found in WikiLeaks or Proton Mail, which fundraising accounts were shut down or blocked by PayPal and in case of WikiLeaks by credit card companies. Open source, very important for us being here, that means you don't need to ask anyone to do anything different as long as you stick to the basic rules of the protocol of the basic cryptography principles. You can do whatever you want, you can bend the software, you can create your own software. As long as you sign the transaction the way it is supposed to be signed, you're free to do anything, it doesn't cost you anything, you don't have to ask for any sort of license. You just connect to the network the same way as you connect to the internet, even easier. The result being, this is just a very tiny fraction of services and products that are available out there in just five years of existence of Bitcoin. Some of them are now valued at hundreds of millions of dollars, some of them are just starting up and again it's because nobody had to ask anyone anything. So why should you bother? There are some ideological reasons which come from what I mentioned and which brought me as a libertarian into Bitcoin movement or Bitcoin ecosystem. And then there are some practical points of view. So we'll get to that. From that first point of view, this is how the monetary base of US dollar looks like in the last 40 years. There's a good reason for this and that is how the inflation works. Whoever gets the money, the newly inflating money first, enjoys the old prices while those who get them lost pay the most. So it's those who are connected to the system, to the state, to the government who are the beneficiaries of the of the inflating money supply while those at the bottom middle class and the poor pay with the higher prices. The reason for this is because states and governments like to finance what they like to do most which is wars, police and surveillance state, crony capitalism and giving away gifts to their friends. The practical implications for us is the rising prices. This is my favorite example. The middle-class car a hundred years ago cost exactly the same or used to cost exactly the same as the middle-class car costs now in gold. It's about 22 ounces of gold compared to price in dollar. It'll be many many times more something different in Singapore. Another reason when you pump a lot of money into the system that money tries to find places to go to. Often not very smart places. That's how investments are created. That's how bubbles are created. That's how banks go into too much risk because they have just too much money lying on the ground free and they are desperately looking for places to invest in and that's how business cycle is created. That's how or massively enlarge. That's when booms are started and they end up in busts and crises like what we've seen in 2008 and many times before which are much much worse and they used to be in 19th century during the period of gold standard. Now to the more practical reasons if you don't give a crap about what I was saying until now. First, what you can. You nobody you don't need to ask anyone. It's free literally. It just takes a little bit of time, a little bit of research, getting familiar with some software and you can give it a shot and see what is the result. So that's from my point of view or in my opinion quite important reason as well. But then fees are quite obvious. If you take care of everything yourself, if you use the free software that's available, if you do the integration yourself, Bitcoin is free. The only thing it costs you is the internet connection basically or the server space or whatever compared to credit cards and PayPal where receiving transactions those of you who run some e-commerce business know about this typical transaction will be anything between two to five percent with very small transactions it can be even a little bit more. If you use some payment processor for Bitcoin who will do a lot of stuff for you and make it extremely easy then you might be charged something like one percent still way less than what you are typically used to. And then you know more downward reason PR and sales it's still a bit succeed for online media for even often for traditional media to report on the new merchants new businesses accepting Bitcoin either they run stories from time to time or when it's you know announcement big enough then they just run it separately. There's a big community in pretty much every developed country these days or semi-developed country these days counting by hundreds, thousands of people who use Bitcoin were willing to spend it. This last Friday was Black Friday, $260 million worth of Bitcoin was spent. That's what 10% of current market cap? I don't know why that. That's a lot. So just to give that a factor you can sign up on different online directories for free where people can search for if they actively want to spend their Bitcoins and they can find you. It's also a good way to get a little bit of exposure. So now you know you need to use Bitcoin obviously after what I've just told you so the question is how. Well there are a few options. I forgot to mention actually in this presentation I realized payment processors but you can Google that it's super easy to start. What I'll be talking about here because we're on hackathon is how to hack it yourself so how to do it pretty much for free. If you want to get rid of some headaches and just get quickly started then you can go to payment processor something like PayPal for Bitcoin and you're done. So the full Bitcoin note is the original original it's been recoded many times before and most of the code today is not original but it's still well it emerged from the original code released or client released by Satoshi Nakamoto five years ago and it has it has a command line option it has a graphically user interface which to be honest I've actually never used but for us trying to integrate it in the app it's the command line and the remote protocol connection that we're interested in. It has few advantages and reasons when do you want to use it. So first it allows you to receive and to send the transactions there are many options how you can receive the transactions the thing about full note is that you can also send them straight from the server so if you need some sort of application which requires receiving and sending with that you are somehow connected users on both sides of the transaction then that's what you might want to want to use. It has an internal accounting system which is very handy which I'll be talking about later it has many advanced options and functionally is like multi-signature which is which allows for for much more advanced security or it can send one transaction to many addresses which saves on fees and can be used in other ways together with the internal accounting system usually. It has a remote JSON API which allows to send commands or to receive information about the wallet the balances accounts or about the network in general and there are many many language specific APIs which connect to this. So what are there are disadvantages in using the full note first off you need to download a full blockchain which currently is about 30 gigs of data. If you're running it in the VPS it'll cost you a little bit of money if you're running it locally it'll cost you a little bit of disk space there are ways how to get around it and I'll get to them as well. You can't run two instances or two wallets on the same server which can suck because then for example if you if you don't have separate testing environment if you're just starting if you have a staging environment in your VPS then you need to somehow distinguish the accounts if you run internal accounting. Again there are some tricks around it which I've tried and I'll explain them a little bit later it's fairly easy. The most important probably is security risk. This way your private keys are on the server which is directly exposed to the internet and accessible by a potential hacker so you need to take care of some precautions which might or might not work. There's always a potential of losing some money and you need to minimize that. I have a lot to talk about that. Okay so how to set it up. Download, so you download binary for whatever you're using when you're using Mac or Windows or Linux as a development environment then you just download that and then for your server you download using Windows as your development environment and Linux as your production environment download both they're perfectly compatible of course they're separate binaries. There's also a source code if you want to compile it or if you're using something exotic. The binary is fairly small. There are a few binaries. There's a demon which you can run which you can then connect to remotely and then just recently the client itself which you can use to connect to the running server to the running wallet has been put aside and is now a separate binary. So if you download it there are a few of them it's fairly easy and fairly clear if you google it how they work. If you just run the demon the 30 gigs of data takes ages to download. I'm not sure honestly how is it in the US for example where there's more Europe where there's much more servers that the node connects to. Here when I when I launched a new server when was this? No sorry when I reinstalled my laptop a couple of months ago and I thought I will just run it from the scratch. After like five days I was on about about the half way through so it's insanely long these days so you need to speed it up and the easiest or probably the only way is to turn the latest blockchain bootstrap. There are updates once in a while once in a few months available on Bitcoin.org. The easiest way is just to google blockchain bootstrap or torrent blockchain something like that and it will be for sure the first thing. You open your torrent client and download and there are instructions you just copy to the Bitcoin directory and the Bitcoin node will automatically note that there's this file available and it will import it and make it much quicker. Typically the file will be maybe a few months old and then it will take maybe just a day to get up to the current date from that snapshot. So this is important step to get rid of a lot of headaches. You run Bitcoin even if you want to just run it on the background you use the Eman flag. This is quite handy if you for example like myself have a development environment with SSD drive with just 160 gigs of data and you don't really want 30 gigs of that being taken by the blockchain. So what you can do is to put the blockchain on the external drive. That means whenever you want to run that you will need to have that external drive with you and run it with the same parameter. On the same path the wallet will be stored as well with all the private keys and everything. So the whole directory that Bitcoin uses in order to run and to save the configuration will be somewhere else. So it's important to note but when you remember it and when you have the drive with you it saves 30 gigs of data on your internal drive or on your primary environment which might be handy for some people. When you run Bitcoin the node first time two files will be generated. The configuration file with some default settings including the default randomly generated password for remote connection and the wallet which is a binary file storing the private keys. There are some important steps to be taken later related to security. We'll get to them. So you can change the RPC password to your you won't store it somewhere and then you use it in whatever app you want to use it with. So now you have the node running. The node is typically connected to other nodes around. It's peer-to-peer, it's decentralized so it looks for the closest nodes around you connect to them. To be honest I don't know even how many I think it's around 10. So whatever transaction happens or is relayed from your node meaning your system sends some sort of transaction or sent it to your node that'll be automatically sent to those that it connects to and they will relay it further and this way of course it'll be everywhere around the world typically in a couple of seconds. Yeah it's if you want to if you want to connect to that node remotely it's a must to set SSL of course. If you connect locally it doesn't matter that much but you might want to do it anyway. By default the node doesn't allow remote connections. If you want to connect from remote computer you need to set it explicitly in the configuration file. Okay integration basically I started with that but to take it further there are two options how you can integrate your app with the running node which then allows you to send and receive different sections. Locally via command line and Bitcoin client if you prefer that for whatever reason I think better option is to simply use the built-in remotes remote protocol and use the either generated or the password that you change. There's a default username which you might use or change and again use SSL or not. This is in my opinion the preferred version all APIs or at least those that I saw language-specific APIs are built around the RPC they don't by default or that they don't assume that you are using the Bitcoin binary client. That's useful for your if you're looking in the app yourself through the command line then you use the Bitcoin binary. Yeah so if you want the to run the integration with what with the language that you're using then you just Google sorry even if you want just to use the Bitcoin client in order to connect to the node and do whatever you want there to get the information about the transactions just Google this string the original Bitcoin or Curie the original Bitcoin client API calls list it'll come up first and there's a full list of commands it's pretty clear what what does it do and you just need to decide what you need for your purposes. Yeah I mentioned this language-specific APIs are implemented pretty much the way they just call these standard calls they use the same same name same syntax they just translate it from from your language whether it's object-oriented language or something else and they translate it into standard API calls. It's insanely easy when you look at it when you think about it when you run it there's no reason not to try it. The accounting I mentioned this is the interesting thing about about about the node and it might be one of the main reasons why why to use it despite of the downsides so what it allows you to do when you receive a transaction or when you're supposed to receive a transaction you always create a private key and the representing address you typically you ask the the note you ask for the address you don't ask for the private key because you're not interested in that that's important for the wallet in order to do transaction but for for your user in order to send you money for example he needs to know the address so typically you ask for Bitcoin address that's that's the representing string that is used to identify you or to give some identification to someone who's sending you some balance so you ask the node by command to give you a new address and you can specify what account that address should belong to so when the money arrives to that address it is specifically linked to an account which you can name however you want this is great for double-checking whether the payments are going where they're supposed to whether there's maybe accidentally something extra and you need to figure out where the hell is it and then when you are sending money away you can do you can do the same thing you can just specify the account the money supposed to go from so this way it makes it super easy for you to to maintain the correct balance at any given time even if you screw up whatever in your database or or the code the node will always make sure the balance is correct on the node as long as you don't play as long as you don't do some monkey business with with those with those accounts themselves there's always a main account which you specify with what's empty string which can be used for example for for cold storage we'll get to that and that's the only account that can go to negative all other accounts if you try to send something from the account and there's not enough balancing that account it throws an error and it doesn't send the balance the only so how it works in practice and this is very important for the cold storage let's say you have 10 accounts with different names and then you have the generate generate empty string main account you can maintain the balance on these but if you don't want to have too much money on your server available for the hacker then you just send it out from the main account account these remain untouched the main account goes to negative then of course you need to handle with the situation if someone wants to withdraw from one of these accounts and you need to let them know that you will send it later from somewhere else but this is this is the important thing in order to a keep your balance manageable on the server and be to still keep records of how much your users do have how much balance do they have in their account and you can what you can do is if you can move balances in between accounts with with no fees so typically when you send a Bitcoin transaction it'll typically charge you some very small fee but when you move balances in between your internal accounts you don't need to do that the note takes care of it very seamlessly without without any fees because no real transaction actually happens with a Bitcoin network everything happens within your accounting or within your settlement so what you can do for example if you want to save on fees you can send just one transaction a day for example to many addresses from many accounts or just from the main account and then you can do the settlement within your wallet with no additional fees so you will pay fees only for one transaction you send trend ten transactions away from one account and then you settle it internally without sending anything and paying anything to the to the Bitcoin network that's the beauty about it then of course it's it's nice and recommended to do to do reconciliation with your with your database I personally trust Satoshi and people who followed him more than I trust my programming skills so I know I do mistakes and it's good to have this backup to find out that I've done some mistake in handling transaction on my end and I can actually compare it to what the note maintains cool security we think the moment you have the private keys on your server they're exposed so first thing you should do is to encrypt the wallet so even if someone gets into the server find the file copy copies it over you will not be able to use it because it's encrypted with a password that of course means that your programs program somehow needs to know the password or you know access the wallet in some different way so you have two options both of which I've seen in different applications maybe there are more but in my experience these are two main or two that are available a through the command line you can store the password in the memory for a definite amount of time defined in seconds so you can start for a day two or week or whatever and just refresh it periodically maybe change it from time to time the user that runs the Bitcoin node will have the password and in the memory so in order for someone to actually steal the password you would have to dump the memory and know exactly what he's looking for that's quite tricky it's not impossible but it makes it much more difficult or then you can of course if you if you run the compiled code then you can just place the password in the compiled code and it's probably almost as safe I use the first option I know people having a lot of money on their servers running the second option and it's been working for them quite safely so far so I think it works well of course when you so if you use the first option and you set the password through the through the bash or command line make sure it's not in your history can just look it up there one important thing even if you get a security breach and you get your funds stolen for whatever reason just remember the note always creates 100 addresses in advance this is for the convenience of the backup so we don't need to do a backup after every transaction it generates 100 private stores it in a pool and then just goes through them and when it reaches some threshold it generates a hundred more so that means if your wallet gets wiped just don't send it to next available address because the hacker has that address as well the first thing you need to probably do at the very minimum of courses to generate a hundred addresses or to wipe the wallet clean but at least to generate a hundred addresses so at least until the hacker gets into it next time he doesn't he doesn't get access to whatever funds you send to that regenerated pool the safest thing for example at least for four amounts above something that you're willing to to lose is called storage so running some regular scrape which will check the balance off of your wallet and when reaches some threshold just sends it somewhere safe somewhere that is on your laptop or on a hardware wallet or paper wallet you need to of course handle it in at the back end and front end when user wants to withdraw his funds if he stores his funds with you then you need to let him know that so readers not not this amount is not available in the hot wallet so I will send it from the cold storage a little bit later but yeah this is the safest way how to make sure that you minimize whatever damage is done on your balance okay so much more safer and if you are willing to not having some functionally be even more convenient and easier to run option our so-called deterministic wallets deterministic because they determine both private keys and public keys from one master key what does it mean for you are two things you can have your or even your user's wallet somewhere else safe fairly safe at least not exposed directly on the server that is online and just using one string which I'll show later you can generate addresses which will be recognizing that what even those are completely at a different places they don't know each other they don't they're not they're not integrated when you generate an address from that master public key on your server here and the balance is sent to that address the wallet somewhere else has the same set of addresses typically five or 20 in advance and it notices that hey something was sent here and it'll show it I'll show I'll show an example later so this is a great way to to receive payments that you don't that don't need to reside on the server don't need to be sent straight away that you just want to have somewhere safe but still you want to know about them on the server side so yeah I mentioned it's only it's when you when you want to only receive or if you're willing to implement some sort of delayed sending on the server so you will let the user know that I serve you I don't maintain the wallet on the server of the balance so it'll be sent a bit later from from the cold story private keys are not exposed on the server and your users if you're running the service for your users not for yourself they can have their own wallets you don't have access to their private keys there no risk of you losing their their balances they don't even have to give you any access no private keys and still you can generate addresses that will be available for for for them so there are three types of of these deterministic wallets electrum which is the most basic one it's very simple it's very lightweight it doesn't it doesn't download the full blockchain so it can be run pretty pretty immediately and there are I call them API but they're not really API's it's more the implementation of the deterministic algorithm that that the electrum uses in order to determine the addresses so you can use it in whatever language you use and that way you can generate addresses that will be visible and available for for the electrum that is sitting somewhere aside actually I want to show examples I'll show them at the end second is Armory which is running on top of the full Bitcoin client which means that it downloads the full blockchain but it's very very heavily security focused it has many security features it has a cold storage and the deterministic wallet I have been using it for for a long time before I bought a hardware wallet which I'm using now which is using this hardware wallet is using big 32 so big 32 is the latest generation of of deterministic wallets and it's hierarchical deterministic wallets which means it not only can determine addresses in the specific order based on the algorithm but it can also run hierarchies so sub accounts and sub accounts on multiple levels this allows you for example to separate accounts of your of your users your clients or when we're talking big company hopefully in the future adopting Bitcoin for their you know in internal balances and transactions they can use just one device like this or whichever software a wallet will implement big 32 and they can have separate accounts and they can even allow some people to be able to manage whole three or and some people to manage only separate accounts or some people only to see separate accounts not even be able to do so there are many ways how we can play with it and it's a beautiful implementation and there are already some implementations running and there will be much more many many existing wallets and wallet providers are already working on implementing this coin of sale or we implemented it in in our our system as well recently in order to provide our users possibility to use either like more this device or any other big 32 wallet with our system the only thing that you need for for this to work is that whatever wallet implements big 32 needs to also expose the extended public key which is used to generate those addresses which not all of them do right now I know only about do it's this Bitcoin treasure and one Android wallet it's called wallet 32 I think there are a few other wallets which have implemented this but they don't expose the extended public yet high for example which is a US and Singapore based wallet company they they they are bitter 32 base but they don't expose the public which means you can't really use it for you for your users or for yourself so but they they said they would do it the support is growing and we'll get there and yet there's no blockchain required in with any of these which is great okay before I get to that I'll show you those free examples using kind of sale so I have three outlets like free stores or a coffee bar and restaurant here all of them with three different setups so the first one uses I'll open it uses the internal wallet or a single address so what I'll do is I'll sign in as staff $5 transaction yeah you can send it with that contrast yeah you can see but it shows Liberty coffee the name of the store yeah but actually you can show that as well so this contains you can't scan it because of the contrast but the QR code contains a few things it contains the address which is like a bank account or whatever the destination where the balance should go to it contains the label so in my case in case of our case in case of kind of selling includes the name of the store and the original price in in the original currency and it contains the amount and bitcoins so in this case it's 0.097 oh sorry 10 point okay so yeah it the it always contains bitcoins the world has switched to milli bitcoins in the meantime but the QR code always needs to contain the Bitcoin price okay so you I hit send whoops no I did it the wrong button sorry so now I can check this is the command for listing Bitcoin transactions from in within the full node as you can see this is what I was talking about data dear and it's pointing to my external drive so I don't waste 30 gigs of my of they tell my internal drive and least transactions so at least the last 10 transactions in the in JSON format and this is it so account address which it was received to type of transaction received amount and Bitcoin zero confirmations confirmation is a process of placing the transaction in the block which is then added to the block block chain it happens on average every 10 minutes before the first confirmations that amount is not spendable you need to wait for for the transaction to be to get into blockchain or the for it to be spendable transaction ID always a hash like this time and so usually it'll be the same sometimes they might be one or two seconds difference okay so this is how it looks like when you send it internally now I'll switch to a different account so just to show you okay I'll go straight to the third one and third one is tied with Electrum which I have opened here so what it will do this is this is how the master public key look like it's 128 long string you can see it here wallet master public key so you just copy and paste it from from here to here in case of my system course and that's it and now I internally store the latest index or index of the latest transaction so I don't look from the beginning obviously I know where when when the where the last transaction happened and then I just generate the next the next address it's good to make sure that that address hasn't been used for whatever reason maybe the user uses the address somewhere else okay so I'll go to this I'll sign in with the outlet code the pin you know what every time when I saw someone using a numpad on a laptop when he had keyboard I was laughing my ass off why the hell would you use that and click with the mouse when you can use buttons since I've implemented I do the same why it's just some weird reflex okay so now this generated an address for the electrons so now check out what happens I'll send it so this turns green and look at the bottom the transaction received into Electrum so Electrum immediately noticed that the transaction it was watching or the address it was watching has received some balance now they are on the same computer of course but under normal circumstances or if I was doing in my production environment which I could these would be two completely separate instances so whatever happens with the server the balance remains somewhere else fairly safe or at least disconnected from the server balance this can be your wallet or it can be your customer's wallet so this is a testing scenario of a customer having his own Electrum wallet and not having used me as a transactional intermediate so he uses me basically only as a service as a website but he receives payments directly which is good for me because I'm not exposed to security risk and with for him because he receives payments immediately he just needs to pay me invoice backwards while when he's when I'm receiving payment from him directly then I can just deduct the transaction fee and sending the outstanding amount while this way he needs to I need to send him invoice and he needs to pay preferably okay so this is Electrum and the third is is pip32 so I will actually set it up right now it's set to internal so I'll change it to pip32 this is my testing treasure so you can see four accounts here if you open advanced details here are account public keys so this is equivalent of what you saw for for for Electrum but they are they are with the separate account or there are separate accounts so I'll use which one fourth one for example no I'll use this one for reasons I'll tell you in a second okay it asks me to check whether the first address is this so I checked it don't watch from now you can see that this this account has been fairly heavily used already there's a couple of dozens of transactions so what I what you will see now is because I don't know that at least not now so what I'll do when generating first transaction I will check one address after another to see if they've been used I'll find out that they've been and all and the system will continue going on to the finds the first available address so it will take a few seconds for the for the QR code to be generated first time this is very rare scenario by the way I just want to show you to that this can happen as well and it's important to take care of here see the transaction is already here I'm confirmed just to see so yeah this is this is it then you can so what I do here I assume that the user takes care of his accounting himself I don't try to do that for him because this makes just more sense if he has I have users who use treasure in in Canada in Europe and they have different they have different outlets so what they do is they set up a separate account for every outlet and they place these public money extended public keys in in every outlet they can do it they can use just one wallet but yeah however they prefer anyway that's specific to my system so I don't talk about that so yeah these are three ways how you can receive the payments only one of them allows you to send them away of course so it's something you need to take into consideration okay awesome I'm almost out of time so that means you will not find out that I'm totally lame when it comes to Bitcoin 2.0 so I would love to talk about Bitcoin 2.0 for another two hours but I don't have time it doesn't mean that I don't know shit about it I don't so anyway what's going to point out I'll tell you what I know which is not much what I've been talking about mostly until now is the monitoring implementation implications of Bitcoin and how it was designed as a media of exchange a currency or money in the future what Bitcoin 2.0 means is decentralized applications very specific applications called also app coins you might have heard about altcoins which are just different currencies they have no specific purpose no specific application other than being different currencies and I don't see any value in that I think these specific applications make much more sense because they can solve they can decentralize different different exchanges of information as that as that just accounting balancing and and do it very specifically for the industry they are they are designed to or they can do decentralized governance there are amazing projects out there which try to to do something like that to to do decentralized company you know incorporation or stock exchanges marriages divorces probably like their and so on and so forth and or defining property rights in decentralized ways so there's no centralized institution which which needs to maintain it and which needs to be uncorruptible or can go down so these are some some great applications that there are names out there like master calling like Ethereum like counterparty ripple which I have very grand vision on providing frameworks which I don't really understand some of them reside some of them run their own block chains some of them reside on top of the existing Bitcoin blockchain and just a layer to that you I know a bit more about some of them but I'll be very honest I don't know much I'm as an Austrian economist that someone who came into Bitcoin interested in the value of the media of exchange this is what I focus on I just want to bring people the ability to use it to transact but there are some very very very smart people trying to achieve something different some decentralized governments or governance or other things and I think will be it'll be super exciting to see these things work out many of them will not but those that will do will be will be great as a friend of mine and and investor in these app coins have said on a conference here in Singapore and before and after what can be that decentralized will be decentralized and this is what Bitcoin 2.0 is all about okay thanks here is my of my contact info you will not be able to scan that and follow me on Twitter or Facebook there are a couple of things I wanted to just point out first all of you receive the bag of goodies there's a paper wallet provided by by taking Asia and they exist so you David checked it and actually almost none of them were swiped there's money just a little bit but there are so if you install some Bitcoin wallet either either Android Bitcoin wallet or mycelium you can scan the QR code and swipe the bullet and you will have a Bitcoin balance so on the left side is the private key so I'm going to cover it so you can't scan it but that's how you scan and that's how you get the money out of it so download a wallet it has instructions on it and it's provided by the local community group called Access the local business group called Access about a dollar 60 on it you should should have told us why it's not worth it but even the searching for bags now but I mean there were yeah there were a couple hundred of these given away so now you know it yeah it's up to you how you take advantage of it if you don't use the mine mid-january late january I'm going to sweep it back out so I'm not joking either that's the first thing second thing if you are interested in in in this and in doing this as a job it bit one of larger local companies in Bitcoin ecosystem is looking for a tech person taking over some activities in Singapore support maybe some development I don't know too much of the details but you can ask over here and yeah if you're interested just raise your hand and if you're interested you can get an interview or something yep if you have further questions just reach out to me and hope you start using Bitcoin