← All talks

What’s up with Bitcoin

BSides Warsaw · 201739:471.5K viewsPublished 2017-10Watch on YouTube ↗
Speakers
Mentioned in this talk
About this talk
Autor: Mariusz Litwin
Show transcript [en]

Good morning. I'm sorry for the delay. Unfortunately, it turns out that taxis can be brought even in Warsaw. And it's hellish. Some of you may remember me from last year. My name is Mariusz Litwin. Last year I also talked about bitcoins. The difference is radical, because last year I was only hobbyistically interested in the subject. Usually, when we wish something, we get it very quickly in a form that is not fully acceptable. Since last year I had the opportunity to work on Beaconian a little more practically, plus my fascination has resulted in a greater number of materials, a greater preparation. I hope to tell you a little about the latest changes. If something is unclear,

please ask questions on the go, because I do not promise that I will have the opportunity to answer them at the end, and that I will be in the backstage right after my performance. I will try to come back as soon as I can. Before we start, I would like to mention a troublesome issue. It is difficult to talk about Bitcoin at the moment. There are at least two of them, soon there will be at least three, and it is possible that at least four will appear. When I say Bitcoin, unless I say it differently, I mean the core version. which is the one we have since 2009, less than January. I don't mean Bitcoin Cash, I don't mean

a new fork, I mean a classic Bitcoin. However, Bitcoin can be considered in many ways. The first point is the economic dimension, probably a bit more boring for the Gremium here. Regardless of how many times I talk to people who are less or more technical, I come across very extreme opinions. Some say that Bitcoin is money of the past. And it is this particular Bitcoin, not money based on blockchain, but this particular Bitcoin, will someday allow us to become billionaires, if someone has bitcoins at this point, we will only pay them someday. On the other hand, there are people who say: "Nothing will explain such a radical increase in Bitcoin." In my opinion, it is a speculative trap. At the same time,

I have come across the opinion that Bitcoin is for digital money what the first plane for the flight was for the aviation industry. A beautiful idea, a beautiful implementation, regardless of the fact that, as we know, the first plane did not fly far enough. I also very often encounter such a funny situation when I talk to people, especially non-technical ones, and I say, well, as if an investment in Bitcoin, Very interesting thing. They say: "Okay, but what are we investing in? Will I just get a file that somewhere..." As if I would like to say right away: "No, it all depends on certain rules, which unfortunately I will not add in the absence of time.

It's just a matter of fact that it's not about buying files. Regardless of this, since 2008, probably November, when the whitepaper was published, or since January 2009, when the first implementation of the protocol client was created, Bitcoin has gone from something new, something that interests me and my colleagues at the Polytechnic, to something that is said every week. Is it because something is happening on the network? Or is it because Bitcoin is breaking new records when it comes to price? When it comes to price, in my opinion, it is impressive at this point. It was recently over $ 5,000. What is worth noting is that at the beginning of this year it was below 2000. However, it is difficult

to talk about these numbers when there is no relative, when we are not looking at it from a certain perspective. Bitcoin capitalization, while the number is huge, is very weak in the context of Apple, whose capitalization is at the level of 800 billion. At the same time, if we compare the current capitalization of all all the shares noted as Apple. At the same time, Bitcoin beats Adobe, Netflix, recently American Express. So we're talking about a force that is to some extent worth considering. Now I hope this chart will be clear, but it shows what I wanted to say. Bitcoin in 2013 had its first success, i.e. it was noted above $ 1,000 for one Bitcoin. Then we

had a radical decline. I will not go into details why it could be so. We can talk about it later and debate. Regardless of this, this year we have a radical rise from the level, well, basically below 1000 at the beginning of the year. At this point we are talking about $ 5000 for one bitcoin. Of course, the question is whether we will rise from this point or fall. Regardless of this, in my opinion, it shows radical success. The fact that Bitcoin has ceased to be such a technological novelty also proves that important people from the financier world are talking about it. And of course these opinions are very polarized. Recently, Jamie Dimon, the president of JP Morgan, spoke very

critically about Bitcoin, saying that it is a trap and that any trader who would use Bitcoin or cryptocurrencies in his portfolio would throw out of work for incompetence. He took it in such a way that he threw it at him for stupidity. Something with quite strong words. At the same time, on the other hand, Lloyd Blankfein, I'm not the best in names, i.e. Chairman Goldman Sachs, although he did not express directly that he is very interested in Bitcoin, he considers it a money of the future or anything, it is a matter of fact that he said: "I think about Bitcoin every day and I wonder where we will go from this point." He took it in a funny way, when he said that when humanity was moving

from gold standard to paper money, everyone thought that something was fishy. So we have a strong polarization of the financier world, but also in the policy of different countries. When we go to Switzerland, bitcoin is everywhere. I had the pleasure of buying bitcoin in a Swiss ATM, in such a way that I just put in a euro and got a wallet. in the form of a private and public key with some added amount. This was just when it was a bit cheaper. There are over a thousand such ATM machines in the USA. There are about two thousand in the world in total. In Poland and Warsaw there are two, but only in Warsaw. Poland has not adapted best

to this technical trend. At the same time, according to the IRS, Bitcoin is taxed like any other property. So it was recognized. In September of this year, it was very visible on the chart I showed, we had a very large decline in the value of Bitcoin. This was due to the fact that Chinese regulators started, I mean, no one said it directly, but some control of how Bitcoin is supposed to work and how it will be used in the Central States. It started with the ban of so-called Initial Coin Offering, which is something like an investment fund in the cryptocurrency field, to regulate the exchanges so much that they began to close very quickly. Bitcoin, regardless of this, survived this whirl,

which does not change the fact that it also shows a certain trend. The last point I wanted to show is my favorite, because in Venezuela, which, as you know, is now quite despite the fact that Bitcoin is not legally, i.e. there are no prohibiting it, the miners who, in order to support their families, in order to earn a living in the form of digital currencies, when they are caught, they are arrested for smuggling and stealing electricity. Returning to Poland for a moment, more to the European Union. In Poland, there is no legislation that would clearly speak about what Bitcoin is. Certainly, transactions with it are exempt from VAT, but, for example, the European Union is very active in

connecting cryptocurrencies under the fourth directive against the mining of dirty money. This means that this problem is recognized, that, as it used to be popularly said, Bitcoin is a criminal currency. which is not entirely true, because on the basis of this growth of awareness, this phenomenon, or the growth of maturity of the operation within such a network, many exchanges approach this topic more and more responsibly. Most European exchanges, for example, are committed to the fourth ML directive and take care of the procedures KYC, which is Know Your Customer and AML, which is Anti Money Loan Ring. At the same time, there are a lot of companies that deal with this type of problems. I have listed a few of

them, of course, by googling more you can find more. I had the opportunity to work with some of them, so I hope to show you how such a service works in practice. I prepared an address for this purpose, which I found on the Internet. It is not in any way offensive or unpleasant, which does not change the fact that it will serve as an example for me. Because on the Internet there are... Excuse me, is everything visible on the screen? Because I have the impression that it is a bit blurred, looking at it from this perspective. The first of them is the very grateful name "Bitcoin Who Is Who". It allows us to identify known wallets. How does it happen?

Of course, the techniques that allow us to connect the entities from our everyday life with this virtual Bitcoin existence are numerous. We are talking here about the crawling of various forks that allow us to identify the owners of the addresses based on metadata, but also about clustering addresses and the like. At this point, due to the fact that Since I want to identify this address, I would like to use Bitcoin WhoisWho. And if there is no explanatory information here, saying who owns this address, then it is probably unreadable. But we have information that this address appeared on the xkcd.com website owned by Bitcoin. Yes, it was about Randall Monroe, and it is a grateful topic, because his portfolio was quite

intensive and used for quite a long time.

Regardless of the fact that... Oh, damn. Listen to me right now, sorry. I have to put the microphone away for a moment. Okay, I'll try with one hand. Thank you. Regardless of the fact that when analyzing, I sometimes use other ways of looking at this problem. It wasn't intentional malice, I ended my thought. And in my opinion, analysis with graphs helps a lot here. I could enter the same address in the blocksir framework, it is a free service. Clicking here is not the most intuitive interface. I can start visualizing the network of connections between my address, i.e. this 14tr4, and any other. I think there is no need to extend and we will immediately show that we are able to

identify the connection between XKCD I mean many different portfolios used by Ronald Monroe over time. And how it was going on the network when he was already issuing bitcoins. The last service I would like to show you is not free anymore. Chainalysis is the leader in KYC, AML and similar services. Their tool shows why because based on this address I don't even have to develop anything because this platform itself allows me to check where the money came from in a comfortable way. We can see that we had a certain impact here with mining bitcoins. At the same time, where did they happen? If we are interested in where exactly, we know that, for example, in Coinbase.

Of course, now a rather obvious connection will be drawn. However, bitcoin is not only an economy and not only such a cool tool, but also some technical challenges that stand before the authors of this whole idea. Excuse me? Yes, of course. I need to go back to ... I mean ... The question is whether you can remain anonymous as part of the Bitcoin network. The answer is yes and no, because it all depends on how we approach this matter. There are a collection of certain hygiene rules related to Bitcoin. The first one is not to use the same address twice. When we send one payment, we use this address and never return it. This is built into most portfolios.

The second problem is that most portfolios, when we pay for the first time, we have some left, which is added to another separate address, which is not connected to the previous one. The second, third, fifth. At some point, it turns out that we have a total of six addresses, for example, on which there are certain small amounts, and we would like to pay the whole amount. It means that all these addresses must participate in this transaction. They will be identified as an entry. In most cases, it is enough that one of these addresses will be identified. In fact, it belongs to the owner or to me. And all of them will be compromised. Such connections do not have to be quite obvious. I recently watched a

presentation when I forgot the name of the group that took care of it, but it analyzed the case of the M.T. Gox crash in detail. They showed a very obvious example, when they scanned the support forum of M.T. Gox or other exchanges, under the message "5 blocks ago I sent a transaction to 0.0132567 bitcoins and it has not yet been confirmed. Could you check it?" Based on these metadata, we can go back in time a little bit and see if such a transaction and when it was sent, from which address. This allows us to compromise this address and all associated with it in the way I said. I believe I will repeat the question. Was

it a mistake of people who created Bitcoin that there is a limited amount of them? Or was it so intelligent that now Bitcoin becomes as good as gold, that there is a limited amount of it and therefore the value of Bitcoin will never fall, because it is just its limited amount, and there are more and more greedy people. I don't know if someone analyzed it, whether it was wise or not wise approach. I'm not an economist and I don't want my opinion to be taken as a binding opinion when it comes to such purely economic issues. Bitcoin is a deflationary currency, which in my opinion is a bit in opposition to what was described in the original whitepaper, i.e. as "electronical

money", "electronical cash" was the term. We have to distinguish the situation when we talk about the money we pay every day, which we do not want to be deflationary. Japan has been fighting for a very long time with this, because of the deflationary nature of their currency, a very big problem for their economy has arisen. And the means in which we store value. And now the comparison to gold is more accurate than to the currency I mentioned earlier. Will bitcoin eventually become such a gold? As far as I know, most businesses that deal with bitcoin adaptation, that deal with bitcoin as part of their investment portfolios, etc. I expect that the final formula will be

the currency that we will pay for every day or on various occasions, not as a way to store value. This means that the deflationary nature is not very suitable for the Bitcoin character. On the other hand, it is not excluded, especially in the context of the news that I would like to return to in a moment, that Bitcoin will actually turn out to be a way of storing value for of the so-called solutions of the second protocol, i.e. those located over the blockchain. Or it will turn out that bitcoin will be gold for the daily litecoin cash. Of course, the name is clear and on the need of the moment. I think that in general, already taking into account my presentation, which is focused on what

I read the most, we should not treat cryptocurrencies as one of them. Of course, it has the greatest capitalization, and it was the biggest success. In the meantime, many other companies emerged that offer more anonymity, like Monero, which enable more flexibility, like Ethereum, or many other interesting applications, like Namecoin, which allows you to register the name of the DNS in blockchain. Is this deflationary character in the context of Bitcoin? Depending on how it will flow. But as I mentioned, regardless of the fact that Bitcoin is facing an economic dimension of itself, there are also a number of technological problems or, as I will show in a moment, problems resulting from the governance model of creating Bitcoin. The first and probably

the largest and most frequently mentioned problem with Bitcoin is its scalability. Perhaps it will change with the adoption of Segregation Witness, which I will talk about in a moment, but generally such loose estimations regarding the number of transactions per second for Bitcoin are 3-4 transactions. This is due to the fact that the block appears every 10 minutes and in a nutshell can contain only 1 MB of data. This means that there will be a finite number of these transactions, and this means that In one second we can use only three or four of them. In the example Ethereum, which I have already mentioned, such transactions can be made 20, because blocks appear much more often,

although they are a little smaller. However, these numbers do not match how our current currency exchange system works, because PayPal uses such transactions of 193 per second. Of course, this is a certain average and estimation, It is clear that it is a few rows of value more. However, all these three are not like for example visas. which, as part of the cards, serves over 1500 of them. Of course, there is also a big difference, because when Bitcoin requires the push of such a transaction, that is, showing that such a transaction took place, then paying with a card only makes it possible to ask the bank whether you can withdraw a given amount from our account. Regardless of this, if we are to talk about "electronical cash", the numbers

say something. This problem was addressed in many different ways, which divided the community. Until recently, we talked about a consistent one Bitcoin client or one model implementation that everyone relied on. At this point, this is not entirely obvious. Until August 2015, various attempts were made to standardize the protocol in order to increase scalability. Small transactions were removed from the network. I'm talking about really small transactions, when one Satoshi, which I mention, is different. One Bitcoin is 100 million Satoshi. So such small transactions cannot be made anymore. At some point, as a result of such a large flood of small transactions, all the diggers and and full nodes decided that from now on we will go to the maximum size of the block

allowed by the system, i.e. 1 MB, and then it was only worse. Because when it comes to scaling, you can do it simply and perhaps effectively, or in a more advanced way, but it takes time and thinking. And very often in the history of Bitcoin there were people who said: "1 MB is not enough, let's increase it to 2, or 4, or 8". On the other hand, this core team, these 10 people who work on the model implementation of the Bitcoin client, said: "It's not that expensive, let's try to do it smarter, let's try to introduce segregation witness, let's try to transfer everything to the other, over blockchain, let's try to scale there".

because increasing the block value will help in the short term, but soon we will be back with blocked blocks and a blockchain that weighs not gigabytes, but maybe terabytes. This year, a discussion was raised where Bitcoin should go. One of the ways was Segregation Witness, and it was the way proposed by The second way was to enlarge the blocks and the big diggers opted for this solution. In August, it was agreed that Segregation Witness will be introduced, in the sense of a User Activated Soft Fork, which means that only when 95% of the network agrees, this change will be considered binding. In the meantime, both versions will be binding, i.e. both the old 1MB block

size with signatures related to the output transactions, or the "segregation witness", i.e. signatures outside of it. I'll come back to that in a moment. It would seem that everything would be fine, if not for the fact that in the same August of this year, A group of developers said: "Despite what you do, and how you develop Bitcoin, we have a completely different opinion on this topic and we activate hard fork." That is, they gave an alternative client and said: "From now on, whoever wants to be with us, let them install this client and we will follow the 8MB block." When there was a discussion regarding which of these blockchains is now binding, then at this point the numbers speak for Bitcoin Core.

Regardless of this, it would be too beautiful if we reached a consensus in this way, because miners at this point opt for another change, which will probably be a hard fork. This change says: "Okay, you activated Segregated Witness, but We still want a bigger block, so in November this year they announced the release of another client, which will again include ZAW and a enlarged block. Somewhere on the horizon, Bitcoin Gold is still appearing, which has not yet fully defined what it wants to do, in addition to the fact that it wants to shorten mining using dedicated systems, i.e. ASICs. And again, they are probably talking about December, but I'm not sure. So the consensus on

the network is stable. I personally opt for this solution, Segregation Witness, because I like it more aesthetically from a mathematical point of view. But of course, there are so many people and so many opinions. But what is Segregation Witness and what does it address? Of course, in addition to scaling, various other problems appear in Bitcoin. From my perspective, the interesting problem is transaction malleability. It means that when I send a transaction as part of pre-segwit, someone who transmits my transaction further, for example, a node to which I sent it and I told them: "Hey, this is my transaction, send it to dig and confirm in the block", can modify it in a small way the transaction in such a way that its content will not

change, i.e. it will depend on the same input transactions and on the same input transactions, but its hash, i.e. the identifier, will change. This means more or less that if I expect on the other side that my colleague sent me a transaction about such an identifier, I may never receive it. This is due to the fact that the way in which such transactions can be issued is described by a certain script. If anyone ever wrote in assembler, you would find yourself there very well. If anyone ever wrote in assembler, you know that there are various operations that, without changing the content of the script, can add length to it. Let's think about such NOPs in

Bitcoin. By writing such NOPs, you can change the hash of the transaction, and thus create a new transaction that depends on the same. Segregation Witness solves this problem in such a way that when In the past, a signature was added to the input transactions, i.e. a confirmation of this script, and it was all hashed. Segregation Witness has separated the block that says: here are the data, here is what is dense, here are the transactions, and then there is a Witness block in which all these confirmations are located. The solution is as trivial as it is brilliant. because it allowed to solve a number of problems. In addition to transaction malleability, it also increased the size of the block. Because this... Because

there was... Okay, I'll let myself skip the demo. Because at this point the size of the transaction is not calculated as a megabyte size, but rather as something in the style of a scale. And this scale says so much that The block can contain 4 million units. And one transaction takes up as many units as three times its size in megabytes, I mean in bytes, without the witness block, i.e. without signatures, plus the size of the entire transaction. This effectively means that for old transactions, which still have signatures attached to the transaction to enter, nothing changes, i.e. we can still fit in the block But when we start cutting this block of witnesses, it turns out that there are more new

transactions. We are talking about 60-100% more transactions in one block. Now, going back to the story with the diggers and activating SegWit with an increased block, they want to increase the weight limit to 8 million. However, this is what actually comes from SegBit. We solved scaling, we solved transaction malleability, so we have a larger block size. There is also such a curiosity as the signature of the cord. This means that when so far each transaction had to be signed separately, in the sense that a separate signature had to be added to each transaction, then within the CryptoSystem of Schnorr, I will not go into details, because I'm running out of time, such signatures can be combined into one collection signature. And this also responds

to the anonymity problem, because as I mentioned a little earlier, when we see many entry addresses in one transaction, we can easily assume, with greater or lesser credibility, that we are talking about one author of this transaction. However, somewhere in the meantime, the idea of introducing a system called CoinJoin appeared. CoinJoin says more or less that we can make an agreement here in this room, that we will all send transactions where we want, we will all join our entry transactions and we will all join all the people we want to send it to. Ultimately, it means that, it is my basic assumption, that if there are many entry addresses, to the same transaction, we are dealing with one author, it becomes false, because we

all agreed on it. It looks more or less like we were on vacation and wanted to make an appointment for shopping, so everyone put the currency in one basket, then went to the store, everyone got what we wanted, but it is not clear for whom the money was bought for a given product. In the case of the cord signatures, this identification becomes even more troublesome, because all signatures will be connected to one. Additionally, due to the fact that it is impossible to modify the transaction identifier, it cannot be processed in motion, various ideas can be introduced to build a blockchain over a blockchain or a financial network over a blockchain. The best example is the Lightning Network, which says

that in a given period of time I can talk to my colleagues, that we transfer to a joint transaction that requires both our signatures some amount, and then we exchange various corrections to this transaction outside of blockchain, to finally publish it all and say: "At this point, it should be sent to the blockchain, we have already agreed, we have completed all our transactions." Lightning Network channel can be open for months, ensuring transactions taking place within seconds, within microseconds, because the only thing that limits us is the exchange of these improvements to the transaction. On this basis, there was also an interesting idea called Atomic Swap. At this point, when we exchange cryptocurrencies, we rely on exchanges.

If I have Ethereum, my friend has Bitcoin, and I want to buy one or the other, we have to sit down, talk or just go to the stock exchange. As part of AtomicSwap, without any trust, we can open a Lightning Network channel in both blockchains, exchange as part of a connected Lightning Network with transaction corrections, and then postpone this change in both blockchains. In this way, I get the bitcoins I want to buy and my colleague gets the ethereum. Of course, such benefits can be multiplied, regardless of this, I would like to spend a moment on any questions, if any have appeared. Atomic Swap, as it sounded for a while, these money could come from nowhere. Basically, I will exchange Bitcoin for Ethereum and

suddenly, blockchain appears here, and here they appear. I mean, here I have bitcoins and there I have ethereum. Is there a register? There must be a register between the exchange between these two currencies, so it's really a stock market, but without a stock market. I don't know if it's good. Something told me that I need a picture to explain it well. Regardless of that, let's imagine that At some point we create a sub-account hanging over the blockchain, "we open a transaction, I transfer one bitcoin to you and you give me one bitcoin". And then, for example, we change the balance a bit, but already exchanging transactions between us, not putting them in the blockchain. So, for example, I say: "OK, we were in the hotel, you

paid, so I'm now giving some part of this bitcoin there, but you only keep the transaction that I sent you". Then it turns out that I bought something for you, you bought something for me, etc. We exchanged in such a way that I had half of the bitcoin left in the transaction and you had 1.5. And at this point we say: "OK, we publish all these transactions and they go to the blockchain." As a result of the lack of trust between two people who want to trade, the same structure can be built as part of one and then the other blockchain. By exchanging transactions, you can finally reach a consensus and say: "Okay, I'm checking, I'm selling

and we're finishing this exchange". As I mentioned, I tried to be somewhere nearby. If it doesn't appear, it will appear later and we will gladly take an additional discussion. Thank you very much for now.