Amen. All right, so here we are in Luke chapter 16, a couple of stories here in the Bible and of course we're going to focus on the latter part of Luke chapter 16 which is the rich man and Lazarus.   So this evening I want to just preach a sermon tonight and talk about hell itself.   I think it's important that we touch on it, these things, especially when we go out soul winning and for all of you who are out and your, your talkers and your experienced soul winners, you go out and you say things and just like Jesus talked about with vain repetition, sometimes we need to remind ourselves that things that we Bible verses that we say again and again and we need to remind ourselves that, that we don't lose those meanings of those Bible verses. You know, as we say things over and over and as you may explain hell to someone a hundred times, you know, it may lose its seriousness to you and we need to just kind of constantly refresh ourselves because look, the idea of hell is important to the soul winner and we'll get that, get to that at the end of the sermon with a little bit of application.  Turn to Matthew chapter 25. We'll just look at hell in the Bible for a few minutes and then we'll see how it's important to us.  Thank God.   This whole city could burn down tonight and we know that we are not going to go to hell. Everybody could get sickness and disease on this earth and we know that we're never going to go to hell. That is a huge comfort to us. That's why we should fear nothing. We should fear nothing but the Lord and it's very simple. All right.  All right. So let's take a look at it this evening for a few minutes. Matthew 25, look down at verse number 41. What is hell? What is hell? The Bible says in Matthew 25, 41, then shall he say unto them on the left hand, depart from me ye cursed into everlasting fire prepared for the devil and his angels. So look, here's this idea of these people that are going into everlasting fire. These certain people Jesus is saying are going to go into this place of everlasting fire that was prepared for the devil and his angels. So the first point is this. Look, this is not Satan's hangout.  It's nothing like that at all. I don't know where that idea came from, you know, other than, you know, loony tunes, cartoons, but it is not Satan's hangout.  Turn to Revelation chapter 14. Look, we even get to see the beauty of the Bible is this.  God tells us how it's going to end. And look, we don't know exactly how it's going to go down. We don't know when it's going to go down. We don't know what all these different things that are going on in our world really mean until, you know, we're looking back at these things. But look, we know how it's going to end. We know the end of the story because God gives it to us. Look at Revelation in chapter 20. Revelation, did I say Revelation 14? Go to Revelation in chapter, hang on, I think I messed up here. Revelation chapter 20, I'm sorry. Revelation chapter 20 and look at verse number one. And the Bible says this, we get the ending of the story folks. And I saw an angel come down from heaven having the key of the bottomless pit and a great chain in his hand. Where did this angel come from? He came from heaven. And he laid hold on the dragon, that old serpent, which is who? I mean, is this confusing?  And after that he must be loosed a little season.  So look, the angel with the key came from heaven. The angel with the seal came from heaven. God controls throwing people into hell.   Now where is it? Turn to Psalm chapter 63. Psalm chapter 63. So this idea that Satan has any control over anything or he wants to go there, Satan doesn't want to go to hell either. And you'll find out why as we study more about hell. Look at Psalm 63 in verse number nine. The Bible says, but those that seek my soul to destroy it shall go into the lower parts of the earth. Turn to Ezekiel 26.  That's a very specific place that is a real physical place. Ezekiel 26, look at verse number 19. The Bible says, for thus saith the Lord God when I shall make thee a desolate city like the cities that are not inhabited, when I shall bring up the deep upon thee and the great waters shall cover thee, when I shall bring thee down with them that descend into the pit with the people of old time and shall set thee in the low parts of the earth in places desolate of old and with them that go down into the pit thou shall not be inhabited and I shall set glory in the land of the livings. Turn to Ephesians chapter 4. Look, the Bible even says that Jesus went there. The Bible says in Acts 231 I'll read for you while you're turning to Ephesians 4. The Bible says he seeing this before, talking about David, prophesying that Jesus would go to hell, seeing this before a spake of the resurrection of Christ, that his soul was not left in hell.  Ephesians 4.9 backs this up. It says now that he ascended, but what is it but that he also descended first? I mean, how could you not say that Jesus didn't go to hell? I mean, it is so clear in the Bible. I mean, there's people, I mean, I'm not, look, it doesn't really have to do, I don't think, with your salvation to believe this, but how it is so clear in the Bible that Jesus, I mean, now that he ascended, I mean, we know he ascended into heaven and sits at the right hand of God, but that he also descended first, well, where? Into the lower parts of the earth.  He descended is the same that also ascended up far above the heavens that he might fill all things.  Hell is literally in the lower parts of the earth that we are standing on right now. Look, on a spherical surface, the earth being a round sphere, I'm not even going to make reference to it. Don't even look at me like that. That's the center. The lower parts of the earth, the lowest part of a spherical object is the center. The center of the earth. And look, here's the funny thing. Science actually agrees with this. Science actually agrees with the idea that the center of our earth is this molten ball of fire or whatever.  I mean, you can see it, right? But look, scientists figured this out, you know, decades ago. But look, the Russians, here's what's really interesting. The Russians tried to drill through the crust of the earth in like the 70s.  It's like 30 miles. And then the rest of it's this mantle, which is, you know, thousands of miles. And then the core, the molten core that scientists believe is the core, is the very center. Look, so the Russians tried to drill through the crust of the earth to find out what was in the mantle. They weren't even thinking about getting to the core because it's so far. All right? So they tried to drill and they started in the 70s. And here's what happened. The borehole reached about 40,000 feet into the crust of the earth, which was about a third of the way through the crust of the earth. And they actually had to stop for what reason? It was too hot. It was too hot. It was melting the bits. It was melting the machinery. They couldn't keep the bits cool. There's no, so basically, there's no material on planet earth. Look, I think it's funny. We were talking about why we couldn't have a, we're going to talk about space elevators real quick. We're talking about why we couldn't have a space elevator this morning before church. But the bottom line is that there's no material on planet earth that is strong enough to make a cable that can support itself that's, you know, 300 miles long. There's just no material that's available to us. I've worked in thermal power plants for, you know, 15 years. And the reason that we can only get so much efficiency out of a certain power plant, look, all you have to do to get a thermal machine to operate more efficiently is just make hotter temperatures and higher pressures. That's it. We know how to do that, but there's no material that can contain it. See? So God has put these, these boundaries on us.  You ever think about that? Maybe. It's all, you know, it's funny when you look at things with a science perspective and a Bible perspective. It's almost like you're smarter that way when you look at things from a biblical perspective. So these Russians, they try to drill through the crust of the earth, the crust, the tiny little, the skin of the apple. Think of it that way. They couldn't even get a third of the way through because God basically said, no, you're done. It was too hot. Now look, there's all kinds of YouTube videos.  That's not true. Okay? They stopped drilling because it got too hot, because the earth is hot. You actually, the earth itself, even the earth under your feet gives heat. The earth itself is in North Dakota. You actually can make heating systems for your home by digging down about 10 feet, burying pipes in the ground. And that ground is always about 55 degrees. So that provides heat. You say that's heat? Yeah. Well, when it's negative 20 degrees outside and you can pull 55 degree heat, you're adding B to U's. So you can get heat from the center of the earth.  Think about it that way. Because the earth is warm and the further down you get, the hotter it gets. All right? So look, science agrees here. Science agreed. But a couple of things I want to point out. The temperature of this borehole, they had to stop because the temperature was over twice as hot as they thought it was going to be. Okay? And you will find this over and over and over again when people theoretically, you know, they theorize the way something's going to go and then they actually experiment and do it. It's usually very different. All right? So it was twice as hot as they thought it was going to be. So they had to stop. All right? They were also, here's another thing. They were also completely wrong on the makeup of what the material of the crust was made of. Completely wrong. So what does this tell you about, this isn't in the sermon. I'm just going to talk about this.  Look, they can't even tell you what's in the top third of the crust. You will have people who are PhDs in college and teaching geology and they'll say, oh, this layer is this and this layer. They have no idea. They have no idea. They drilled down and there was all kinds of hydrogen gas and all kinds of different types of rock and all types of fluids. They had no clue what was down there until they actually did it. All right? So all that to say this, you know, you base your beliefs on the Bible, number one, and what can actually be proven through experiments. That's it. That's my theory, right? There's your theory on what to believe, right there. If somebody's done an experiment on something, okay, let's talk, right? But look, all this archaeology, all this geology, it's just some high school science teacher or some college professor that's been teaching the same thing for 30 years and is just writing the same thing on a chalkboard acting like he's an expert. They don't have any idea until you do it, all right? Astronomy, don't even get me started. Same thing. They have no idea what's out there. It's all theory. It's all theory. At the end of the day, we don't know what we don't know. It's that simple, all right? But look, here's the funny thing. The Bible actually knew what was in the center of the earth way before any scientist even had a theory on what was in the center of the earth, right? But everything else is, you know, speculation. All these scientists, it's just speculation.  We know that people descend into hell. It's the lower parts of the earth and that it's fire. We know that. Look back at Luke chapter 16. Luke chapter 16.  I mean, the guy doesn't sound like a bad, horribly human being.   But look at Luke 16 in verse number 24. We know that it's a place of fire from the Bible. We don't need, you know, theories on it. We know it's a place of fire. The Bible says in Luke 16, 24, the guy cries. He says, I am tormented in this flame. In Matthew 13, 42, I'll just read it for you. Turn to Matthew 25. Matthew 13, 42, Jesus says, and shall cast them into a furnace of fire. And there shall be wailing and gnashing of teeth. Look, people are going to be crying out. They are going to be suffering. They are going to be gnashing their teeth together in pain because of the fire. In Matthew 25, 41, Jesus says, depart from me ye cursed into everlasting fire.  It's a place of fire.  We hiked a volcano a couple of years ago or a year ago or whenever it was. We're hiking up the volcano. It's the one that blew up a few months ago. We're hiking up the volcano and it's literally smoking under our feet. There's literally sulfur, which is brimstone by the way. There's literally sulfur gas coming up out of the ground that we're walking on.  I mean, look, we have witness to this. We don't have to speculate. The Bible tells us and then God shows us. Turn to Numbers chapter 16. It's a witness to us. This is God showing us what the Bible says. This is God proving to us what the Bible says.   Look at Numbers chapter 16. Look at verse number 31. These are people that turned against the children of Israel, turned against the leadership, turned against Moses. Look at Numbers 16 and verse number 31. And the Bible says, And it came to pass, as he had made an end of the speaking all these words, that the ground clave a sunder that was under them. And the earth opened her mouth and swallowed them up and their houses and all the men that appertained unto Korah and all her goods. Now you say, oh, maybe just a crack in the earth opened up. Look at verse 33. They and all that appertained to them went down alive into the pit and the earth closed upon them and they perished from among the congregation. And all Israel that were round about them fled at the cry of them for they said, lest the earth swallow us up also. Look, it's a literal place of fire in the center of the earth. And God has opened it in the Bible and he has opened it several times for us to see on this earth. You know, when volcanoes explode or there's magma coming up anywhere, whatever, how much more evidence of hell, of a literal hell, do we need is the question. And look, the Bible knew it already. You know, look, there could have been, here's the funny thing, there could have been anything. I mean, there could have been anything at the center of the earth for all scientists. No, it could have been water, it could have been rock, it could have been, you know, heavy metals.  They like take all these rocks and dirt and they shake it so the heaviest, you know, the heaviest substance or the heaviest materials fall to the bottom, which is what? What's the heaviest metal? Gold, lead, mercury, these types of things. They all fall to the bottom and then they can get, they can separate the gold. You would think that, you know, that'd be a pretty decent theory. I think that the whole center of the earth is mercury. But no, it's fire. It's, it's, it's eternal fire. The Bible says, and the Bible was right. The Bible was right.   Who's going there? Turn to Luke chapter 13. Turn to Luke chapter 13. Luke chapter 13. And look at verse number 23. The Bible says in Luke 13 verse 23, then said one unto him, Lord, are there few that be saved? And he said unto them, Strive to enter in at the straight gate, for many I say unto you will seek to enter in and shall not be able. Turn to Matthew chapter 7. Let's get a little bit more perspective on this story. Look at Matthew chapter 7 in verse number 13. Matthew chapter 7 in verse number 13, where the Bible says, Jesus says kind of the same thing here. It says, enter in at the straight gate, for why does the gate and broad is the way that leadeth to destruction? And many be there, be which go in there at. So, but Jesus is saying, look, they asked him, the context of this answer is, are there few that be saved? And Jesus says, basically, yes, there's few, because broad is the way that leads to destruction. And then verse 14, because straight is the gate and narrow is the way which leadeth unto life, and few there be that find it. So look, you should be very, very thankful every single day of your life because very few people are going to heaven. It's a sad thing to report.  And that's one of the things that you will find that Christians and people that believe in God or whatever out there, it's a total misconception today.  And you will find that most people think that if you're pretty good, you're going to heaven.  And you will find that most people think that most people are good enough to get to heaven, especially themselves. So people have this exactly wrong today. Even Christians that go to these, that's one of the biggest, one of the biggest frauds of the watered-down church today, even if they have the right gospel. And I don't think there's that many that do anymore.  But John 3.36 says, he that believeth on the sun, hath everlasting life, but he that believeth not, wrath of God abideth upon him.    That's the bottom line. So most people are going to go there. Jesus said it himself. How could you come out and say that most people are going to go to heaven when Jesus in his own words said, the broad is the way and many are going to go to destruction? So when are they going to go there? Turn back to Luke 16. Are they going to go to sleep and then the millennial reign, you know, there's all kinds of weird doctrines out here about when people go to heaven, when people go to hell, you know, the different places in between. It's really much simpler than that. And it makes sense that it would be simple because the gospel is very simple, right? So I mean, how could the gospel, think about it this way, how could the gospel be simple?   And then, you know, for however long till the end and then after the wrath, I mean, that's very confusing. I mean, that's very confusing. It's much simpler than that.  Look at Luke 16 and verse 19. That's why this story is so important to us in the Bible.  In verse number 19, it says there was a certain rich man with closed in purple and fine linen and fared sumptuously every day. There was a certain beggar named Lazarus, which was laid at his gate full of sores. And desiring to be fed with the crumbs which fell from the rich man's table, moreover the dogs came and lit his sores. And it came to pass that the beggar died and was carried by the angels into Abraham's bosom. And so we see right away that as soon as he dies, he's carried to heaven. He goes to heaven right away. And then right away we see the rich man also died and was buried.  So immediately he dies and he lifts up his eyes and he's there. He's in hell, being in torments and seeing Abraham afar off and Lazarus in his bosom.  You're going to be there. And look, look at verse, go to, let me get to Luke 16, and look at verse number 26 of Luke 16, where the Bible says, And besides all this, between us there is a great golf fix so that they which could pass from hence to you cannot, neither can they pass to us that would come from then.   But and everyone, here's the thing, everyone will admit this. I'm like, how do you know how much longer you have on this earth? And because all these kids now, especially in some of these neighborhoods are like, yeah, you know, you're right, I could die right now.  So why aren't you more concerned about this?  We have no idea when our life on this earth is going to be over.  That's it. It's a done deal at that point. That's what the Bible teaches. And look, verse number 26 says that once you're in that place, it's eternity either way. It's eternal either way. And no one knows when that will be. So look, everyone's a gambler out there. Everyone is gambling with their eternity out there. And I mean, you have these people that are so cautious about everything, and they're so afraid about everything. But this, they don't seem to be worried about.  And this, they're not concerned at all about. It's weird. It's not logical. It's very strange.  I mean, that's quite a risk. And it's because of the cares of this world. We know why it is. It's because of the cares of this world. They're just blinded to it. That's it.   We see what the Bible says about hell. It's been proven to us. We know it's a real place in the center of the earth. We know that people are going to go there if they're unsaved and they die. So what is the application here? The application is this. I mean, do we believe the Bible? It's really what it comes down to. We basically have an entire population of the world walking towards a cliff is what we have.  I mean, when a person dies, they open their eyes in torments. We all know people who have died. We all know, look, and you may not like think about this, but we all know people who were not saved and died. We all know people that maybe we're close to us, maybe that we loved. We all know people who have died and have opened their eyes in torments. We know those people and we don't like to think about it, but maybe we should. Look, these people, when a person dies and they're not saved, they're going to open their eyes. They're going to be conscious. And you know what? They will remember the soul winner. I often think about that. I often think about that when I talk to someone and they're just not interested. Or I talk to someone and I explain the gospel to them and they understand the gospel and they say, no, thank you. I'm not going to accept that. I think about that person because they will remember me in that moment when they open their eyes. They will remember the soul winner. I mean, will they remember you? Will they remember will they remember you? Will you have situations where you can say, you know, that I tried with a person, right? Look, they will remember. They will remember that they thought that a loving God would never create a place like that. They'll remember that too. They'll remember all these false things that they believed about God. They'll remember all these false things that they were taught and that they accepted because that's what they wanted to hear. They'll remember all these things, but then they will recognize right away that God is a holy God and he must punish sin.  You know what? Another thing it shows? I mean, it shows how, I mean, think about it. Think about a person that's a pretty good person.  He tries to love his wife and raises some kids and works hard all his life, but he just doesn't believe in Christ. Think about that guy.  Think about that because that's what's going to happen, right?  But you know what that tells us?  So don't, you know, we're so, we just have this worldly view of things that these are nice people and these are bad people and these people do this sin and thus they're not good people. Look, none of us are good. None of us are good. Even the nice guy is not good. That's why you have to believe on Jesus Christ or you're going to pay for what you did. You're going to pay. Look, the punishment fits the crime. It's that simple. And if you don't think so, you're desensitized to sin, period. It's the most serious punishment. Turn to Mark chapter nine.   Imagine the shock of that.  Imagine the pain, you know, the torment. But look at Mark chapter nine and verse forty-four. This is another thing that I often think about. Mark chapter nine and verse number forty-four.  You know what that means? You know what that means?  He was in torments. He was in those everlasting chains.  The worst thing has got to be when you realize that it's never going to end.  And then luckily, you know, after a couple weeks, you know, it got better and then it went away.  I was like, I don't want to have to, what if it's something serious and I have to have surgery? And I'm like, maybe I could just live with it. Maybe I could just live with that pain, right?  And then you realize that this is never going to end and you're going to have to, you're never going to get used to it. You're never going to get used to it. There's no rest from it and you're not going to die. I mean, when you're in horrible pain like that, there must be at least a thought in your mind like this is just going to be over soon. But when you realize that you're warm, die if not, it's never going to end. You're never going to get good at it. You're never going to get used to it.  That's what that means. Turn to Philippians chapter 2. It does make some sense of this though. It does make some sense of Philippians chapter 2 in verse number 10. Because look, if you didn't really believe all these literal things about hell and you were a soul winner, which it would be difficult to not believe literal hell and also be a soul winner. But look, if you didn't really believe all these eternal aspects of hell and the seriousness of it, and then you read Philippians chapter 2 in verse number 10, this would be difficult to imagine this actually coming true. But the Bible says in Philippians 2.10 that at the name of Jesus, every knee should bow of things in heaven and things in earth and things under the earth. And that every tongue should confess that Jesus Christ is Lord to the glory of God the Father. Turn to Revelation chapter 20.  And think of, you know, these people that just mock the Bible, these people that just hate God, these people that just have like just disdain for Jesus Christ. And just think of like what would it ever take? You could probably literally threaten these people or even kill these people and they would never say anything good about Jesus Christ. They hate God that much. You will find these people. You know, that's another benefit of being a soul winner. You will get a full spectrum of what's out there from the way good to the way bad. You'll get it all. But look, how would this person ever bow his knee to Christ? How would this person ever confess with their mouth Christ? How? Well, guess what? Turn to Revelation chapter 20. Look at verse number 11. Here's how. In the Bible says, and I saw a great white throne in him that sat on it from whose face the earth and the heaven fled away and there was found no place for them. And I saw the dead small and great stand before God and the books were opened and another book was open which is the book of life and the dead were judged out of those things which were written in the books according to their works.  So guess what? You're going to be judged for your works if you're not saved. If you're not covered by the blood of Jesus Christ, you'll be judged by your works on this earth and you're going to come up in debt as we talked about this morning.   They're being brought out of hell and they're being brought before this great white throne. You don't think they're going to be down on their knees begging? Don't put me back there. Bowing their knee, confessing that Jesus Christ is Lord, everything. Don't put me back there.  But at that moment between verse number 13 and verse number 14 is when Philippians 2 verse 10 and 11 will be fulfilled they will beg for mercy. They will bow that knee and look they deserve that they should confess that Jesus Christ is Lord and they should bend their knee but it's too late for them at that point to avoid the eternal suffering. Look you say it's harsh. Look the punishment fits the crime is the bottom line. That's what the Bible says. I mean so that brings us to us. The punishment look if you sit there and you say the punishment sounds so serious but that's why our job is so serious because the punishment is that serious. I mean that I mean that really puts the duty of the soul winner in perspective doesn't it? Really puts it in some context doesn't it? So those of you who are like I think I'll go soul winning one day maybe I'll give the gospel one day. I mean what in the world? Maybe I'll give the gospel today maybe I won't. I mean what in the world? I mean it is an emergency situation for like everybody.  I mean it really puts the soul winner in perspective. Do you know that if we had 10 talkers out soul winning today we will get more people saved than if we had seven? Do you know that? I mean well let me get specific. I was going to give kind of a tip this morning but let me just get specific. I kind of had a decent conversation with Frank out soul winning today but let me ask you let me ask the men a question. Do you guys like soul winning? So let me ask you know spouse is a question. Let's say we have a spouse who likes to go soul winning and we have a spouse who doesn't. I mean I asked brother Frank do you like to go soul winning and he's like I love soul winning. I mean I know you love soul winning. I mean I love soul winning too. Okay look we all have those days where it's just kind of like I mean there's those days where it's just like man I'm just I'm grinding it out today. You're stressed out you're tired whatever but look in general I love soul winning. There's so many good things about it. I mean there's so many look there's selfish things about it. I like hanging out. It's one of the best times for me to talk with you all. It's one of the best times I have for fellowship to find out you know what what's going on with you. What's going on in your life. I mean it's great that we fellowship all together but I get to know individuals in the church best out soul winning period. It's always been that way. It's always been that way in Sacramento. That's all I met my best friends. That's all I got to know you know the most about people. That's when people can talk you know personally with each other about something that's going on or that they can help each other with. Look it's the best fellowship first of all. You will get you I mean this these are selfish things. This has nothing to do with the person's soul with the door. This is just something God's given me for being there. I mean think of it. There you will you will learn so much about people. You'll become so much you know that my daughter is I'm sorry Ashley. My daughter is an introvert. My daughter is kind of a quiet person. You know that if her mother didn't encourage her and lead her into soul winning you know she never would have done it.  Nothing will give it gives you know it's given her confidence. It's it's I mean it's it's blessed her life.  I mean I told I told Brother Frank I'm like I'm like of course you love it because we're out here hanging out. You're doing what you're supposed to do. You're doing God's work. You're doing the one biggest thing that the Lord wants you to do. Of course you love it. So could you help your spouse love it too. I mean if I love something that's good and the Bible says and then my wife just hates it maybe I should focus on that and I should help there maybe there's a problem there with the my management of the situation and you know we're going to talk about one aspect of that today which is kids and look if I can't be an example to you in this because my kids are older but look we have women in Sacramento that are dragging six seven kids soul winning women and men and no problem no problem it can be done there's a method it can be done and look the bottom line is you need to if if your wife or your hot your wife is having a hard time out soul winning she doesn't like doing it maybe try to make it easier on her maybe take those kids maybe let her go but on her own look I mean if you have kids causing problems and you're trying to listen to somebody give the gospel it's not going to work it's going to be a stressful terrible situation you're not going to enjoy it and it's going to drive you further from it men we need to help out men you need to help your wife you need to help your wife here now to all the non-talkers look I know you know look to all the non-talkers that are out that are soul winners it's great that you're out soul winning but here's the thing we've been here for nine months we just start the church yesterday you know this is an emergency situation you know people are going to hell every single day look there will always be a reason to not do what you are supposed to do I mean if I have seen one thing consistently over and over and over since I started this ministry it is that that there will always be a reason for people to not do what they're supposed to do and guess what turn to mark chapter 16 none of them are good remember last week when we talked about you know taking God's will in vain well here's God's will right here look at mark 16 you probably don't even have to turn there and he said to them go ye into all the world and preach the gospel onto every creature that is God's will for your life right there look that is God's will that you go out and you preach the gospel to every creature and anything that you put in between you and that goal is not God's will it's that simple it is God's will that you go out and preach the gospel and if you say well you know this is going on look that's your will that's fine you make that decision but that's your will don't make your words God's words period the situation is urgent folks look it's it's everlasting all around we're sitting here how long is everlasting you tell the kid today well forever it never ends how long is eternal forever it never ends how long is eternal damnation how long are everlasting chains it's forever it's forever i don't even like thinking about it we all know people who we loved who died unsaved we all know and you know what if you don't become a season soul winner there will be people that you love that will not get saved there's another one so you say i don't i don't give two cents about the people in these neighborhoods well you know what do you care about the people that are not saved in your own family because there will be people in your own family and i mean i get these people all the time that are like they never soul win they're never going to go soul winning i've never seen them soul win one time but every time i see them they're like oh i'm soul winning all over the place give me a break we've all seen the person that comes here for the first time and tries to give the gospel to somebody you have no idea what they're doing they're like just waving the sword around hacking things all over the place they don't know what they're doing but that's what we're supposed to do we're supposed to be here to sharpen each other to become good at this to become proper ambassadors for christ and you know what that's what's happening here and that's what can happen to any of you it's god's will it's god's will for your life it's the will for your life i mean can i be more clear hell is real it's right now it's right around the corner for many people we need to take it seriously let's bow our heads and have a word of prayer dear heavenly father thank you for this church i thank you for this evening um i thank you for all these people war that would take a full day today and just come here to worship you and go out and just put their feet to the pavement lord and just you know go out and just try to get as many people saved as they can what i pray that you just strengthen us as a church and just grow us as a church lord i thank you for um your word and the clear direction that you give us in your word lord that you didn't you're not surprising us with anything you told us everything you told us how it began you told us the beginning and you told us the end and you told us everything in between i pray that you just give us the courage and the strength and the faith to just execute what we're supposed to execute in this tiny little blip that is our life on this earth lord we love you and i thank you and jesus name amen


The picture before you shows horses, men riding them with swords in their hands and shields in their hand.   You can't call it war. And this is what was predominant feature of the Arabs before Islam. Arabs were very, very offensive people. Why were they offensive? There are tremendous reasons for that. We'll talk about few. They were offensive because of ignorance. They had no education. They had left the divine concepts. They had left to pay homage or Ibadat Allah Rabbil Izzat. They had created their own method. Also, ignorance is removed once you have institutions, once you have meetings with the fond people, once you have relations with various kinds of people. These kinds of people, they teach you a lot. But if you remain solely, absolutely, privately at one place among the same people for a prolonged, prolonged, prolonged and prolonged period, ignorance is bound to prevail. And if the ignorance prevails, it develops offensive attitude among the people. And that offensive attitude ultimately leads to nothing but battles and fights. So, it was their constant business. It was a constant step feature in separable part of their society to keep fighting with each other. For example, even if a goat of one tribe had gone to another tribe and they did not hand it over themselves, a small little battle will take place. And that fight was typical fight or battle of those times when the horses, swords, arrows and bows were used. Why it was like that? It was like that because they were no countries. They were no demarcated boundaries for the countries of different nations. They were the same people but they had divided themselves into various tribes, keeping in view their inheritance. And that was the source of problem for everything and for the offensive attitude. You see, what happened was, if there are four tribes, every tribe would consider him to be the best tribe, to be the leading tribe, to be the most honorable, to be the most important ruling. Dominant and there was absolutely no law. How a law can take place or how a law can be framed if there is no country, if there is no government, if there is no nation. Tribals had their own laws. They were traditions.


Hello everyone, welcome to my talk. Today I'm going to talk about foreign function and memory API in Java and state of FFI in general. So, my name is Deepu Keshashidran. I'm the co-lead of J-Hipster. I also created a Nifty dashboard called K-Dash for Kubernetes. I also created the JDL Studio for J-Hipster and I work on a bunch of other open source projects. I'm an open source aficionado and a polyglot developer. I work as a developer advocate at Okta with a focus on DevOps. I also publish frequently about languages and tech on my blog. You can find it on Deepu.tech. Please do follow me on Twitter if you are interested in my content. I have written a book about J-Hipster. If you like this talk, you might like the book as well. So, let's see. What is a foreign function interface? A foreign function interface is the ability to call functions or routines returned in one programming language from another. So, this is generally used to access native functions or programs on the host OS. Most languages provide this feature out of the box in some forms. It is also known by different names in different languages. Most languages use the CC++ calling conventions and natively support calling CC++ functions, especially C functions, which means any language that has C-interop can also kind of work because you can generate C headers from those programs and you can then call them. So, basically, you call routines from another program regardless of the language. So, most modern languages provide this feature in intuitive ways like, for example, Golang, Rust, they all provide very intuitive ways to work with foreign functions. The term originated from CommonList, the term FFI originated from CommonList. So, in Java, we don't call it FFI. And similarly, I think in some other languages there are some different terminologies, but the most commonly known terminology is FFI. And most languages, they default to CC++ calling conventions, as I mentioned. So, back in the days, like previously, or maybe like five, 10 years ago, most of the use cases for FFI were around interacting with legacy applications and accessing host OS features or native libraries, stuff like that. But these days, FFI is becoming more and more unnecessary, especially with the advent of machine learning, deep learning, GPU processing and stuff like that. So, these days we use FFI to interact with legacy applications, of course, to access features not available in the language that you are working on, to use native libraries, to access functions or programs on the host OS, and newer approaches like GPU and CPU offloading. Like, for example, if you want to work with programs like CUDA, OpenCL, OpenGL, Vulkan, Datatex, so that the CUDA and OpenCL are CPU offloading applications, whereas OpenGL, Vulkan, Datatex are GPU programs that you might want to have direct access to. Then there is also multi-precision arithmetic, matrix multiplications, these kind of things are much more efficient when done in a native language, and they are much more performant when accessed in a native language. Then there is deep learning with TensorFlow, CDNN, BLAS, et cetera. There are also use cases like using a specific program or library written in a native language like OpenSSL, V8, the V8 engine from Node.js or Chrome, SQLite or integrating Python interpreter in your application, et cetera. So there are many more use cases for FFI these days. So, first let us look at the brief history of foreign functions in Java. The standard for FFI in Java for a long time is JNI, which is Java native interfaces. And honestly, it's notorious for being problematic. If you're used to other languages like Roscoe or Python, you will probably know how easy and intuitive it is to use FFI in them, and that leaves something to be desired in the Java world because of how convoluted and how complex it is to use JNI. Even to do a small native call using JNI, you would have to do a considerable amount of work, and it could still go wrong and end up being a security issue for the app. The main issues with JNI is its complexity to use and the need to write a C-bridge code manually. This could lead to unsafe code and post-securities. It can also cause performance overhead in some situations because you'd have to write a native code, and we all know the performance and safety of native code is as good as the programmer who is writing it because there is no inherent fail-saves again, writing memory on safe code, and performance, of course, means you have to write performance code in the first place. The performance and memory safety of JNI code depends on the developer, as I mentioned, and hence the mileage may vary. In my opinion, it is high time for the Java world to move away from JNI, but unfortunately, it is still the most performant way to do FFI in Java, if implemented properly, not counting whatever we are gonna see later on. But for the time being in the standard Java libraries, table standard release, even as of JDK 17 or even 18, JNI is the most performant way to do native calls. So the complexity of JNI gave rise to some community-driven libraries that made it at least simpler to do FFI in Java. At least it reduced the complexity and made it easily accessible. JNI is one of them. So it is built on top of JNI, but at least it makes foreign functions easier to use, especially it removes the need to write any C bridging code manually, and hence reduces the chance of some memory safety issues, memory safety issues. It still has the same disadvantages of JNI, and it is slightly slower than JNI in many cases. It is also widely used and battle-tested, so definitely a better option than using JNI directly. So unless your use case demands extreme performance during the most, if you want to get the most performance out of your implementation, then probably consider doing JNI directly. Otherwise, there are alternatives, which uses JNI underneath, but are much more simpler and much more maintainable. So another popular option is Java native runtime, or JNI. And though it's not as widely used or mature as JNI, it's much more modern, and has a much more modern API. It has better performance than JNI, and there are also, I mean, it's much more performant than JNI. So after JNI, JNR is, it's not as performant as JNI, but it's the closest, it's a close second, I would say. And it also has the same advantages like you don't have to write any C bridging code, because it does dynamic binding. It has a modern API performance, as I mentioned, very easy to use, similar interface access for CEC plus plus assembly extra, but also has the disadvantages of JNI, because it's built on top of JNI, and it's also difficult to debug like other options. So that's like what we have currently, that's like stable stuff we have currently. So when it comes to what's next, right? What's the evolution? What's next for foreign functions in Java? That is Project Panama. So Project Panama is the latest Java project aiming to simplify and improve FFI, and as part of this, there are many proposals that's currently being incubated. So let's take a look at some of the active proposals and how it will work, and let's see if we finally get proper native FFI in Java. The first piece of the puzzle is the foreign memory access API. So the foreign memory access API has a few goals. So the main thing is safely and efficiently access foreign memory outside of the Java heap. So a foreign memory in the sense native memory or off heap memory. So that's the primary goal of foreign memory access. It has certain, all these APS have certain standard goals. So consistent API for different types of memory, that is one. So JVM memory safety should not be compromised. So that is one problem with JNI is the memory safety issues because JNI kind of exposes the entire JVM to the native library. And if you end up writing unsafe memory and safe code in the native C binding, you could compromise your entire JVM. So JVM memory safety should not be compromised. Explicit memory de-allocation, that is one goal. And this particular API is designed to interact with different kinds of memory resources, including off heap or native memory. So this was first incubated in JDK 14 as JEP 370. Then it had a second incubator in JDK 15 and third incubator in JDK 16. So currently this is, this is combined as foreign functional memory API. We'll see that a bit later. The second part of the puzzle, which actually makes foreign function calls possible is the foreign linker API. So foreign linker API provides APIs for statically typed pure Java access to native code. So it has goals similar to the previous one. It was also its own goals. So focus on ease of use, flexibility and performance. It has initial support for C interrupt. That means any language that can do C interrupt can also work. So call native code in a DLL, SO or DILIP. So that's how native calls will be made. It can create native function pointer to Java method, which can be passed to code in a native library. So it can do two way communication with a native library. So this was first incubated in JDK 16 and then this was combined with the previous foreign memory access API to become foreign memory and it was combined to become foreign function and memory API. So we'll see that. There is another lesser known part of the Panama project which is the vector API. So vector API is not that not spoken, it's not talked about much, but it's also quite important because it's an API for reliable and performant vector computations. So it is platform agnostic. It has clear and concise API, reliable running compilation performance and grace redegradation. So these are the goals for this particular project. So this was also first incubated in JDK 16. Second incubator in JDK 17. I think I have a typo there, so that should be JDK 17. And third incubator in JDK 18. And currently what we have is a evolution of the foreign linker API and foreign memory access API. They evolved together to become the foreign function and memory API. So it has the same goals and features as the original two, which is ease of use, safety, performance and generality and combining them means they will have concise APIs, shared goals and everything. So this was first incubated in JDK 17, which is the latest LTS release. And the second incubator is planned in JDK 18. And hopefully after the third incubator we'll start getting previews for this and after probably within the next two years or something we could have a stable release with Project Panama featured there. And finally we could get rid of JNI. And last but not the least, there is also an awesome tool called Jextract as part of Project Panama. So Jextract is a simple command line tool. It can generate a Java API from one or more native C headers. It's shipped with the open JDK Panama builds currently. So I would assume that once Project Panama becomes part of JDK and becomes a stable feature, this would also be shipped with the JDK. This makes, Jextract makes working with large C headers a cakewalk. We'll look into a bit more detail about that. So first let's see how foreign function and memory API differs from JNI because that differentiation is important for us to appreciate this. So let's take a very simple example of calling the getPit function from the standard C header like the uni STD C header. As you can see here, there are exactly six steps to make this simple native called using JNI. You start by writing a Java class which declares the native method. Then you use Java C to generate a header, generate a header file and a C class for this Java class that you have written. So the header file at least is auto-generated and you get a stub for the C class. Next, you will implement the C class because this is the C binding button. You have to actually manually implement what you want to do. So if you want to return getPit there, then you have to actually go in and write that code. You have to go in and write return getPit with the proper includes and everything. So you have to actually do that. So also remember like these are Java developers writing C code. So if you're a Java developer, the possibility of you being an expert in C or even you being familiar with C is kind of like 50, 50 maybe? Yeah, depends. It depends on different modules, right? But if you're using JNM, then you are expected to write C code for whatever functionality that you are gonna do. Which means you also have access to the entire JVM via the JNM variable. If you look at the generated C class here, you can see that there is JNM pointer for the entire JVM environment being passed to your native code. So you can basically do whatever you want here. You can probably go in and corrupt JVM memory. You can compromise the JVM security. Lots of possibilities, fun, right? So imagine being a Java developer without much experience in writing C code and being handed this entire memory pointer and you doing something, because even the most experienced C developers still cause enough CVEs because of the nature of C. C is inherently unsafe language. It's not a memory safe language. So there is no memory safety. So you are responsible for ensuring memory safety, which is the worst thing I would say because depending on humans to ensure memory safety of a computer program is the worst thing you could do. Because that is kind of like all the CVEs we have like every other day because of a memory safety issue talks to that. So I don't think you could have a counterpoint that trusting people to write memory safe code is a good idea because 70% of all security vulnerabilities in our industries because of memory safety issues which is caused by people writing unsafe code in a language like C, C++. So imagine having that kind of responsibility, I mean giving that kind of responsibility to a Java developer and imagine the pressure. So yeah, so fun and probably security nightmare. So once you navigate the native or C code part, you would have to compile the C code into platform specific dynamic library. So that's another step of fun, figuring out what format is required, compiling it, getting it right and everything. So then you have to figure out where to place this library to make it work on that particular platform and probably also pray that all this works without exposing your entire app to some sort of security issue. So next you load this into the Java class that you wrote in the first step and then run the class and hopefully it works. So this was just to get a simple get bit call. So this was what you had to do to get a simple get bit call to work, right? So imagine writing something like an OpenGL interface or GPU offloading or using CUDA in your Java program with JNA. So imagine that how complex this has to be. Now let's see how we can do the same using the Panama APIs. So we can do this in two ways. The first approach would be by manually looking up and loading the native function. Second approach would be using the Jextract tool. So in the first case, you just write some Java code using C linker, which is part of the foreign linker API. You look up the native method and you move it. It's as simple as that. So you can also do more complex stuff like working with native memory, two-way communication with the native code, et cetera, all this way. With this approach, you're actually using the foreign linker API and foreign memory API directly to do native calls and to manage native memory. So this is not the most efficient way though. If you use Jextract, this entire code block that you had to write on the left hand, that you see on the left hand side can be reduced to one line of code. So basically you have to run Jextract against the header that you want to use, and it will create Java API or Java access points for that entire native library or that header. It will create access points with Java interfaces and everything, methods and everything, and then you just call the method. So it's as simple as that. With Jextract, you're getting a pure Java API for the native program, and you won't have to write any native code or touch any header files to do anything. The only thing you have to do is find the file, run Jextract, call the method, that's it. So isn't that awesome? So this is the kind of FFI experience that you get in languages like Go and Rust. So with Project Panama, finally in Java, we have a similar experience. So you don't have to actually do a lot of manual binding. You don't have to worry too much about memory safety because the tool is taking care of generating the bindings and all those things. You don't have to write any native code yourself. And finally, you can be a Java developer who only writes Java code, if that's your thing. So for simple native calls, where you're just calling one method or something, then the first approach might do the trick. You could get away with that. But for any complex use cases, the second approach using Jextract is much more superior, much more efficient. Otherwise, you'll end up with a lot of boilerplate code. And there's also another reason for that. I'll come to that. So I actually ran some benchmarks to compare performance of JNI and Panami API. You can also find, I think there's a GitHub repository where there is benchmarks with JNI, JNR, JNA, Panama, and a bunch of like one or two other libraries. There's a similar benchmark there. You could also check that out, which, and the results are quite similar. So what I did was, yes, okay. So you can actually find the repository. I have given the link in this slide. You can find the GitHub repository where I have uploaded the code for this. It's a simple benchmark. It uses the GetPid example that we saw. So I use both the JNR version, Panama using Jextract version, and Panama using direct seal linker down calls. So I ran the benchmarks, and this is the result. So it seems like using Panama APIs with Jextract is as performant as JNI. And this was done on OpenJDK 17 Panama build. So the Panama, I mean, foreign linker and memory access API with Jextract is as performant as JNR. And in some cases, it was even slightly more performant. And in some cases, JNR was like, so on average, it's as performant as JNR. And this is the incubator state. So I'm expecting this to become much more performant than JNR once it has reached stable state. However, using Panama APIs without Jextract seems to be quite slow compared to JNR. That's probably due to the dynamic loading of native methods and stuff like that, because Jextract analyzes your C header, passes it and generates optimal APIs and everything. Whereas if you're writing your own code, probably it's not as performant as a generated one. But I'm not an expert in the Jextract area or the native memory access area. So if anyone knows what is the actual reason for this huge difference? Because it's not a small difference. It's a considerable difference. First, I thought it could be a one-time thing. So I ran the benchmark like 10, 15 times and with different configurations, different setups. I tried a few different variations of the code with having a static linker, with creating the linker each time using a stateful... I mean like a singleton and everything. But regardless of what I tried, the result was almost the same all the time. So I don't know what exactly causes this huge performance drop when using the APIs directly without Jextract. But regardless, in realistic use cases, I think the way to go would be to use Jextract because I don't think in a realistic use case. Say for example, in your Java program, if you're gonna do any CPU work or if you're gonna access OpenGL to do some say 3D, render some 3D model, I don't think you're gonna do that using direct APIs. I think you will be using Jextract to get the Java API for OpenGL and then you'll be working with that. And I would expect that to be the default way of using the Panama APIs going forward. Like once it's stable, I would expect that to be the default way because that is much more efficient and as you can see, it's also much more performant. So the only cases I could think of where you would actually use the APIs directly would be maybe, yeah, maybe if you're just doing a one-off call, like the get bit call, or if you're just accessing one method from some library in a one-off thing, then maybe it would make sense to use that because then you don't have to worry about using Jextract to create all the, Java API because this is also not, so because FFI is not platform-independent. It is platform-dependent. So if you want your Java program to work across, say Unix and Windows, then you'd have to compel against both the versions of the header and you'd have to provide both libraries and then you'd have to write code to detect OS and work across, et cetera, et cetera. So maybe for a one-off call, using direct APIs might be much more simpler to handle because you don't have to worry about all these natives, like all these binaries and stuff, whereas for an actual use case involving a large library, then Jextract would be the way to go. So are we there yet? So in terms of FFI, comparing to a modern language like Go or Rust. I would say we are getting there. The Panamai APIs can already work with languages that are C and R. That means you can work with C, C++, Fortran, Rust, etc. I already tried creating, I already tried out calling Rust functions from Java using FFI and works fabulously. So performance is on par with JNI. Hopefully it will be improved further. So Jextract makes things really easy in terms of using native lips. The only challenge I had when I started using this and when I started exploring this was figuring out what exact Jextract command to run because if your header file has dependencies, then you have to provide those command line parameters and everything. So figuring out that and getting the right Jextract command against the right header file was the most challenging thing. Then the next challenging thing was, of course, navigating documentation because at the incubator stage, I think most of the documentation you will find are quite outdated. I don't know why because most documentation I found even on the official Panama repository, the official Oracle pages, JDK pages, they were all quite outdated. So you'd have to read Java docs here and there, try to figure out what changed because this is an incubating API. So there'll be a lot of changes in API, a lot of deprecations, like a lot of breaking changes without warnings and stuff. So you'd have to navigate that. So documentation needs a huge improvement. Even the official examples you will find, most of them are quite outdated. If you try them with the current JDK versions, it will not work. At least I couldn't get any of them to work as cities. I had to make a lot of changes to even make some of them work. But it's an incubating feature. So this is all expected, I would say. And of course, you can already access native or off-heap memory. You can call, make JNA calls. And this is much more memory safe and less brittle than JNA. So finally, here are some links that I would recommend. If you want to learn more about Panama APIs. And with that, I would say goodbye. So thank you, folks. I hope the talk was worth your time and thank you for attending. You can reach out to me via Twitter and do check out my website for more content. Thank you, bye.


I am so happy to be part of this O'Reilly event. I've been a huge fan of O'Reilly as a publisher.  I've been a huge fan. When I set out to write this book a year and a half ago, first of all, I'd never written a book before, so that was a crazy idea. The idea that I could pitch this to O'Reilly, and they'd pay attention, was even crazier. Yet here we are, and I can't quite believe it. Thank you so much for coming, and thank you to O'Reilly for trusting in me to write this book. I want to make a small correction for the record, when the Canadian Senate said that I literally wrote the book on Bitcoin. That just showed that it also didn't understand open source. Because I didn't literally write the book on Bitcoin. I wrote the Bitcoin book with the community support, more than 150 contributors. The entire book was written on GitHub as an open source project, thanks to O'Reilly's ability to understand the value of that kind of approach. It's been released as an open source book. It's available under a Creative Commons license, and for many people that means that they can read this book for free, and understand this technology without paying a dime, and that's really important, because this technology is not just about the developed world. It's very much about the developing world, and we need thousands and thousands of developers to learn this stuff. And so thank you for helping me write this book. If you were involved, I really appreciate it. All right, let's get started.  I want to talk about smart networks. I want to talk about the value of open source when it meets finance, and I want to talk about the festival of the commons. So first of all, Bitcoin. Is it a technology? Is it a network? Is it a currency? It's all of the above, even when we end up with a subject for the conference, which is kind of hedging, you know, Bitcoin and the blockchain. If one works, maybe the other will work. Let's try both, see what happens. Ten years from now, if one of them has failed spectacularly, we have the other one in the title. We got it right. Have you noticed that trend?  It's all just a whole pile of BS. It's a Ponzi scheme. It's a crazy libertarian dream.  Despite the dozens of obituaries written about Bitcoin, it refused to die. So the message, this is all BS and it's going away, started sounding not so credible. So now we've got this triangulation of the message. The media is refining the message. They're saying, well, yeah, the currency is a joke, but the technology, I don't know, maybe there's something there. Give it two more years of relentless anomaly refusing to die, and maybe they'll start paying attention to this, particularly if it's gobbling up a couple of billion-dollar industries and really disrupting the competitive landscape. So Bitcoin is a currency, Bitcoin is a network, Bitcoin is a technology, and you can't separate these things. A consensus network that bases its value on the currency does not work without the currency. You can't just do the blockchain without the valuable currency behind it, and the currency doesn't work without the network. And so Bitcoin in the end is both. It is the convergence of a participatory consensus network and a global, borderless currency that is fungible and fast and secure. But I want to talk a bit about the network and focus on one concept and make some parallels to the early Internet. Bitcoin is not a smart network.     It doesn't offer a complete range of financial services and products. It doesn't have automation and incredible features built in.  And that is one of its strongest and most amazing features. Because when you design networks, when you architect network systems, one of the most fundamental choices is this.   Now, you're probably familiar with some smart networks. I'll give you an example. The phone network was a very smart network. The phone at the end of that network was a very dumb device. If you had a pulse-dialing phone, that thing had maybe four electronic components inside it. And it was basically a switch on a wire with a speaker attached to it. You could dial by flicking the hook up and down fast enough.  It had no intelligence whatsoever. Everything the phone network did was in the network. Call or ID was a network feature. Call waiting was a network feature. And if you wanted to make the experience better, you had to upgrade the network, but you didn't need to upgrade the device. And that was a critical design decision. Because at that time, the belief was that smart networks are better. Because you can deliver these incredible services just by upgrading the network for everyone. There's one small disadvantage with smart networks. They have to be upgraded from the center out. And innovation occurs at the center by one player and requires permission. And as a result, innovation only happens when a feature is needed by all of the subscribers of the network, when it is compelling enough to disrupt the function of the entire network to upgrade it.   All it can do is move data from point A to point B. It doesn't know what that data is. It can't tell the difference between a Skype call and a web page. It doesn't know if the device on the end is a desktop computer, a mobile phone, a vacuum cleaner, a refrigerator, or a car. It doesn't know if that device is powerful or not. If it can do multimedia or not, it doesn't know. It doesn't care.   And in order to add new applications and innovation, you don't need to change anything in the network. You push the intelligence to the edge. And now an application that only has five users can be implemented, as long as those five users upgrade their devices to implement that application. And the dumb network will transport their data because it doesn't know the difference, and it doesn't care.  Because Bitcoin pushes all of the intelligence at the edge. It doesn't care if the Bitcoin address is the address of a multimillionaire, the address of a central bank, the address of a smart contract, the address of a device, or the address of a human. It doesn't know. It doesn't care if the transaction is carrying lots of money or not so much money at all. It doesn't care if the address is in Kuala Lumpur or downtown New York. It doesn't know. It doesn't care. It moves money from one address to another, based on a simple locking script. And that means that if you want to build a new application on top of Bitcoin, you can upgrade the end devices, and you can build an application. And you don't need to ask for anyone's permission to innovate. Write the app, launch it on your endpoint, and Bitcoin will route it, because it's dumb. And that is the power innovation on the internet. It's innovation without permission. It's innovation without central approval. It's innovation without broad network upgrade. And it means that Bitcoin is not a specific financial network. It's not a financial network for large transactions, or small transactions, or fast transactions, or slow transactions. It's whatever you want to use it for, based on what you do at the endpoint. Now, compare that to the current banking system. The current banking system is built around very smart networks, absolutely entirely controlled, to deliver very specific applications to very dumb endpoints. Even with your most sophisticated online banking, all you can do with your bank is access some HTML that delivers a set of services that they decided they were going to give you, with no APIs, and no ability to run additional applications, and no ability to upgrade, or innovate, or change anything, unless the entire network changes to support your new application. And that network is either a network for large payments, or it's a network for small payments, or it's a network for fast payments, but it's not all of the above. And Bitcoin is all of those things, because it's not discriminating. It's neutral. It doesn't care. It's dumb. The power of pushing intelligence to the edge, of not making decisions in the center, moves the innovation into the hands of its end users, and gives those end users the ability to build applications that are so niche that only a handful of people around the world need them, and they can build those applications without asking for anyone's permission. But there's one more thing that's really unique about Bitcoin, and it's one of the reasons that it continues to survive, and continues to win over the centralized, closed networks of the past. And that is that Bitcoin is open source, open standard, and open network. One of the key concepts in economics is the idea of a tragedy of the commons, which is when you have a common resource that can be consumed without limits by all those who participate until it's depleted and the entire system collapses, a form of market failure called the tragedy of the commons. And the most common example of that is the commons in the old British sense of a large grassy area that you have, a field that everyone can graze their cattle on. And if everybody goes and grazes their cattle with reckless abandon before long, you have a big, muddy pit and no cattle, because everybody overgrazes it until that resource is depleted. Bitcoin doesn't suffer from a tragedy of the commons like most financial networks do. I can't innovate on somebody else's network. When Visa innovates, only Visa wins. When Mastercard innovates, only Mastercard wins. If a feature is deployed on Swift, I don't get it as a consumer. If Bank of America makes something new and snazzy, they do it competitively and at the exclusion of every other bank that didn't implement that feature. Bitcoin is a common resource whose use increases the value of that resource at the exclusion of no one. If a company builds a new feature that can be used on Bitcoin under open source licenses, that feature can then be used by everyone in the ecosystem. That means that it enriches everybody's use. If a company invests money in Bitcoin, the protocol benefits, but so does everybody else. When they play in the Bitcoin sphere, they get to benefit from everybody else's investment in that space. It returns multiple times. You get this wonderful synergy where each company that invests in this amazing technology makes it better for everybody else. It's not an exclusionary principle, so instead of a tragedy of a commons, you have a festival of the commons. A commons that gets better with the more companies that are using it. Just look at some of the examples. 2014 was supposed to be the worst year in Bitcoin, and that's only if you were paying attention to the price. In 2014, on the Bitcoin network, we saw the deployment of two incredible technologies. The first, multi-sig, which required a tiny change to the core, but then allowed an enormous amount of services and products to be built at the edge. And hierarchical deterministic wallets, which didn't require any changes in the core, and allowed us to have these incredibly complex and rich experiences in the wallet space. The companies that invented and deployed those two features did so in 2012, and we reap the benefits today. And on the back of those two inventions, we saw an entire ecosystem of new products and services. The value invested by one company two years ago blows up and creates an entire range of products in the new industry two years later. And in 2014, during the worst year of Bitcoin, 500 startups received $500 million in investment, generating tens of thousands of jobs, and none of that innovation has come back yet, because they just started. Give us two years. All of the incredible technology advancements we saw in 2014 happened from inventions that were done two years ago and just started reaching broad adoption. Now what happens when you throw 500 companies and 10,000 developers at the problem? Give me two years, and you will see some pretty amazing things in Bitcoin. And that is the advantage of the festival of the commons. So while journalists are writing yet another obituary for the death of Bitcoin, I look at an ecosystem of openness. I look at an ecosystem that is generating jobs in an economy that is mostly dead. I'm looking at an ecosystem that has some of the smartest people I have ever met, creating the most amazing innovations. And the really amazing thing about this is that we all benefit from all of this. We're not really competing against each other. When one Bitcoin company builds something amazing, everybody gets the benefit. Bitcoin gets better for everybody. And as a result, we're seeing a rate of innovation that not only is not slowing down, but is accelerating. It's already at breakneck speed, and it's accelerating. You put an open, decentralized ecosystem with the festival of the commons, open source, open standards, open networking, and the intelligence and innovation pushed all the way to the edge, so the users have control over what they innovate on, and how they invest their time and money and spirit into this technology. Put that against a closed system controlled by a central provider, whose permission you need in order to innovate, and who will only innovate at the exclusion and competition of all of the other companies, and we will crush them. People ask me, well, what happens if Goldman Sachs builds Goldman Sachs coin? I mean, let them build it. If it's really open and decentralized, they just prove the whole point of this, and we can all go home declaring victory. If it's closed and doesn't allow open innovation, it will become stagnant in just a few months, while we continue accelerating ahead with more and more innovation feeding off each other's invention. You cannot stop this. So that's why I'm excited to be in the Bitcoin space. A dumb network that puts all of the intelligence and innovation at the edge so that we can innovate without asking anyone's permission, and we can participate in this incredible festival of the commons. Thank you. So we have a bit of time for Q&A, and I would love to take audience questions. We don't have any microphones, but if you shout your question, I'll try to repeat it for any recorded sessions. Anyone have any questions for me? Yes. What are my thoughts on sidechains? Sidechains is a proposed mechanism for being able to transfer value from one blockchain to another in an automated fashion without having to use a centralized exchange, but instead using the decentralized power of the consensus algorithm on each of the blockchains to achieve a two-way peg. Sidechains show how far we've come from 2009. While in many cases, some of Bitcoin's biggest detractors are looking at Bitcoin as it was in 2009, understanding a third of it and coming up with a list of criticisms, we've built a whole new area of consensus algorithms, new blockchains, new altchains. The innovation is incredible. One of the things I really like about sidechains is the ability to accelerate that innovation. What it does is it allows you to take specific features, perhaps features that would be disruptive, or that would require some upgrades to the common infrastructure, and test those on a sidechain so you could run a beta chain. You could branch and merge features from one chain to another. You can also experiment on a variety of alternative currencies, alternative chains, and alternative applications, while backing them with the reserve value of Bitcoin, Bitcoin as a reserve currency, and by extension its security. So you have a secure basis in Bitcoin, you have a value basis in Bitcoin, you can use that to bootstrap young innovations, applications, and chains. One of the big challenges in this area today is that it is very difficult to bootstrap a robust and resilient blockchain and consensus mechanism. You need miners to come mine for you. And if it's too small, it can be attacked, it can collapse, it can suffer various failures. Bitcoin has done that. Rather than trying to replicate that success, sidechains allow us to build on top of that and leverage it to use other applications and chains. So I'm very excited. So far we've seen a paper, there's a lot of really exciting research, and there's some very smart people working on developing code. I'll reserve further judgment until I can run that code. All right, questions? Yes. Do I have any thoughts on the role of regulators and compliance, and how it can benefit Bitcoin? Yes, I have many thoughts. I have delivered some of those thoughts in less-than-polite terms in other forms. So I'll keep them a bit more circumspect right now. Regulators have failed to protect consumers. Regulators failed to put bankers in jail. Regulators failed to stop fraud and crime on an epic proportions since 2008. We have found out that gold is rigged and markets are rigged, that mortgages were fraudulent and rigged, that entire foreign exchange mechanisms were rigged, and so far no one's gone to jail. The fines that they have charged are less than the profits made from the fraud. That is a license to continue crime. Until regulators start protecting consumers, I don't think they have anything to add to Bitcoin. Bitcoin allows us to do consumer protection by putting control in the hands of the consumers themselves. Bitcoin is consumer protection because privacy is consumer protection. Bitcoin is consumer protection because user control is consumer protection. Regulators are just helping banks avoid competition. As far as I'm concerned, when your press releases are written by the banks you are supposed to be regulating, you should be in jail, too. And that was the mild version, yes. Okay, what do I say to the idea that Bitcoin is essentially a trade-off between either cheap transactions or secure transactions, because eventually the reward runs out and you start only getting reward from miners based on transaction fees? First of all, that doesn't happen for 132 years. And as far as I know, in 132 years we'll be looking at a Bitcoin interplanetary network, and I'm less worried about how we optimize the blockchain today to achieve that. A lot of this is a matter of optimization, and quite honestly, I don't start getting worried about a problem until we start seeing signs of a problem, or even tiny, tiny examples of that problem. Part of my experience comes from reading this kind of concern journalism, I'll call it, to avoid calling it concern trolling. But the idea here is that when I was working on the internet, for example, every year without fail, there was an article that came out that said, Ethernet has hit the limits of physical science and physics and here is proof of why Ethernet cannot exceed 1 megabit. And then next year it was in here is proof of why Ethernet cannot exceed 10 megabits. And a year later it was a gigabit, and a year after that it was 10 gigabits, and every single time there was Ethernets about to die. We've seen that with IP that won't possibly scale, we're going to run out of IP addresses, and the whole thing will collapse. Search that won't, can't possibly scale, we're going to run out of ability to do things, and it will collapse. Storage, you know, all of these doom scenarios, they assume that technology is static. They also assume that when you have something of value, there won't be someone to innovate and solve the problem. So to all of these problems, what I see is opportunity. In 1995, every article about the internet said that it would fail because you could never find anything. And some people saw that as a problem, and they did a lot of rending and pulling their hair out, and crying that the internet would die, and a couple of guys formed Google and decided to solve that problem. Now, they've got a 400 billion industry, so you can either look at it as a problem, or you can say, if I solve this, what kind of value can I generate in this industry? And so far, I have not seen any problems in Bitcoin that are unsolvable. These problems are technical, but they are solvable. The concerns are mostly academic, and the network is incredibly dynamic and resilient. So, in summary, I'm not worried about optimization. I'm not worried about scaling. For every one of these problems, I've seen ten proposed solutions long before these problems are actually real. And I think we're going to see Bitcoin continue to scale, continue to grow, and to adapt to these challenges without any difficulty. Thank you. Let me take one last question. Sorry, I can't see. Oh, there you go. Academic research. Yes, absolutely. I see a role for academic research. In fact, there is an online repository of academic papers written for Bitcoin. And in 2013, I think there were only like four or five. And in 2014, there were about 150 papers. I know of dozens of people that are doing their PhDs in Bitcoin. As far as I'm concerned, around Bitcoin, we will not only see academic research in consensus algorithms and distributed computing, I see entirely new scientific disciplines arising out of Bitcoin. Think of it this way. Today, if you want to do macroeconomics, you can study economies on a six-month X-post facto statistical approximation. With a blockchain, you can do computational macroeconomics in real-time on real data. Today, if you want to study the activities of an economy, or you can want to study the activities of an industry sector or a specific company, for microeconomics, again, you can only do it X-post facto six months later with a statistical approximation. And on the blockchain, you can do computational macroeconomics in real-time. Big data analytics on the blockchain is an enormous area for study. For the first time, we can do things as humans where we can look at the economic activity of very, very large populations in the aggregate, and mostly anonymous, which is actually a good protection, because you can't easily de-anonymize this data. And at the same time, you can gain enormous value. So, yes, academic research in Bitcoin is great, and most importantly, not only is it happening, but I expect new scientific disciplines to arise out of this incredible invention. Thank you. I think we have time for one more. If anybody has another question. Yes. The title of my next book. I'm not sure yet, but I'm thinking the blockchain design pattern. I want to talk about the use of the blockchain design pattern as a basis for building a variety of applications. So, it's slightly different from my first book, but really an extension. I found out something recently. My sister had a baby. It was a wonderful experience for me as an uncle, first-time uncle. And she told me right before that she absolutely hated this experience. She hated it. She really, really suffered through the whole thing. And then two minutes after the baby was born, she was like, you know, I'd like to have another baby. And I've heard that that's a common experience for pregnancy.  You think, why am I doing this? This is absolutely horrible. I'd never do this again until one second after the baby's born. And then you go, yeah, let's have another. That's how I feel about writing books.  It was very, very difficult. I won't, of course, compare it to childbirth. That is really marathon endurance and amazing. But it was really difficult. And when I was doing that, I never wanted to even think about writing another book ever again in my life. And the day it hit the publisher, I was like, hey, maybe I should write another book. So thank you so much for your support. Thank you so much for coming. A couple of quick notes. There is also a great video series. The gentleman who introduced me, Lorne, has done a great video series on O'Reilly, which is the video training series called Bitcoin and the Blockchain. If you're interested, you can find that on O'Reilly.com. Also tonight at 7 p.m. at the Internet Archive, the San Francisco Bitcoin Meetup Group is doing a social gathering. And if you like coming to Bitcoin conferences, one of the most important things for me is meeting people in the Bitcoin community. Bitcoin meetups are one of the most vibrant aspects of this community. It is a wonderful space to meet other people who are passionate about this technology. Check out the Bitcoin social tonight at 7 p.m. at the Internet Archive. And thank you so much.