All About Blockchain

Hackers build unique apps on blockchain | Nathan Nichols

September 15, 2020 The UBRI Podcast from Ripple Season 1 Episode 4
All About Blockchain
Hackers build unique apps on blockchain | Nathan Nichols
Show Notes Transcript

Q Have an idea to solve a unique challenge?
A Build a demo on blockchain

SDKs (Software Development Kits) are open source tools available to developers, students, and anyone who wants to learn to build prototypes for their ideas.  

Nathan gives real life advise on how to get plugged into blockchain, describes the cool  use cases that landed him a job in the industry and sheds light on the impact it will have on our futures.

Lauren Weymouth (00:44):

Today's scholar is a recent computer engineering graduate of University of Kansas. Nathan Nichols. Welcome to our show.

Nathan Nichols (00:49):

Thank you for having me, Lauren. I'm excited to get to chat a little bit about Blockchain and one I'm interested in and what I've been doing for the past couple of years at the University of Kansas.

Lauren Weymouth (00:59):

Yes. Tell us a little bit about your background and how as a computer engineer, you first got involved in Blockchain.

Nathan Nichols (01:04):

After my freshman year of college, this would be 2018, I did not have a software internship as a number of my friends did, and I was friendly with or knew the Assistant Dean of the School of Engineering, who knew a KU medical school student looking for a couple of software engineers to work on a project. It was essentially using smart contracts and the Ethereum network to track different grants and funding for research projects. It was super interesting and I kind of realized that there was this whole area of the field that was super interesting and no one really talked about and could very well have a huge impact on the future of my field and our world.

Lauren Weymouth (
01:55):

Wow. Does the medical school now use that tracking program?

Nathan Nichols (01:59):

No, we had a finished project, but we never actually got it deployed, but it kind of served as my entry point for this technology and learning a little more about it. What did come out of it was I met a couple students who were all interested in Blockchain technologies and we together co-founded the KU Blockchain Institute, which is a business school organization at KU, centered around Blockchain education and resources for students. 

Lauren Weymouth (02:31):

Okay. You're a sophomore in college, you have your first experience building on the Ethereum network and you joined or helped found a Blockchain club of fellow students who were very interested in the technology. How else did you learn and increase your skills in Blockchain at that point? 

Nathan Nichols (02:46):

The internet, just stack overflow for development and documentation. There's tons and tons of information and tutorials on YouTube. I already knew how to program decently well at that point. A lot of it was just refining my skills for a specific technology. Google scholar is great and Google itself is great. There are tons of blogs and posts about different aspects of pretty much anything you could want to read about.

Lauren Weymouth (03:13):

That's great. Did you have a chance to take any courses at the university?

Nathan Nichols (03:16):

The University of Kansas doesn't actually offer any Blockchain specific classes. I did have the opportunity to take a cryptography class in the mathematics department at KU, and it was like 600 level math class. And it was absolutely brutal. It was totally different from anything I had experienced in the engineering school, but it was super interesting and very well taught and I did learn a lot.

Lauren Weymouth (
03:43):

What was your big takeaway from that class?

Nathan Nichols (03:45): 

Proofs are totally different from literally anything else in any other department. I thought I would have an edge because I like taking all these computer science classes and engineering classes. Totally different things. Very helpful for programming. It improves your programming abilities and your ability to think about problems, but proofs are a totally different thing. animal from anything we learn or do in computer science or engineering. I thought I would have an edge going in having taken a bunch of computer science classes, but math is very, very different once you get above like math two or 300.

Lauren Weymouth (04:15):

Sure. What was the value in taking their cryptography course?

Nathan Nichols (
04:18):

The value in it for me at least is that it's a totally different way of thinking than most of the thinking we're taught in ... The value added in it for me is that math is just an entirely different way of thinking than engineering and it really does improve how you think about programming too.

Lauren Weymouth (04:30):

And proofs.

Nathan Nichols (04:32):

And proofs. And proofs, yes. it was genuinely very interesting and very transferable to the work I hope to be doing.

Lauren Weymouth (024:38):

Well. That's a perfect segue. I think we're all really excited to hear about the work you've been doing with other developers, identifying problems, real life problems that could be solved using blockchain technology.

Nathan Nichols (04:56):

Sounds good.  I personally really love hackathons. One, it's a chance to be competitive and really buckle down and work on a team. You're just building a proof of concept that just has to work and you just have to make it work. You don't have to worry about scalability or usability. It has to be pretty and it has to work and it has to solve unique problems. You get to think about solutions to different problems. Take, for example, the first project I'm going to talk about is called xStudy, but it's with an X like the spring SDK, because we use the spring SDK. Essentially, what it was is video chatting, I host a video chat session as a tutor, and I get to pick how much I want to charge per hour. Then people who are looking to be tutored in whatever subject I'm teaching can join and they pay me every three seconds for the time spent in my room. Essentially, the problem we to solve with this is that current models of internet tutoring are basically just I pay for someone to do my homework. Look at Chegg. Chegg in 98% of cases is just, "I have this problem. I'm going to paste it. I'm going to ask it on their platform and that's one of my 10 or 20, or how many ever asks I paid for this semester, this month." Then someone answers it. I write down their answer. I don't actually learn anything as a student and I just basically paid for cheating, like cheating on my homework.

Lauren Weymouth (06:33):

Wait. This is new for me. I didn't have Chegg when I was going through school. How many students are using this kind of tech?

Nathan Nichols (06:39):

I don't really know. It's the thing. It's the academic tutoring platform, I guess. I've never really used it so I don't really know exactly what's going on, but I have talked to some of my assorted friends about it. Essentially, the drawbacks are, as a student, you don't really learn all that much. There's not a lot of dynamic interaction between the person who's providing the information and the person who needs to be taught that information. Our solution with xStudy is I'm a tutor. I'm really good at physics or something like that. I host a session. I give my public key, my wallet address to that session and then I denote how much I'm charging per hour or per minute or whatever the denomination is. Then people who are looking to be taught that subject will join my session and load up a wallet in their browser. If I'm charging a hundred XRP per hour, as a tutor, the students who were in my classroom, my virtual classroom are paying me that amount adjusted for a three second interval, for every three second interval they're in my class. If I'm really bad or I am not answering their question, they can just leave and maybe they've paid 20 cents or whatever for the minute they were in the room. But it gives more control to the people as both tutors and the people being taught to control how they learn. It also benefits the students more because they're actually learning. They're in a dynamic environment where they can say, "Hey, hang on, can you re-explain that? I don't quite get that." The tutor can go back and re-explain that and get paid for how many ever minutes there talking.

Lauren Weymouth (08:32):

You were able to create a system of micropayments?

Nathan Nichols (08:35):

Yes. 

Lauren Weymouth (8:36):

Okay. So just to recap, we're going about six months of hearing and learning about a new SDK. You were able to start doing hackathons which are contests and which you told us are judged on whether you're creating something useful, it works, and it's pretty. Did you win any of these hackathons?

Nathan Nichols (8:59):

We, at both of these hackathons, we placed. On that note, can talk about micropayments and utilities, which is a pretty interesting use case and it's kind of fun because I got to do a little bit of embedded systems firmware type stuff, reading sensors, but the idea behind that one is, I currently get billed for power every month. Everyone does. That's just how it works. I can't in real time, go see how much power my house is consuming or my apartment is consuming or how much power I'm using on the heating. What we were doing is essentially I can in real time monitor how much power I'm using on whatever component I'm looking at and then also settle in real time for the power being used on that component. So I have an outlet, our demo was an outlet and a current sensor on that outlet. And so essentially when you'd plug something in, you'd see your power spike on the web app we developed for it. And you would also see in your browser wallet on the web app, your account's XRP decrease as you pay for the power being consumed by that sensor.

Lauren Weymouth (09:59):

 All right. So this time you're talking about micropayments, but for utilities and it's almost as if you're putting the power in the consumer's hands because not only can they incrementally see what they're using, they can be educated on how what they're using, what they're being instantly charged for.

Nathan Nichols (10:13):

Yeah. this is another really great thing about hackathons, is I can extrapolate on my ideas without being required to realistically implement that functionality. So one of the things we were pitching and really excited about with the Cryptility demo is the possibility for getting paid for a net positive power production. So say I have solar panels on my roof and I actually produce more energy than my house requires. The grid can pay me for the energy I'm producing, which would be super cool, also super hard to implement. So we just talked about that one as possible extensions, but that would be super interesting.

Lauren Weymouth (10:52):

What was the reception on that one from the judges?

Nathan Nichols (10:55):

So generally our demos get pretty good reception because they work in the ways they have to work for it to be a good demo. "Okay, so here's an idea. It's a little bit out there. It's not something super realistic at the moment, at least for a business idea, but we have this really bare bones implementation of this really cool idea that works." And so people are like, "Wow, that's a really cool idea. And you have something to show for it." The key to doing well at hackathons is that idea and how do you come up with something that's unique and forward thinking that you can also kind of sort of throw together in 30 hours?

Lauren Weymouth (11:34):

Got it. So that's the world of hackathons. So the question is, it sounds like you're gaining experience and getting really comfortable with implementing your ideas. When will you take the next step of partnering up with business school students to perhaps take something live, commercialize?

Nathan Nichols (11:50):

Probably not right now. I don't know how evolved the technology would be for us to actually be able to implement something like this at scale. And two, I don't think any of the students who I hack with are good enough at building software at scale. I'm certainly not. I have all of four months of professional software engineering experience. So I think there are a couple of barriers to entry there that are not, how good is your idea? But are based in timing and competency of people involved.

Lauren Weymouth (12:33):

That said, are there any examples currently of applications on the blockchain technology in use that are enterprise commercializable?

Nathan Nichols (12:42):

Outside of cryptocurrency itself, I like to see some of the traceability stuff that's going on, like Walmart is piloting a couple of programs. IBM has their food trace or food trust or something like that where the idea is, I pick up some head of lettuce off the shelf. I, as the consumer can see where that came from, if it's organic, if it's non-GMO and also Walmart, if some disease breaks out or if there's another E.coli Infection on some product can be like, "Okay, so it originated here and we need to pull these exact 10,000 pounds of food and we don't have to worry about it after that." Also things with identity are cool like verifying your credentials. Like if instead of sending someone my transcript, I could just be like, "Hey, here is my public key. Go check out that I actually did this and I can verify it later."

Lauren Weymouth (13:38):

 I think those examples are poignant. And I think they are things that people may have read about, but it's good to know that these are things that we're all thinking about. It kind of leads me to the next question of where do you think blockchain is going? What's the future of blockchain?

Nathan Nichols (13:50):

I think that this is kind of a weird situation where the kind of pioneering example of blockchain technology is cryptocurrency. And so, you kind of get the use case before you get the technology. So, I don't know exactly where any of this is going. But being able to mathematically verify your data is a very high potential thing for a bunch of different industries. So, I'm optimistic, personally, 

Lauren Weymouth (14:20):

Fair enough. Well, you sought out an internship this summer in blockchain. Tell us about the work that you're doing day to day.

Nathan Nichols (14:26):

So, day to day, I am working on the Xpring team as a software engineering intern. Currently, I'm working on one of the open source libraries from 2015. So, eliminating some tech debt, getting it up to modern standards, and then building probably some form of demo with it

Lauren Weymouth (14:45):

Got it. Now I haven't talked about Xpring on the podcast yet. Maybe you can tell us a few words about what Spring is doing.

Nathan Nichols (14:50):

So, what Xpring does is they publish different SDKs, which are software development kits for interacting with the XRP Ledger, trying to get other developers to develop on top of our core technologies.

Lauren Weymouth (15:05):

Now, is this exciting for developers? This sounds like it's all open source and it's more tools being published. Does this make developers, as yourself, happy?

Nathan Nichols (15:13):

Yeah. Absolutely. And it's a lot easier to use the Spring SDK, which was published specifically targeting developers trying to get kind of the base functionality down in as few lines of code as possible. It's a lot easier to use that than to set up a web socket that talks directly to the XRP Ledger, and then send it a bunch of different information, and then parcel information you get. And it's just much more streamlined using the SDKs.

Lauren Weymouth (15:42):

So, before you graduated, you were competing in hackathons. And now, you're interning for Xpring. What are some other cool devs that you've seen built, other apps on the XRP Ledger that you really admired?

Nathan Nichols (15:52):

One of the cool ones was at Tech KU, was a team built like online bounties using escrow,   like stack overflow, or Yahoo Answers, where someone can post a question and then put money in escrow saying, whoever answers this question sufficiently, however you define sufficiently, gets the money that's now in escrow. And that's super cool.
Another one we had the idea of for kind of, but is a little too much to actually take on in a hackathon is, instead of paying for cellular data at the beginning or end of the month with some quota of you can use five gigabytes I pay in real time with whatever cellular tower I'm using based on a going rate. And so, the cellular provider is happy because they can adjust rates based on the levels of traffic you get. I'm happy because I get to decide which cellular tower or the algorithm gets to decide which cellular tower I am on. And I can optimize based on how cheap the data is, how strong the connection is, or any number of things. it's super cool for a demo. If I could be streaming a YouTube video and hooked up to some hotspot there and a hotspot there and it kind of makes requests and streams videos through either hotspot, depending on the cost of data.

Lauren Weymouth (17:20):

Yeah. I mean, real time payments for cell phone use does sound like a really ambitious project. But, if the team could actually crack that, the market is massive.

Nathan Nichols (17:30):

Yeah. Yeah. The idea of being kind of like Google Fi, but using micropayments to settle in real time.  one of our hackathon teammates is half Russian. And so, his mom's side of the family lives in Russia. So his mom's side of the family lives in Russia, and they go back to visit all the time and he forgot to contact his phone provider to allow international telephone calls. And so he was essentially without his phone for the week or two that they were in Russia. So that also gives you interoperability on different cellular networks. So as long as they have some form of ability to receive payment in real time, I can hook up to whatever tower I want and pay that tower for the data they are sending through that tower.

 Lauren Weymouth (18:14):

That does sound awesome. What advice would you give to a freshman computer engineer coming into school that was interested in getting involved in blockchain?

Nathan Nichols (18:21):

I don't know if I'm the person to ask that,

Lauren Weymouth (18:24):

 I would have thought you'd say, "Just start hacking. Grab a bunch of friends and just start-"

Nathan Nichols (18:28):

Yeah. Yeah. That's good. That's good advice. Hackathons are, well, one good to have on your GitHub. I don't really have that many personal projects or stuff I'm working on. Most of the time when I do a personal project, it's just messing around. Let's check out this technology. Let's see what this does. So it's a nice cohesive way to put things on your resume and your GitHub. So that is good advice. 

Lauren Weymouth (18:50):

 I'm looking at it from a standpoint of, if we're looking to lower the barriers to people entering the field, and there are still challenges in the field, right? We need it to be more scalable, better privacy, better security, more interoperability. And so as we're looking to solve all these challenges, we're looking for more educated students to get involved. What do we have to do to get them interested?

Nathan Nichols (19:10):

Go watch some of David Schwartz's talks at different blockchain events on YouTube or some of his talks are just him sitting in his office. Super interesting. Lots of good kind of ideas going forward. Crypto Twitter is a big thing. I'm not a big Twitter person, but I've been told by people who are big Twitter people that Crypto Twitter is very real and everyone seems super nice and happy to help.  definitely looking into like different SDKs is big. Try out, PayID. build something on the XRP Ledger using Xpring or go read into micropayments or go read into PayID and then come up with some cool little use case and go Hackathon with it, Also networking is big deal. Go to conferences. Get to know your advisor. Add people on LinkedIn. Everyone on LinkedIn I've reached out to has been super nice or ghosted me. And I reach out with a DM and say, "Hey, I'm super interested in this" and then you just go back and forth about that via LinkedIn DMs for a little bit and you learn a couple of new things and you have a new LinkedIn connection.

Lauren Weymouth (20:12):

Sounds like you had more advice than you thought you would have.

Nathan Nichols (20:14):

Yeah, All right.

 Lauren Weymouth (20:16):

So where do we want to send our listeners to find out more about everything we've talked about today?

Nathan Nichols (20:21):

If you want to check out the Hackathon projects, we can link my dev post in the chat. You can check out my GitHub or my personal website. If you're looking into the technical side of things, definitely the XRP Ledger documentation is great and has all sorts of different tools for getting started with development. Look into the Xpring SDK. It has all sorts of stuff for PayID and Interledger. And on the non-technical side, there are lots of great YouTube videos. For me, that's always better than reading about different things. I tend to stay engaged better listening to people talk.

Lauren Weymouth (20
:49):

Nathan, thank you for being here with us today and for doing the pioneering you're doing. I know it's early days in blockchain and it takes people like you that are curious and interested in trying new tech and getting involved and thank you for being willing to inspire more people.

Nathan Nichols (21:02):

Yeah. Thank you for having me, Lauren. This was really fun.

Lauren Weymouth (21:05): 

Well, it's a pleasure hosting you on Uber's podcast all about blockchain and listeners. Thank you for tuning in. If you have any questions about this episode or any feedback for new episodes, please reach out to ubri@ ripple.com.