EB25 - Mike Hearn: Lighthouse, Assurance Contracts, bitcoinj, Transaction Fees & Core Dev Team
7 Jul 2014 · 1:17:48
Mike Hearn, an early Bitcoin user and creator of the BitcoinJ library used in wallets like Multibit and the Android wallet, joins Epicenter hosts Brian Fabian Crain and Sebastien Couture. He discusses Lighthouse, his crowdfunding platform built on assurance contracts, transaction fee design, and his decision to leave Google to work on Bitcoin full time.
Speakers
Topics
Transcript
[Music] hello everyone my name is Cil and I'm ran car Crane and welcome to epicenter Bitcoin the show which talks about the Technologies projects and startups driving decentralization and the global cryptocurrency Revolution today is June 21st 2014 and thanks so much for joining us on episode 25 uh so today our guest is Mike Hern who I'm sure many of you are familiar with he's one of the first Bitcoin users and the developer of Bitcoin J Bitcoin J is a Bitcoin Javas or a library that's used by a number of popular Bitcoin wallets such as the Android wallet by Andreas Shar multibit And Hive until recently he was working at Google and now he's working full-time on bitcoin
and Bitcoin projects including uh the lighthouse which is a crowdfunding platform and we're really excited about having on today to talk about Lighthouse bitco J and kind of Bitcoin development in general so hey Mike hey we'd also like to just briefly let you guys know about coin Summit uh last time we kind of put in a little interview that se did with prier uh so we want to kind of mention again that coin suit is coming up in July 10th and 11th will be there so if you'll be there too or if you want to go there you know get your tickets you can do that at coin.it and I'm sure it will be a great conference so uh I guess let's get started so Mike um I wanted to kind of
ask you just uh before we get started and talk about the different topics that uh we've got to cover what's uh what what's taking up most of your time right now what what are you working on uh say like full-time at the moment um I'm spending about half my time working on uh Bitcoin J and maintaining that you know um reviewing work that's being submitted improvements things like that and in particular HD wallets and uh the other half of my time is being spent on my company on Lighthouse um doing some Consulting work things like that but mostly it's split 50/50 between General Bitcoin development which I've always done and this new crowdfunding platform that I'm working well perhaps we can start uh with the first topic right with
this Lighthouse which is a topic I I find the crowd funding thing very interesting also because I'm originally an economist and uh I've for a long time you know I saw these crowdfunding things coming up and it didn't really make sense to me why this was such a huge deal and I think I'm slowly kind of starting to come around that I I do think this is really important and you know we've we've been talking with Adam leine often about this LTB coin we've had Joel de on last time uh to talk about swarm and I know in the Amsterdam conference you were talking about Lighthouse unfortunately we both missed that talk uh we read your blog post on it and and
we really are excited to talk with you today about light house so perhaps can you give people an introduction about what Lighthouse is yeah sure so Lighthouse is a way of um building Assurance contracts which are this this financial construct that's been popularized by sit side kickstarters so this is where people pledge money to fund the construction or the creation of something that everyone would benefit from um and then the cost for it is estimated and uh people pledge but they only end up paying if other people pledge to reach the goal um the original I mean although this has sort of been popularized recently uh this this this idea has been around a long
time and the goal was that uh you know it should be these are a way of funding the creation of public goods where a public good is defined as something that once it's been created it costs money to create but once it's been created you can't stop people from benefiting from it you can't charge the money to for benefiting from it um you know in traditional economics public goods of things like clean air um you know uh public roads and indeed lighthouses which is where the uh the project gets its name so I talked about um how Bitcoin protocol supports this back in 2012 and I gave it as an example of things we could do in future using the
features that Satoshi put into the protocol but no one was using because we lacked good user interfaces for it and Lighthouse is my attempt to fix to build a good user interface for the construction of these projects so correct me if I'm wrong am I correct in assuming that Lighthouse is essentially uh a wallet which U implements Assurance contracts as it is defined in Bitcoin yeah so Lighthouse is a specialized wallet so you can send money into it you can withdraw money out of it and it makes transactions on the blockchain it's an SPV wallet it's it's a lightweight wallet talks directly to the Bitcoin Network and uses the blockchain um but it doesn't have
features that you would associate with a traditional wallet like you know a history view so you can see your transactions or a contact list for example um it it has the very base features that you would need in a wallet but the idea is you put money in and then the bulk of the app is dedicated to allowing you to you know do things with that money once you put it into the lighthouse okay now I'm curious like if these features exist in Bitcoin and they are in interesting and promising in terms of what we can do and where we can take this new technology I'm I'm curious as to why none of the other wallets and particularly the the core uh wallet doesn't have these Assurance contracts built in well it's not clear to me that
you want this to be integrated into a general purpose wallet it's a very specialized sort of thing most people aren't going to take part in these kind of contracts um and if you look at the user interface um there's I'm actually in the process of redesigning the user interface at the moment so what you see on the blog post I made is not the final UI by any means but um you know the bulk of the screen is taken up with management of these contracts the bulk of the user interface is creating them allowing you to gather pledges to create pledges to revoke your pledge um oh yeah something I didn't mention is if you pledge money and then you know you decide you want that money back before the contract reached its goal then you can just take the money back it's it's not a commitment that you're you're
forced into um and all of those features you know they all require planning and and user interface design they require protocol design it's actually a large amount of work right even though the core Bitcoin protocol has the core feature that's needed everything else layered on top uh takes a lot of work and wallet providers are all busy with more basic features so perhaps before we can get into the you know the economics applications of this which I think is the really interesting part uh can we talk very briefly about how this works on a technical level so I I read the you know all insurance contracts I read Ariana Simpsons post um and you know there's some I think on the Bitcoin Wiki
but perhaps you can run us through briefly about you know how these transactions are created yeah sure so Bitcoin transaction has a slightly funny structure right you would imagine um if you didn't know anything about this design You' imagine that a Bitcoin transaction looks a little bit like a bank transaction where it identifies an account to take money from and an account to debit money to and then you know the amount of money that's being moved um that's not actually how it works internally what actually happens is the transaction has a list of what we call inputs and outputs and the the inputs effectively identify payments that were made to you and the outputs um identify payments you're creating to someone right so the the inputs of the transaction contain
the the the digital signatures and the proof that you can claim those payments and then the outputs redistribute that money into a different set of conditions so different ownership for example but nothing really stops you from creating a transaction that just pays yourself for example that's that's you can do that that's no problem um now the way um Bitcoin works is you know if you have a transaction with say three sign uh three inputs then you have three signatures um one for each input normally and each one of those digital signatures um obviously just like a real signature you're signing some kind of document right it's not just an abstract signature floating in space it's actually a signature that covers some document what you're covering is a transaction itself um so when you're
signing you um you sign a transaction in such a way that if that transaction were to be changed you know like for example by a network node that is relaying your transaction for you um the signature would break now Satoshi he thought ahead um quite impressively I must say he he allowed you to create signatures that only cover parts of the transaction not the whole thing if you want to it's not the default Behavior if you want to create a transaction which it is possible to modify and the signature will still be valid so the way Lighthouse works is um it creates an invalid Bitcoin transaction that by itself Breaks the Rules of the system it it has an input that connects to some of
your money and claims it with a with a signature and it has an output which is a payment to the the person the fundraiser the person who's raising the money but the amount of money you're putting in is much less than the amount of money you're trying to send to the the project Creator um which isn't allowed right if that was allowed anyone could just invent money out of thin a so the Bitcoin Network won't accept that transaction by itself it will be ignored but now if the um project Creator gathers these kinds of partially signed invalid transactions what they can do is merge them together because they've been signed in a special way by merging together enough of those transactions you can effectively add enough inputs to meet the goal and eventually create a
valid transaction the network will accept so that's that's how it works you submit these invalid transactions and when the when the project creator has enough he combines them together and broadcasts them onto the Bitcoin Network where it becomes like a regular payment yeah I mean this is brilliant I wasn't even aware that it's possible to you know partially sign a transaction in a way that you can then put them together you know to get the of required output so uh that's yeah it's very interesting and I guess very cool how you can essentially replicate something like what the kickstarter does in such an elegant way yeah it's not an exactly good for what Kickstarter allows because
Kickstarter allows you to raise more money than your goal um and you know sometimes you find the projects you know they they said well we'll use we need at least 50 ,000 and any more money that we raise we will spend on doing something even more awesome right but with Bitcoin you you can't do that because um it has to be exact it has to be exact yeah if any additional money were to be put in it would end up being going to minus fees actually because of how the protocol is designed I was I was actually thinking about that so if you let's say I mean because you can control that right people will send in different amounts and then let's say you wanted to have 100 Bitcoins but now it's 107 would that actually mean that you
have to throw out some transactions and perhaps make your own contribution to get it to exactly 100 it depends how you organize things right yes you could do that you could um if if you get pledges that don't quite line up you could thr them out and and you know make it a difference yourself but part of the infrastructure that Lighthouse provides or is in the process of providing um is you know for example I've written a Sur that gathers pledges and it will tell you how much money has been raised so then you know the software it won't let you accidentally pledge more than when it's allowed um you can use lighthouse in other ways where the there's no server involved at all completely
decentralized and people are just sending files around and in that Mode Nothing Stops anyone from just you know creating pledges that don't that don't pack correctly and end up going under you know under shooting or overshooting um but you can always just arrange out of band for people not to do that right you say hey everyone you know please pledge um you know one Bitcoin each or some multiple of one Bitcoin and uh you know don't don't just pick a random number and put that in please you know I will like more pledges that don't follow these rules and then you know you just organize with people who are interested in supporting your project yeah that makes sense um so we talked about you know swarm for example last time and and their idea I
guess is that uh essentially projects are selling coins and then those coins hopefully will have a value if the project is successful but in your case this is purely um a donation based funding of public goods is is that correct well I wouldn't phrase it as being a donation um the reason like if you if you look at the economics textbooks and so on right the the way that Assurance contracts are used are the people who are expected to put money in a people who will benefit from the outcome the classical example is the sailors who would you know like to see the light from the lighthouse they all put money in right it's not a donation exactly they they understand they will get
something useful out of it this construct is designed to resolve the deadlock that can occur when there's no way to like charge a small recurring fee for something so I wouldn't um expect this to be used for donations exactly but you can imagine lots of different use cases uh for example let's go back to the question of packing the the the pledges right one thing that um lighthouse could be used for because it's it's just an app there's there's really no setup overhead at all is you know you could email you could create a project in Lighthouse drag it to your Gmail compos window because the the way the app works you can drag these projects and these pledges in and out of the window you just drop it onto an email and then send it to say 50 of your friends and you say hey I'm I'm going to
organize a house party right and there'll be there'll be beer and there'll be games and and stuff um but I need at least 20 people to come for it to be worth it and you know to buy all the stuff I need at least you know 10 bucks each right so I need at least 20 people contribute 10 bucks otherwise it won't go ahead this is exactly the kind of this is an insurance contract kind of thing right like everyone will benefit for the party goes ahead and so people can just reply to your email and attach the pledge they made with the app and then when you have enough repli the party is organized but you know you probably don't want to like issue tickets and things right like once it's going ahead the people people who chipped into 10 bucks they're happy so
why bother you know trying to prevent other people from coming everyone would benefit from a party that's bigger so this is a kind of thing where you know you could use this financial construct and maybe you wouldn't really have ever imagined doing it that way because the limitations of existing platforms but this doesn't really address the issue of Free Riders no because you still have the incentive uh that you know you'd be the person not paying if there's 20 other people paying the $10 yeah right I mean it's inherent in the nature of a public good that you know once it's been created there will be people who benefit from it for free um you know the question is if not if less than 20 people have chipped in
right how much do you care about it happening versus not happening maybe you don't care about this party at all so you don't put any money in but maybe you you know you would actually like to see it go ahead but you don't want to be the sucker who pays for all of it so in that case you can make a pledge um and you just accept yeah that uh in some cases um you know other people will benefit and they won't have paid right it's inherent it's it's happening in things like Kickstarter projects as well the same thing when you when you support your favorite band you buy their album you understand that you know some people will just pirate it they will they will benefit for free um but you know you buy the album because you want to support your favorite band now I have a question
can you kind of walk us through how uh you create an insurance contract with Lighthouse and how you would uh essentially make it known to others uh so to say you had two modes you have the server mode and and the and the self hosted mode um or the Standalone rather so can you kind of just walk us through uh yeah sure the experience of creating a contract yeah sure so it's still in flux a little bit right because I'm actually redesigning the UI a little bit but most of it is already is this already designed and sorted out so as you there's two modes um there's serverless mode and there server assisted mode is what I call them and this is partly because you know Lighthouse it it's it's about a bunch of things so one is about allowing people
to make these contracts and and solving that problem um but it's also about showing people how I how I think decentralized infrastructure can be built and and you know demonstrating the way I prefer to build decentralized applications and so Lighthouse like a desktop app you download it you run it um it doesn't have any dependencies on on any servers or it shouldn't do in the long run so it's just so it's like an HTML 5 app or no no it's actually not it's just a regular desktop app that runs on Windows Mac and Linux okay and um that's that's you know how it can connect directly to the peer-to-peer Network and process the blockchain directly and so on so there's there's no dependency or there in the in the ideal
world there's no dependency on anything I'm running um and then you have a choice you can and you can create an a contract in the app which allows you to do very simple things like typing in a title for it a description saying how much money you want to raise saying um which uh addresses you know you want the money to paid to things like that and then what it gives you is an icon um which you can then drag to um in serverless mode can it's it's actually a file you can drag it right out of that window into a directory for example or into Dropbox or Google drive or to an email or to a chat window or to you know um some other website that you upload the file to a web forum for example
anywhere you can put a file or link to a file uh this project can go and then it's up to you it's entirely up to you to get that project out there for for people to you know to help people discover that Lighthouse by itself is not a complete replacement everything Kickstarter does it only handles moving money so it's it doesn't have it's not a platform right it's not a well it's a platform but it's not it's only a platform for the the handling of the money it doesn't provide Discovery for example it's not like a single place where everyone where people just say I I have some money and I want to do something cool with it but I don't know what um the idea is that people can build such platforms on top of Lighthouse but the lighthouse app itself is not such a
platform so basically serous mode you're just moving files around right so someone gets hold of this file they they they click a link in a web Forum or whatever they they open it in the app or they drag it into the app it's it works both ways and then they can use it like a regular wallet they can send money from their phone or from their you know their regular wallet from hi from multibit whatever um they can make pledges of course they can take the pledges back after a while if they don't think the project is really going to make it and um when once they make a pledge again what they get back is an icon which they can then you know again drag out of the app and get it back the project Creator so this is um this is a little bit like sort of moving documents
around with you know office or whatever it's it works you don't need any infrastructure you're effectively using the infrastructure that already exists but maybe it's not as convenient as you would want especially not when the number of people taking part get high the advantage of this is like if you already have a system um that is managing access control and identity and so on then you can just reuse that like you know if there's some reason why inside a company or a collection of companies you would want to have one of these contracts then you know you can use your private uh workspaces and so on right there's there's no dependency on any other service um on the other hand if you do want to do a larger scale crowdfunding you know you've made a little website or you you've got to you
want to build one of these platforms like Kickstarter for Discovery then Lighthouse also has a server that just just sits there and in this case um you know you can actually uh basically just tell Lighthouse you know open up this server and show the projects it has you can pledge and then when you click pledge it just uploads directly to the server so there's no there's no moving of files around or dragging and dropping when used in that mode but obviously someone has to run that server so if I understand correctly then if you're if you're on Standalone mode and so I I created a a cause and uh an insurance contract I send that file let's say in the example of the party I send that file to all my friends they have to have the lighthouse app on their computer they open a file with the lighthouse app
they pledge money to it and then they have to export that file again and then send it back to me in order for for the pledge just to go through right because you don't have any any system in place it collects files right now to export this file you know like I said you can actually all you have to do is uh drag the icon onto your Gmail reply window that will work so it's not particularly complicated uh operation but yes you you have you do have to take some explicit action to get it back to the user right and then as the host uh I have to get those files back into my leous app and then alog together they will construct the they will sign the transactions so actually the way it works is um when you create a project you give Lighthouse a
directory somewhere or folder somewhere in your computer and then it watches this folder for pledges so for example what you can also do if you don't want to use email is you can create uh you know uh a shared directory a shared folder on Google Drive or Dropbox exactly if you've got the app installed you just save the project there and then when people you know when people create a pledge they just drop it back onto the web app uh the Dropbox web page right in the web browser uploads it and it gets sync down to your computer and then you just as you just have Li housee in the background and you can see the pledges like stack up right there's there's no requirement that you do anything just as the files appear in the shared directory then the pledges Stack Up and eventually
you can claim the contract and is there are there any plans to make a mobile apps as well as desktop um well I've thought about it but um my gut sense is that you know for the early use cases it's a somewhat serious step to uh make a pledge and make a contract so um probably desktop computer is appropriate but if we did if we do want to move into things like yeah using it to organize parties or you know small things like like these micro contracts right if if people do want to do that kind of thing then a mobile app would make a lot of sense sure and in that case I it probably would be somewhat integrated with you know an Android wallet or something like that because moving files around and dragging and dropping on mobile platforms doesn't
work so you need to you need to design the user interface in some other way right and so I I suppose it would then have to be built on top of the server assisted mode well yeah probably I mean you can do things with with mobile phones that you know you can't do with with desktops so easily or laptops so um you know you could have the files be made available to the people in the room via Wi-Fi Direct or whatever right there's there's other interesting things you can do there especially if you have physical proximity um but uh yeah probably in the mobile use case you know some method of of sharing files and moving files around would have to be adopted and most likely given the way these platforms work that would be some Apple or Google service yeah so it's
possible of course in this case to revoke your contribution right by essentially double spending it before that threshold is is reached now I understand why this is technically you know that's just how it works the way this is constructed do you think this is a good thing or it's just a thing that you know is is a consequence of how insurance contracts work in Bitcoin well I mean it's um it's fundamental to the definition of an insurance contract right the whole point of a contract like this is that you you're pledging that you will give money that's why it's called a pledge but if not enough other people pledge you don't lose that money right it's still your money you could spend it on something else if you wanted to other otherwise you're just giving
the guy the money right but here you can but the issue here is right uh you can take your money back even if it went over if you I mean if you do it before it reach it I right so once once enough pledges have been gathered that you know the contract is claimable um once you know at that point the guy all the guy has to do is click the button and and the money becomes his but you can revoke your pledge before they do that sure if you don't want to take part anymore so cuz I was thinking like here would be a possible attack scenario right so let's say I I want to fund the projects and I want to raise a th000 Bitcoins now if somebody doesn't like my project and you know say let's
say I I put in a 30-day window somebody doesn't like my project you know they could put in uh 500 Bitcoins perhaps from different accounts you know so it look like uh 200 different people and then you know maybe as it approaches 809 % you start revoking payments like and you start you know and then the project like as a potentially you mean like just to just to mess with them psych yeah I mean right and it you know like you look 25 days in and from like maybe 80% it goes down to 30% you know gradually because people I think this would be uh dramatically well I mean you first of all yeah you know it's like I said it's inherent in your Arrangement that you
can say you will pay and then you actually don't um you know Lighthouse prevents things getting jammed where people claim they will pay and then you try and collect the money and you can't collect it right you don't have to do any manual work to collect this money now if if you're in a position where someone really hates you and they just want to like just mess with you by pretending you've got the money when really you haven't um well firstly that's kind of risky for them right because if someone did make a big contribution at the last minute to then they still take their money so it's potentially expensive attack for them but also um you know like I said Lighthouse is is solving one very specific problem and it tries to solve that problem well but you nothing stops you from having a platform on top that
you know has ID verification or you know verifies that people really are different people in some ways and watches out for you know people engaging in abuse of some kind you you you could effectively go and find some additional service on top of you know in the case where that was an issue for your project which I would hope mostly it isn't could you maybe talk about some of these services like could emerge from from uh Lighthouse sure so actually that's a good segue into um you know my company so I've created I left Google and I created this company uh V numerous and the goal of this company is to fund decentralized infrastructure which is a wider a wider remit than just Bitcoin well actually the goal of the company is
just to earn me a living right when when it boils down to it and I would like to do that by building decentralized infrastructure so one of the things that um I'm developing uh in and around the time I have and I'm not doing these other tasks is uh ven numerous will be one of these platforms it will be a platform where I post projects and maybe I post projects on the behalf of other people which are about upgrades to bitcoin so if you're interested in if you have some Bitcoins and you're interested in in investing in the Bitcoin system itself you can go to venus.com you'll be able to find um you know projects where there are like new features for wallets privacy upgrades security upgrades scalability upgrades
decentralization upgrades um you know cool new apps all kinds of projects you can pledge towards and then this will be effectively how uh I decide what to spend my time on right I'll look at what the uh what the market is interested in effectively and venum.com will be one of these specialized crowdfunding platforms which brings people together who have a very specific Niche interest which is the develop to decentralized digital infrastructure so basically you're funding feature requests and and Bug reports yes so all of this got all of this got started because you know I'm I'm I've been very worried for a long time the Bitcoin the core Bitcoin system is radically underfunded underdeveloped
compared to where it needs to be so a ton of work is being done in this in the Bitcoin space around startups they're developing services this is great but the core system itself still has you know glaring problems that we've known about for years um and they don't get fixed because basically the only people who are working on bitcoin court at this point are paid by the foundation and occasional volunteers you know volunteers who contribute you know fixes here and there for small things but the big upgrades of protocol needs are not getting done and you know a part of this is obvious right Bitcoin itself is a public good um if you upgrade the core infrastructure if you design a new protocol you can't really stop anyone from using that it's it's not like a a Bitcoin ATM or you know an exchange or a
wallet provider where you can charge people for access to it the core system is open to everyone so this is a public good and and the way to fund public goods as Assurance contracts and what better way to fund Bitcoin development itself than with Bitcoin insurance contracts now that's interesting like so you say that there's I mean obviously there's a lot more uh in uh in investment and time being spent building on these other things with these services and Bitcoin 2.0 ethereum you know all this stuff and and in the end not a whole lot of time and effort and uh and resources being allocated or being spent on the Bitcoin protocol itself why do you think that is why do you think that you know not more people are uh aren't investing their time and resources in the Bitcoin protocol well I
think there are a bunch of reasons um so one is obviously this money reason right how do you how do you make money how do you even pay for yourself if you're going to upgrade the Bitcoin protocol today yeah there's lots of open- source projects out there with lots of people cont contributing and not making any money I mean well you know you'd be surprised right like the big projects like the Linux kernel and so on actually most people are paid um you know volunteers still make up a really important role in the in the open source world of course where they're doing a lot of things um there are volunteers contributing to bitcoin J as well for example that's great but you know you would if you scratch the surface you'll discover that a lot of people who look superficially like they're volunteers they're actually doing the heavy lifting
during work hours because their employer benefits from that software in some way right sometimes they make it explicit and sometimes they don't now in the Bitcoin World um basically we solve this problem today this funding issue this public good issue actually through the Bitcoin Foundation which is sort of one another way of solving the the public good problem right you have like a charitable foundation and companies that want to benefit core system they they all donate and there's kind of a social expectation that if you're a big company and you you're building on top of Bitcoin that you will you will take part in the Bitcoin Foundation to help fund Gavin and Cory and and bladimir and these guys um but the problem is you know I mean um progress in the core
protocol has slowed down for a lot of reasons funding is one but there's a lot of problems within the the core development Community as well which are social problems um you know my plan with Lighthouse and V numerous is only to tackle the funding issue right people should be able to quit their job and upgrade Bitcoin in some way and not have to work for the foundation they should be able to do other things so it seems to me like the the best way this would have happened and and this is kind of a theoretical point I don't think it was possible at the time but if um you know Satoshi in the beginning had said you know from the transaction fees uh part of all the
transaction fees go in this kind of bounty fund and then you know Bitcoin holders can use a proof of stake to vote on you know which projects should get funding uh do you do you agree with that do you think that would that could have been at least theoretical if the means had been there at the time no I don't I mean I think you know if if you look at this the feature that Lighthouse has built on the sash anyone can pay there are not that many uses for it outside of assurance contract so I think maybe he did think about this but to say to put aside some fraction of transaction fees for some fund you know the obvious question then is who who decides who gets the money from that fund and you say well maybe everyone can decide through proof of
stake um but the the issue with um with bounties and so on is uh the you know they they are first come first so bounties have been tried a lot of times in Bitcoin development people have often tried to incentivize development bounties but there are a couple of problems one is that um they often are too small so you know you find people saying oh I've put like there's a bouncy of $500 and I want you know a complete upgrade of Bitcoin to some new thing and it'll take a year and it's like well you're not going to get you know you'll get like a few hours of work out of a skilled guy for $500 right you're not going to get um like a massive upgrade so that's that's one problem and the second problem is that that it creates a race where the first
person to you know technically meet the criteria of the bounty gets all the money and anyone else who was a little slower but did a better job gets nothing so this incentivizes people to cut Corners as aggressively as possible and to produce something that's you know really atrocious in many cases or has you know yes it's a program that does what the Bounty requires but it doesn't have a user interface you know it's only usable by Geeks or whatever um so bounties have largely been a failure insurance contracts resolve this problem because you know you can stand up and say I will you know I will solve problem X and it will cost why amount of money or you can even do what I'm hopefully intending to mostly do which is actually already create the solution and then
stand up and say this is what it it costs me this is what I'm going to charge right this is my price um and then you know what you're going to get there's no danger of you know someone nipping in early and you get a terrible product out because you're you're pledging towards a very specific outcome now I I don't know how you could integrate that with some kind of you know like who even decides what fraction of the fees get sent to developers developers I think it's very hard yeah it seems like the your approach is economically though a bit irrational though because in a sense if you develop something then you this is a s cost and you're probably not going to not want to release it well right so that's something I'm going to
be exploring is it how easy is it to sit on my hands and and not give stuff away for free yeah I don't you know when I when I came up with this idea and I decided I thought this was a solution I looked around for other companies with this business model and couldn't find any yeah I didn't spend like months looking so maybe maybe there are some companies out there but it's not a common business model um so this is an experiment just as much as Bitcoin is an experiment will it work that's that's the question if it doesn't I have backup plans I have backup plans my backup plans you know in other cases I just won't do Bitcoin stuff anymore right I'll just go work on some other unrelated piece of software but I'm hope I'm hoping don't do well I'm hoping I don't have to do that but
we'll see right Bitcoin is not guaranteed to be a success and everyone involved in it must bear that in mind now my plan is um that on this on my company website which is primarily going to be this kind of you know platform for finding projects just like Kickstarter is uh that there will be an ability to pre-edge so people can say I and this solves two problems people can say you know I I agree to put $200 towards this $500 but no actual money is moving there's no credit cards there's no Bitcoins there no lighthouse out at this point it's just an it's just a promise effectively um and then the idea there is this act as a hint about what people
would be interested in funding right so the idea is that um it's it's just a promise right people could go back on that promise but the goal is that uh you know by by just taking a few basic precautions you know collecting email addresses and things like that should be able to get a rough feel for what people um are interested in funding and then also people have pledged uh in in stable currencies so you know if people pre-edge to a certain project and then I go and write that project and say okay it's available now then um you know obviously once the contract is fixed in Bitcoins then uh you're kind of stuck with it right until till the project closes um so at that point you would hope that you know you
could actually get most people who promised to actually pledge for real with real Bitcoins within the space of a week or two so you're not too affected by volatility now are you are you the only person that's going to be working on on these uh sort of pledged upgrades or are there other people uh who will be joining you to be paid in effect for uh upgrading the cocol well a lot of people right so a lot of people have expressed interest in this funding model right A lot of people are who would like to work on bitcoin full-time or they already are but they don't really have a business model yet they they've been talking to me and saying hey I would love to be able to use this app like let me know when it's ready now to start with it would just be me um I want to see if I
can actually make a living this way obviously if I'm successful and there's a backlog of projects you know more people have pre-ged more people are pledging money to these projects than I can actually get through myself then it would make total sense to open this up and and allow other people to be taking part in this platform as well like because there's plenty of work to do that's that's not running out of work is not an issue um the question is to what extent will the Bitcoin Community step un funded because the companies have the funding they've got the profit they've got the venture capital and they are they need Bitcoin to work well so my plan is to mostly try and get these companies to pledge and this resolves a problem that you know bit pay or coinbase or or you know whoever none of
these companies want to become the sucker who is always paying for the upgrades to bitcoin and the other companies sort of get away scot-free right so it's a way of breaking the deadlock between Bitcoin startups as as well as individual people I guess there would be one issue I mean if say for instance you're the only one who uh ends up uh you know working on these uh protocol upgrades um on uh on this platform that in effect we're kind of centralizing uh the development of the Bitcoin protocol you know what I mean well you know it's already centralized right basically the only only people doing any heavy but even more centralized right well the only people
any kind of heavy lifting on the protocol today are people paid by the Bitcoin foundation and when I say people all I mean is Gavin because actually there's only three people paid by the foundation to work on bitcoin codewise and of those Vladimir and Cory both refus to work on the protocol partly because of these social issues that have come up right um basically progress on the Bitcoin protocol is ground to a halt complete complete halt so this is a crisis period for Bitcoin in that sense so if I was to be working on it and and I had a sustainable income stream this could only decentralize things further even if it's just me right because now you've got the Bitcoin foundation and the numerous and especially if I'm working on things that people are pledging money towards and
I'm kind of being pulled around by the market right I see this is free market driven development it wouldn't be like I say this is the next project you know take it or leave it right I I have lots of projects that I could do and which things get done will depend partly on where the money is so this this is the way that the regular Bitcoin Community can also influence development hours as well I'm hoping to create a marketplace where you know people who who uh can put money up can can help direct uh things within reason right obviously you don't want you don't want Bitcoin to be just controlled by by rich people there has to be some there has to be some reason to it but uh they can certainly help funded I think that could also be a great way to just get more people
involved in the development process cuz yeah I guess most people even working on Bitcoin startups Etc you don't really know too well what exactly the core developers are working on so perhaps this would be a way to change that some muchat well I mean what these developers are working on is open and you know you can just go look at ksub or the mailing list the real problem we have now is that people at these startups they're they're sending me and Gavin feedback saying they're not willing to take part because of these social problems that have accured in the project um so that's obvious is a concern right there could be people working on this stuff but the the environment has become so toxic they're not willing to um and and partly you
know if you feel like you don't know what the core developers are doing the brutal reality is that most of them do not much um there's almost nothing happening actually on bitcoin core development only Gavin is working on any major upgrades and he can only tackle one at a time so last year a lot of time was spent on you know payment protocol I did a lot of work on that as well a lot of time spent on random M things that crop up like uh you know change walks and performance and uh you know transaction malleability stuff but if you look at you know new features and and other improvements then only Gavin is doing that and he's just one guy so that's the problem I'm trying to help us yeah that is that is very worrying though I wasn't aware it was quite as
bad yes I'm afraid it is yeah I mean if you there's there's a sort of group of people who I've never seen this in any open source project by the way this notion of a core developer is something that's unique to bitcoin as far as I know and I've been involved in open source projects for 15 years so um you know I'm not a I'm not a newbie when it comes to open source but um but yeah know it worries me too right that uh the two of the three people and I've talked to them about it two of the three people paid by the foundation they're not willing to think about protocol upgrades at all is is that because they're just too busy like with buck fixes and sort of keeping things running or or is there another reason for that um well you know there is a fair
amount of work involved and just keeping scking over but no I mean the core problem is that basically any change to the protocol gets um or any proposed change uh that's non-trivial tends to devolve into giant arguments and historically Bitcoin has had a consensus based development approach so proposals be changed and reasonable people would discuss them and some consensus would arise and in recent times that process has broken down completely such that now even quite simple changes can't get consensus anymore so and people see this and they see these giant flame Wars effectively and they say I don't want to you know it's not fun to work on this stuff I don't want to go anywhere near that you know I'm not interested in
doing work that then uh gets rejected or ignored because you know this ever larger group of people they all they all wield veto power over changes so there's there's a structural problem there the chain of command has become less clear and and less assertive effectively and and the problem is that it makes it difficult to get things done so that's the reason that a lot of this stuff is moving very slowly right improvements that have been talked about for years no one even starts work on them now and so you said Gavin is sort of the only one uh working on upgrades uh to the protocol uh can you talk about some what those upgrades are yeah so Gavin um last year um me and him tag team on um on the payment protocol of course which was
rolled out that started to roll out at the start of this year um now he's working on floating fees which I know you mentioned earlier this is you know this is attempting to fix the problem that fees are pretty broken in Bitcoin there there's no fee Market to speak of it means that as Bitcoin gets more valuable in dollar terms the the effective fee we're paying in dollar terms per transaction goes up for no real reason right it's not like an transaction actually got more expensive to process it's it's just because the way the software works so he's been working for a while now trying to fix that um but you know like I said he's just one guy and progress is slow and upgrade a lot of these things are upgrades to the entire ecosystem right everyone has to has to opt in and
upgrade to floating fees for that to work so it's a very difficult sort of change so uh can you tell us how he's thinking about going about that well so what he's been working on in recent times is changes to bitcoin core that will effectively watches the behavior of the the network and uses data it records to estimate what fees are paid to confirm in what amount of time so I worked I worked on this with him over Christmas as well um we we modified the algorithm and the idea is that Bitcoin core the wallet there you'll be able to specify I want my transaction to
confirm uh you know within um one block within 10 blocks I don't care if I weigh 100 blocks and um the uh the the outcome of this is that you know you when you send a payment in Bitcoin you'll be able to actually uh drag a slider from left to right you know from slow to fast or fast to slow and the wallet apps will estimate the fees they have to pay in order to get confirmed within that time this is the first this is the first part of like establishing a fee Market where miners compete with each other um on their their fee policies but as a minor you kind of have an incentive to just clude include you know whatever transactions pay higher fee than your
you know marginal cost of or your cost of including the transaction I actually asked Gavin about that and because I thought like well you know the cost of including transaction is basically going to be zero and uh he said it wasn't the case because of uh because it makes your block bigger and then it takes longer to propagate so you have a higher risk of Orphan block uh so that this would sort of Define the lower bound of the fees um which seems like a a very strange way of determining the fees it's not I mean so a lot the thing to realize is a lot of these issues were thrashed out um in various forums you know as way back as 2010 you're correct the uh the
establishment of a free market should drive fees close to zero not actually to zero um because you know there is some cost associated with including a transaction um but uh in theory in a healthy mining Market you know miners should uh should prefer to take the fees rather than leave money on the table and this means that fees should drop to what it actually costs to include a Bitcoin transaction ignoring without the um the cost of mining itself being considered which for now is being funded by inflation actively right um this is this might seem useless or or reckless in some way but it's actually um by Design so transaction fees in Bitcoin it doesn't work as a way to fund mining
actually which is how sat she originally envisioned it and and it doesn't work for exactly the reason you specified um if miners are genuinely competing with each other and we don't have a cartel then the fees should spiral downwards to the marginal cost of inclusion in the block and so for now we don't care because you know miners are getting 25 Bitcoins per block anyway and in future they'll still be getting money per block even if they include no transactions at all um and in the long run we need some other way of funding this and uh this resulted in huge flame Wars a long time ago I say a long time ago it's not really a long time ago 2010 2011 no sorry 2011 2012 I think is when most of these debates happened and um people
came up with all kinds of interesting solutions to this problem the most annoying of which was you know hey we should just limit Bitcoin so it can hardly process any transactions and because it's so amazing you know people will will will attach huge fees to their their transactions just because they want to use Bitcoin and this will this artificial throttling of Supply a block space Supply will force fees to be as high as we need to protect the system um this was not a very convincing argument um for example Peter top made this argument a lot the problem being of course that you know we don't want a system that's kind of useless and only which people can afford like that's not really a very inspiring thing to work on we want a system that is accessible to
everyone including poor people so I proposed an alternative which is hey guess what Assurance contracts right you can actually you wouldn't do it with Lighthouse because Lighthouse is a goog app that's that's designed for end users but you could have a different kind of app that forms what I call Network Assurance contracts and this is where people who benefit from hash power people benefit from difficult construct blockchains for they they form like rapid micro Assurance contracts so they they can have a peer-to-peer Network where they're actually forming transactions that spend all the money to fees and um which uh you know effectively force people to chip in um and and help pay for mining hash power because because
effectively mining is a public good right because this because miners have this incentive to include every transaction no matter what the fee you can't really stop someone from getting their transaction mind yeah so this is this is this is not hugely well thought out because this is a problem that will occur you know a long way in the future we think but at least in theory you know we recognize mining as a public good maybe some kind of assurance contract contains the solution you're still going to have the free rouer problem in that case though yes yeah I mean Ive I've been think about that as well and and I agree it's it's it's a very strange thing that you know in a sense you have the essentially all the Bitcoin holders are paying for the security of network
through the inflation now and that's going down and and there seems to be no clear way uh you know to solve this problem with the with the transaction fees I mean I think you described it extremely well it's it's very the idea is interesting I guess if you could sort of include this insurance contract automatically in wallet software yeah and maybe it would be cheap enough yeah sure so I mean you can imagine everything from you know payment processes like bit pay doing this to you know it being integrated into wallets and everyone's wallets you know taking part through some big peer-to-peer Network you can imagine lot of scenarios that's super interesting I never heard about that but yeah that's that's very interesting idea I think speaking of
fees you mentioned in in one of the talks you I forget which one it was but um when speaking about the payment protocol that uh the payment protocol should allow the uh receiver to pay the fees can you talk a bit more about that yeah right so I mean the funny thing about the way Bitcoin is designed right is senders pay fees but it's a receiver who cares about double spending risk so you know it became obvious while we were thinking about these questions around the economics of Mining and so on and I remember actually giving presentations um to management inside Google back in 2011 and you know these are smart guys right so I gave a presentation to like the head of Google research and he immediately like seized on this question
of how does the economics of mining work does it work you know does it does it turn into a race to the bottom where there's no one is mining because no one is paying for it and um you know these are very challenging questions for example how much mining does the blockchain really need at all um I think it's we're in this really terrible situation at the moment Bitcoin has got itself into this really terrible situation where there's huge amounts of energy being put into Mining and yet the train is extremely insecure because of you know gash doio because of mining pools mining centralization we've got this absurd scenario where people are building entire data center Farms just to mine Bitcoins and yet we are still insecure very insecure right the whole system could be overridden and people
could double spend just one guy deciding it effectively at this point um you know Jeffrey Smith at gash do. could double spend but even if he didn't have majority that he seems to have more close to it you know he could team up with another guy and two guys could dou SP so right now we've got too much Mining and yet somehow we're still insecure so this question of you know how much money does do do the receivers of transactions want to spend in order to secure their transactions against double spending is a very complex question right not everyone cares about double spending equally but especially the people who don't care about double spending are the people sending people money because they know they're honest right or they uh they know they're malicious and they don't
want to attach any fee because they want to be able to double spend so it's always the receiver that cares about fees um and you know we need to fix this so the payment for currently we we scrape on buy with everyone just attaching a kind of a hardcoded fee by convention But ultimately what we need is receivers to be able to say through the payment protocol I I think you know you're a double spending risk so I'm not going to accept this payment unless you attach a reasonably higher fee or they could say the opposite you know you're a trusted valued customer I don't I don't care if this payment takes two weeks to confirm you know don't attach any fee at all for example um and then the payment protocol is the ideal way to communicate that I
see okay well maybe uh we should move on to bitcoin J um so you uh developed Bitcoin J in 2011 no I started in 2010 no but it wasn't relas until 2011 okay and so Bitcoin J is is this like Library Java Library which allows uh you to create uh an app essentially or a program and and and interact with the blockchain it's used by the Android wallet by Android shb it's used by multibit by Hive um now the recently uh it's been um talked about that you want to include um uh tour in Bitcoin J where
all all uh traffic essentially moving in and out of a wallet would transact through tour um is that already implemented or is that in the process of being implemented no it's actually been merged into the the master branch of Bitcoin J so that's the version of the code that's been developed it's not been released yet but yes it works and you know I have an example Bitcoin wallet on my desktop that connects L to and it works fine there are a couple of things we're going to need to do before that's usable by everyone um one is that the the tour Library we use um is quite new and it seems to work pretty well but we know it has a couple of bugs um and you know if we know the bugs exists that can break it we should probably fix them so
uh there's a bit of there's a bit of mature maturing that needs to happen with that library that we're using to tour and the second one is um it does slow down startup a little bit or it can do and you know not everyone cares about additional privacy or this the additional Securities so um you know for example if you're at home uh it doesn't really make a whole lot of sense use T because you probably trust your cable company for example your home Wi-Fi is private to you so um you know we need to we need to figure out how to deal with that probably what we'll see in the next generation of next sort of generation of wallets built on bitcoin J you know the next versions of hide the mobile wallet and so on it's like a tick box right in the preferences to say do you want
additional privacy and security at a tradeoff that the app will take longer to start up and then we can get feedback and Tes in and maybe find a few more bugs from the people who are you know willing to opt in with the eventual goal being that maybe all traffic should be rooted this way by default but you know we need to need to um make sure it's not going to harm stability for us so the the idea of inating Tor into Bitcoin J uh was primarily to stop man in the middle attacks for instance on a public Wi-Fi network or are there other risks uh well there are there are a couple of reasons you know one one is this issue of yeah if your internet connection is not trustworthy or I should say if your
internet connection is less trustworthy than tour then obviously you can use T to upgrade um the other reason is um you know to try and just raise the bar a bit for snooping by national governments and other people who are doing bulk intercepts on The Wire it's not completely clear to me how successful tour can be that when use with Bitcoin um because of the the details of how how it works but um you you know it can't really make things easier it can only really make them harder so that's another reason to do it now you mentioned in the in this talk so the talk I was uh referring to earlier was the one you did at coin scrum um earlier this year um so you you mentioned that there are some other
issues uh with using tour which is that the peers that you connect to are now hidden or at least their IP addresses are hidden so there's a problem of trust uh of the peers that you're actually connecting to and and and sending transactions to uh from your wallet and so you mentioned some some way possible ways of uh of solving this so there's um a proof of sacrifice which is essentially uh uh miners only trusting nodes that would sacrifice a small amount of Bitcoin so it would make it expensive for someone to run a large amount of nodes and also this other kind of really that this thing that I had never really heard about which is a proof of passport which is to prove that
uh you're in fact a real person because you have a passport um now can you kind of go into detail about how this would work uh because I mean not all passports have of course this is a proposal I mean I understand it's something that you propose in theory uh if all pass if everybody had a passport or if all passports had NFC chips in them um can you just kind of talk about how this would work and uh how you can verify that somebody has a passport uh yeah sure so actually just let me let me just correct something you said a bit earlier um the way that we've implemented tour in Bitcoin J currently uh that's not a risk actually because we're not connecting to tour hidden Services we're connecting two Bitcoin
nodes on the regular internet through tour so just like you would if you browsed a website through tour um okay so the Bitcoin nodes themselves are right so right so Bitcoin nodes themselves are not hidden services so you can still pick a collection of IP addresses and as long as you trust that you know your your um your internet connection is not being interfered with uh well no let me rephrase that without tour you know you assume that if you connect to 10 IP addresses chosen randomly from a set of 8 9,000 you probably got like 10 noes that are not collaborating against you right um if there's someone sitting on your internet connection and giving you a false view of the internet then then maybe that assumption is violated uh now you know if you connect
to Hidden services with tour you don't even have that you know um that issue of the uh the myp addresses and you know most Bitcoin nodes are not run on tour either so You' have a much smaller set which is why we don't do it so I'm not worried about this risk for the way we're using Bitcoin J and tour together today this is really future thinking now the proof of passport thing is um it's it's highly theoretical as you say partly because the software needed to do it is not available in fact doesn't even exist yet right so this is this is Theory um based on academic literature it's not it's not something you could implement or I could Implement today it's just an idea for future based on recent science so it's still science
fiction effectively but just quite close to not being and um yeah so like you said you know there are other issues not everyone has a passport not everyone has an NFC passport the point of this is really to solve the underlying problem that Bitcoin is trying to solve with which is how do you obtain consensus amongst a group of people on the internet and this is this turns out to be really hard because online there's no strict definition of what a person is right like you can sign up for multiple email accounts you can have multiple devices you can have multiple IP addresses um you know there's nothing really ties these things together so creating fake identities is really easy and Mining is is an attempt to solve
that by saying one CPU one vote um each person has a computer with a CPU in it of course we saw how badly this works right the original idea of mining was that you know everyone would mine actually that's why it was integrated into the the original Bitcoin software you could click a button in the gooey and would M and and proof of work has failed in that sense because in reality what we have now is a handful of pools and the entire system boils down to votes by like 5 to 10 people right so big so Bitcoin mining is an attempt to solve this problem and it so far it hasn't been working maybe it's fixable so far it wasn't working uh proof of passport takes a really direct approach it says you know if you look at the
details on your passport you know everyone has a name and birth date and and some kind of other attributes that you know they will collide occasionally but we can claim this is your identity and you have only one of them and then if you could somehow digest this into some kind of anonymous cryptographic credential you would only be able to one of them and then you could use it for things like voting and and you could actually get 10 of these votes and know they came from 10 different people or at least 10 different passports um and the the underlying maths that makes this possible this is a very unintuitive concept so when I first explained it I got a lot of feedback saying why do you want to make everyone reveal their passport to take part in Bitcoin I was
like no no no that's not how it works we're talking about zero knowledge proofs so you don't reveal your passport data you some derivative mathematical derivative of it that's actually a solution to a set of very complicated equations and these equations prove that you are a unique individual with some cryptographic identifier some big number which is your number and you only have one of those numbers but it's still an opaque number right you can't see through that number to figure out who really owns it behind the scenes so um you know in theory you wouldn't even need mining or the blockchain in some ways if you could build such a system because you could go back to this world that Satoshi wanted actually which
was one one person one vote effectively but he lacked the technology to do it and that that's what the proof of passport IDE is all about the Reason by the way you hadn't heard about it before is I invented it for the purpose of that talk you you mentioned some some uh some interesting research that uh allowed this proof of passport to exist which was ZK snacks SNS yeah so some really long and complex acronym um uh but I just thought it was very interesting because I mean like you said this unlocks the potential for other applications as well like voting or things like that you know not not identity verification but um I mean uh the the proof of being one person and not being multiple people now
what about in the event that you have two passports like if you have a dual citizenship for instance yeah well that's up to the designers of the system how they handle that right like if you're a dual citizen you you can select um so the interesting thing about these zero knowledge proofs is you decide what data to expose from the passport so what the proof does is it proves that the passport data was valid and then it allows you to selectively reveal some of that data or none of it or a derivative of it like a hash of that data so for example you could say I'm not going to include the issuing country in the output and then it wouldn't matter if you had two passports if the names and the birth dates and and other things were the same now in reality of course
names Collide birthday Collide right so you can get passports which are two different people but they have the same details inside you can also have the photo of course but photos change so these things none of these things are perfect right you got animation yeah so it depends um passport numbers are not supposed to collide but I mean this is a huge system right and it's certainly not perfect right you get Forge passports you get fate passports the digital signatures Theory not forgeable right but I'm sure there are some governments that don't take care of their keys properly and so on now it's not a perfect approximation of a person by any means some people would be able to get two or three identities some people you know would be able to steal passports and generate a stream of
identities from them uh you know if you could convince people to give up your passports other people would sell their passports right they they wouldn't care about your your weird cryptocurrency whatever like they would just say hey if I can get 10 box and show this guy my passport and let him scan it with his phone why would I not do that it's just free money for me and I don't care what my identity is used for so there are all kinds of interesting questions raised by this and if someone were to try it it would be an experimental side Bitcoin itself way you don't know if it would work or not it might be like mining it might end up not working because people would just too many people would sell their vote for example um but yeah you're right it allows it's not only
about voting in cryptocurrency but you know you use this for example if you expose all of it or your name and your photo then you can solve the problem of uh encrypting of encrypted email right if you think about pgp it really sucks and no one really uses it and the main reason no one really uses it is because uh getting people's keys and verifying you actually got the correct key is really really hard um the pki tries to solve this by you know having companies which verify people's identities and and issue certificates and that's almost like a proof of passport you know maybe sometimes you have to submit ID verification to get your key um but it's kind of inconvenient and it relies on these trusted third parties who you know they can be corrupted and so on so um
you know if you could just create your own uh certificate that people could trust then you know you could just watch a video of me talking on YouTube and then go look me up in some directory of keys and you could see the key that I created associated with my passport and you could have a very strong assurance that it really is me right it's not just impersonator so it can be solve all kinds of problems I think I mean I've been thinking about this whole idea of like how do you verify somebody as a person and somebody's unique for a while and I think there is in a tremendous amount of applications for that and uh one that I find the most fascinating is you know remember something sort of similar was done or I I actually don't
know to what extent it was done but at least they announced they would do it which was a Aurora coin in Iceland where they wanted to give you know a certain amount of their currency to every uh person now I think what would be really fascinating is if you did something like a global basic income that you know you monthly you give like let's say a th000 of Your World coins to every person in the world and you know it it there's no doesn't have to be any U approval by any government doesn't have to be legal tender anywhere it will just establish its value in in the free market you know some people will like it some people will ignore it I think that would be
extremely interesting yeah sure I mean a lot of what we do in Computing and cryptography and so on is working around this fact that identity on the Internet is so uh it's not ideal for what we want you know sometimes it's not private enough and sometimes it's too private and if you think about even very basic things like spam filtering you know why why does so many people use Gmail I used to work on Gmail it's a great product very proud of what we accomplished but you know we got to be blunt right a big part of the reason that Gmail is the biggest email Network on the planet is because it's got the best spam filter um and people don't want to run their own spam filters because it's so hard and why is Spam filtering hard well because you can't really ban anyone from sending
you email right because IP addresses can be sold through bot Nets and all kinds of things there's no real way of stopping someone from sending you money if send send you email if they are really determined but you know with such a system in theory if we had had this right from day one you know maybe anyone could have a really excellent spam filter and uh and people would not be centralizing around the Happ to what big email networks yeah as Jeff Jarvis puts that email's broken because it's uh sender controlled yeah right well email is broken because you know it didn't it doesn't have any uh real way of banning people who abuse it and it's free so you get a lot of abuse is dominated by abuse now just coming back to bitcoin J we talked to Wendel Davis a few weeks ago
about uh about Hive and so Hive uses Bitcoin Bitcoin J uh so when I installed Hive uh I was surprised to find out that I had to install Java in order to work and later found out that it it was using Bitcoin J in the background although the app has developed in Coco um now do you have any plans or are there any ways to Port Bitcoin J to another language uh that maybe may be less uh resource intensive or like work better in a native platform um well I hope that all you have to do is press the button to install Java like it's it's a bit annoying you have to do this but it's actually Apple made it pretty easy what we're working on is bundling um bundling a strip down version of java into Hive
I've been I've been looking at that is is one of these million things on my plate Dr so it makes a little bit of slow progress so hi guys want me to do that um and then you know you wouldn't see this this pop-up message the first time you use it um in terms of resource usage I mean we haven't encountered any problems with that right bear in mind Bitcoin J was written to work on Old Android smartphones back when gingerbread was the most common and the most you're going to get there is like 16 or 32 Megs of ram so by the standards of modern apps you know the fact the whole thing connects to the pp Network it downloads a blockchain it runs a wallet all in you know it can actually do that in 16 Megs of RAM is is not that
bad right we're going back to like the mid 90s the last time computers had that much memory so I'm not worried about that as a language um the way language design is going is trend is that people who design new Languages by and large they don't design native languages anymore and the reason is that um you don't get access to any good libraries if you do that you can only use libraries written in C effectively Apple are kind of breaking that Trend a little bit with swift because they have this big Legacy of objective c stuff and they want to like evolve that platform um but you know like you can't easily use Objective C libraries from um from python for example you would need a lot of
complicated binding to do that so what new languages tend to be developed on is either net or the jvm because that way they can they can try out all kinds of new ideas and language design uh but still have access to all of those great libraries because the type system is a lot more well defined so Bitcoin J there are people using it from lisp from Scala from uh JavaScript from python even and they're they're doing that through um the jbm I would love to expand it out more to cover even more languages it's not going to be Rewritten anytime soon it's it's a big codebase by now but we can do things like automatically transpiling it to C++ and stuff like that so I I think most people should not be building wets
in C++ because it's too risky but if you know people wanted to do that then it would be possible cool well um I think we're kind of at the end of the show is if there are if people want to learn more about uh your projects so uh is you can sign up I think for your blog updates is that right yeah if you go to venus.com there's an email list and there's a Blog as well so if you're interested you can just sign up there it's very low I haven't even sent any emails yet so it's very low traffic talking about spam and things you know I'm not intending on sending lots of updates but you can sign up there yeah but I guess once Lighthouse is out or perhaps if the talk I would love to see the talk you gave at the Amsterdam
conference so if those are out perhaps you you'll send an yes email when the video is available I will email them out to show okay per do you have any idea when that video is coming out is it are you waiting for B Foundation to put out yes yes I don't know what the delay is okay I think they haven't put out anything except maybe the key no they put out a few talks I think uh but yeah yeah we're still waiting for it I want to watch it now when's Lighthouse uh coming out do you have any idea of when we'll see a first beta well to some extent it's done when it's done but I'm aiming um you know I want to push myself to try and get a some kind of be out by the end of July we'll see how that goes
the initial versions will almost certainly be locked down or crippled in some way um or proprietary you know they they won't be open source because I want to raise the money to release Lighthouse with Lighthouse so by definition it can't be given away can't be given away for free right so um the first version maybe it will only man it will only be usable with projects that come from me for example but I'm still figuring out the exact details of how to the money for Lighthouse s and are you looking for any open source developers to join you on this project or um you know right now what's happened in recent months is a Bitcoin J has really taken off and we've been getting a ton of new contributors a ton of big major feature upgrades going in there like one guy Now is working on
multisig wallets uh so you know you can have a a third party risk analysis provider with your multisig wallet and if you want to help out um you know right now Lighthouse is not open source right I we have to wait to raise ay before it is but if you want to help out on these kind of ideas then working on bitcoin J is is a very easy and and very straightforward way to do that okay great and that's I guess on GitHub you just go github.com bitcoinj Bitcoin yeah you can go to bitcoin j.org and that's our website and yes the code is on is on GitHub and there's a there's a mailing list it's friendly it's got a lot of people on it you know if you're looking for work you can just ask them and people will give you ideas for what to do cool well
thanks so much for joining us there it was really lots of fun to talk to you and extremely interesting to hear both about Lighthouse about you know the fees and sort of the future of Bitcoin J and Bitcoin development so thanks so much for joining us today thanks it's been a pleasure um so uh a few things if uh as we come kind of to the end of our show if you want to support EP Bitcoin you know you can leave tips it's eper bitcoin.com tips uh you can also follow us on T Twitter at enter BTC uh and if you like to show if you want to leave some feedback if you feel like we could do something better you can also leave a review on iTunes which also helps new people find the show and uh
finally every Friday uh I send out a newsletter which kind of goes out through goes through you know the most most important news and developments some links to blog post so you can sign up for that at enter bitcoin.com newsletter so uh thanks so much for listening and uh be back next week see you [Music] bye-bye