#5 - The Summer of Bitcoin Experience
Summer of Bitcoin 2023 details, chat with SOB 2022 intern Aditya Sharma on his bitcoin dev journey, and best bitcoin jobs for freshers!
Hello Summer of Bitcoiner!
Summer of Bitcoin 2023 applications are now LIVE! We are back with yet another year of a global, online summer internship program focused on bitcoin open-source development and design.
How does it work?
Apply to a developer or designer track
Learn how bitcoin works & submit a project proposal
Contribute to a bitcoin open-source project under guidance of mentors
Get a job referral in bitcoin industry
PROGRAM TRACKS:
1. Developer Track
Choose the developer track if you love to code and want to contribute to bitcoin open-source projects.
2. Designer Track
Choose the designer track if you want to design beautiful user experiences for open-source bitcoin products and services.
PROGRAM TIMELINE:
January 15 - April 1, 2023 - Application Period and Screening
*We recommend that interested students apply as early as possible.
*Applicants will receive assignments & will be expected to complete them within a stipulated time.
This year, Summer of Bitcoin and Saylor Academy have partnered to offer our applicants access to bitcoin courses, as a screening pre-requisite for the Summer of Bitcoin program.
If you’re planning to apply to Summer of Bitcoin 2023 under the 𝗱𝗲𝘀𝗶𝗴𝗻𝗲𝗿 𝘁𝗿𝗮𝗰𝗸, you would be expected to complete certification for the following course:
If you’re planning to apply to Summer of Bitcoin 2023 under the 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝘁𝗿𝗮𝗰𝗸, you would be expected to complete certification for the following courses:
February 15 - April 1, 2023 - Proposal Round
*Project ideas will be published between Feb 15 - Mar 1.
*Submit a project proposal based on a project idea by April 1.
*Applicants will be selected based on the quality of their project proposal.
More details regarding the proposal round here.
Accepted students will be announced on April 15th and the cohort for Summer of Bitcoin 2023 shall begin on May 1st! Start your journey with bitcoin open-source development today!
Are you starting out in bitcoin today and want to learn how to build apps on the bitcoin blockchain?
Build On L2 (BOL2) is a community-led effort by contributors and companies building on Core Lightning and the Liquid Network. It's a space to connect with bitcoin builders, product managers, designers and developers through events and mentorship programs and learn from experts building the future of bitcoin.
Completely free and accessible, each layer-2 protocol has a respective community platform that will host activities including:
Localized hackathons
Virtual networking events
Project bounties and other incentive programs
International builder tournaments
Career development programs
Mentorship and coaching
AMAs with leading developers
Visit buildonl2.com to join the community and learn how to build killer apps on bitcoin.
Interview with Aditya Sharma
We spoke with Aditya Sharma, a 21-year old university student of Indian Institute of Technology (BHU) Varanasi, India and a Summer of Bitcoin intern who contributed to Core Lightning.
He shares advice on getting started with bitcoin open-source development and tips for cracking Summer of Bitcoin.
Listen to the full conversation on Spotify here.
You can also watch a video of the conversation here.
Read the full transcript:
ADI SHANKARA: Hey Aditya. Welcome to the Summer of Bitcoin experience. Good to have you!
ADITYA SHARMA: Hi Adi, excellent presentation by the way.
SHANKARA: Thank you. Alright, so let's start with a bit of your background. Maybe introduce yourself a little bit.
SHARMA: I am Aditya Sharma, a final year metallurgical engineering graduate from IIT BHU. My core interest lies in applied cryptography and bitcoin. I have been two-time mentee in Summer of Bitcoin and I've done one winter internship with Blockstream and currently interning at this startup called Silence Laboratories as a security research intern, and I build authentication systems for promoting self-custody of your coins.
SHANKARA: Awesome. So let's talk about your bitcoin journey right, like how did you stumble down the bitcoin rabbit hole? What was your first interaction? A video or podcast or some blog post you came across? Or maybe even your own life experience? What was your orange pill moment?
SHARMA: So basically, I got orange-pilled through Summer of Bitcoin. While preparing for the application period and interviews, I read the white paper and obviously understood nothing at first. Then I read many articles, I listened to many videos of Andreas Antonopolous, who is a bitcoin advocate, he's very famous. So, that's how I got into the rabbit hole. And then I started discovering the philosophies, the technology behind it, and all of those things. Summer of Bitcoin was my orange pill moment.
SHANKARA: Tell us more about what attracted you to bitcoin, like why do you feel bitcoin is important and worth paying attention to?
SHARMA: So there can be a plethora of reasons why bitcoin is important. From a purely technological standpoint, I feel it's an engineering marvel like if you read the white paper and you see how effectively and efficiently Satoshi has tried to solve these complex problems like double spending, Byzantine General problem through cryptography - it's truly good, not just about the money, if you are a geek and you want to know how things work you should read the white paper and go through it, that's the technological standpoint. Other than this, one more reason why it is important is that there are close to 200 countries on this planet and only a handful of those are considered to be stable economies. Economic collapses happen every other day. Bitcoin gives a choice to the citizens of this country to opt out of the institutional baggage that comes on you without your choice. So these are the two reasons on top of my mind on why bitcoin is important.
SHANKARA: Absolutely. I think your first point, we had a guest lecture, I think it was by Sanket who is a mentor at Summer of Bitcoin.
And he went into the various components of computer science that are basically involved in the bitcoin protocol and the network and in terms of how it runs. And what's fascinating is that it touches each and every single component, subject and topic of computer science, whether it’s computer architecture, cryptography, game theory, and networking so that's sort of the most fascinating aspect of the bitcoin protocol where it has something for every computer science geek out there.
And of course, as we all know, Bitcoin offers the choice to opt out of the corrupt fiat system. And that's probably one of the reasons why it's worth paying attention to.
So tell us about Summer of Bitcoin. When and how did you hear about it? And what was your first impression?
SHARMA: So basically last year, I got this mail from the programming club, that is COPS, Nishant was the secretary, so he sent out the mail if you're interested in some open-source opportunity and I saw the stipend was $2,500 back then. And that's how I knew about Summer of Bitcoin and I immediately visited the website. I had a doubt that this could be something related to the crypto/web3 or all of those buzzwords, but then I saw the people, I saw Chaincode :Labs was providing content for it and I thought it was legit and I should apply.
SHANKARA: Tell us about why did you apply, what made you apply and maybe even a bit about the application process?
SHARMA: That's an interesting story, actually. So I was preparing for GSoC initially for like, since my first year I always wanted to go in GSoC but then the GSoC that I was preparing for also was the season that on-campus companies came and internship season happened. So I dropped the plan and I thought I'll do it later. And some of my close friends got into GSoC and I was like, what the hell did I just do? I could have got in as well. And then after one or two days of it, I got this mail from Summer of Bitcoin and I was like, I won't let this opportunity go and then I applied for it. And that's the main reason why I applied. It seemed cool. It's open source as well.
SHANKARA: Talk to us about the application process, like what did you go through and which organization did you end up choosing? I guess you participated last year in 2021. And you also participated last year in 2022. Tell us about both those experiences?
SHARMA: So in the first year, the application process was bifurcated in three steps. The first one was - you guys gave us a problem like we had to choose the most profitable tree of transactions from the mempool. It's a computer science problem, which is called a constraint knapsack problem, and it's an optimization one, and we had a deadline for four to five days to solve it. So I was on it for four days, and I submitted it and then the second round was, we had to choose an issue from the bitcoin core repository and submit a proposal and essay of what's the way to solve this and how should we go about it? And the third one was the most fun, the on-call interviews with Adam and Caralie.
So this was the application process. This year, I got the offer because of my performance in the first cohort. So fortunately, I didn't have to sit through the rigorous process of getting through.
SHANKARA: That's the other thing, right. So those interns who’ve already participated in Summer of Bitcoin - we love to have them back. And with every subsequent iteration if they're still in university, we always invite them back. And they are free to choose any project that they want to work on without again going through the screening process.
Tell us about the organization you chose to work with and why.
SHARMA: By going through the lectures that were provided along the way, throughout the program, I was also actively looking for the recent developments in the ecosystem. And lightning was the thing that was happening and it's new. It's been around from 2016 or 17. So the first implementation of it is Core Lightning. I was always obviously fascinated by lightning. So that's why I chose lightning. And the people were like, really great - Rusty, Lisa, and Christian Decker, the marvels of this thing, so I chose Core Lightning. Honestly speaking, I would not have chosen this organization, if this would be given a choice before selection because it's a tough one. It's tough to understand Core Lightning. The protocol is still in development and the documentation is not that elaborate. That's how I got into Core Lightning,
SHANKARA: For those who don't know what Lightning is, could you maybe give a brief overview or description of the Lightning Network?
SHARMA: One of the problems with bitcoin is that each transaction takes an average of 10 minutes, which is not really a problem when you will read about the things. So lightning basically solves this by doing the transactions on layer two. It's a p2p network, which makes contracts of transactions and it's instant. It's faster than VISA.
Yeah, that's what Lightning is in layman's terms. It scales bitcoin.
SHANKARA: Absolutely. And to add to that, the bitcoin base layer takes roughly 10 minutes for a transaction to get confirmed. And then of course, maybe it'll take longer, maybe it'll take shorter, but on average, there are blocks in the bitcoin blockchain that get added every 10 minutes and you want to get your transaction confirmed in a certain block. So the base layer acts as a settlement layer.
Whereas the Lightning Network offers peer-to-peer instant transactions, peer-to-peer instant payments between two people. And this transaction happens as a smart contract on the bitcoin blockchain, which allows for instantaneous payments and these could also be micro-payments, few cents, and gets settled instantly as compared to what happens on the base layer. So, do you want to elaborate a bit on the specific project you worked on with Core Lightning?
SHARMA: The Lightning protocol is right now developing as well, it's a very active ecosystem. Right now, the problem with Lightning is the invoices are not static. So, if someone wants to pay me, I have to create a unique invoice for each payment, which is a problem - it is called BOLT11. BOLT is basically the constitution of lightning. It's the protocol specification, which it follows. So my mentor, Rusty proposed a solution to this, which is called BOLT12. So I implemented it in JavaScript, which was the first project that I did in my last Summer of Bitcoin 2021. This year, I got down to the protocol level and implemented static channel backups.
So basically, static channel backups is - lightning database is dynamic, and if you lose your data, there is a risk of losing your funds. So what static channel backups does is it creates a file and the file automatically gets updated with some static information. And in case of complete data loss, you can recover your funds if you have that file with you. So that static channel backups and BOLT12, basically solve the static invoices thing. So now every merchant can have a static QR code for his/her lightning node and users can just scan the code and pay.
SHANKARA: So tell us more about Rusty, your project mentor and how was your experience working with him?
SHARMA: He's a legend. He has helped me a lot like every time I get stuck, I ping him, I irritate him and he sort of helps me every time. He has connected me to Lisa and Christian Decker, who work on Core Lightning as well. It's been over a year since I've been working with these guys, and I couldn't have asked for more. I've learned a lot. Actually, these are the guys who have taught me how things work.
SHANKARA: Awesome. So moving on, beyond Summer of Bitcoin, what are your plans now? Are you currently working on any bitcoin project?
SHARMA: So I am basically scaling up the static channel backup things to peer static backup. I have put up the PR, it would be integrated, hopefully, in this release. I'm also in talks with Conor from Spiral but I can't disclose much about the details of what we're going to do.
And right now, I'm at my current internship and building a key management system for self-custody, which is called social recovery. So, it's purely cryptographic. It will be out on my GitHub in a few weeks, hopefully.
SHANKARA: As a generic advice to developers who are looking to contribute to open-source bitcoin, what do you think are the best resources for anyone who wants to start contributing to open-source bitcoin?
SHARMA: Basically, I feel for contributing to bitcoin - you should obviously gather some prerequisite knowledge - that comes from the white paper. You can also go through a book called Grokking Bitcoin, which is like the simplest explanation of how things work in bitcoin. There's another book called Mastering Bitcoin by Andreas. These two books and the white paper - if you know these things, you're good to go. Then you should decide at what level you want to work. Do you want to work at the protocol level? Do you want to do front-end stuff? Do you want to create API's and all of those things? So you should choose a project - go on the Summer of Bitcoin’s website, choose an organization, choose a project and start contributing. That's it, that's the way to go.
SHANKARA: Awesome. Yeah, we'll definitely mention those books and references in the show notes. Any special tips for folks to crack Summer of Bitcoin?
SHARMA: I feel you should have three skills for successfully cracking Summer of Bitcoin. The first and the foremost is the data structure and algorithm. You should be well versed with DSA in at least one language, and you should be able to solve medium questions on Leetcode. If you're at that stage, then you will comfortably pass the first round, hopefully.
Then you should obviously have the knowledge of Git and GitHub - that's very important, but people neglect this. It's very important to know what's cherry picking, what's rebasing etc. So, you should gather knowledge regarding GitHub. It will make your life easier, trust me. And the third one is you should have a basic idea of what bitcoin is and what it stands for. What is a blockchain? What is the double spending problem, what is proof of work? All of this you can get in the books I have mentioned, like Grokking Bitcoin, Mastering Bitcoin. If you're well versed with these three things, you're good to go. There is a high chance that you will get through. You should obviously choose a project that interests you and have a chat with the contributor. People are really supportive in this ecosystem. They'll reply, they'll help you out.
SHANKARA: Awesome. Thank you so much for sharing about your Summer of Bitcoin experience.
SHARMA: Thank you so much. I'm glad to be here.
JOBS IN BITCOIN
If you are a fresher straight out of college, here are a few exciting job postings we recommend:
Engineering:
Vue.js developer | LNS | Remote | Apply
Lead Open-Source Developer | Saving Satoshi | Remote | Apply
iOS engineer (Lightning, Nostr) | Bookmark.org | Remote | Apply
Backend Engineer (protocol and API development, Lightning, Nostr) | Bookmark.org | Remote | Apply
Software Engineer Intern | Riot Blockchain Inc. | Austin, TX, USA | Apply
React Native Developer | Synonym | Remote | Apply
Mobile Engineer | lipa | Bern, Switzerland | Apply
Frontend Engineer | Vulpem Ventures | Remote | Apply
Lightning Protocol Engineer | Lucent Labs | Austin, TX, USA | Apply
Full Stack Engineer | Lucent Labs | Austin, TX, USA | Apply
Front End Developer | Foreman | United States (Remote) | Apply
Design:
Graphic Design Intern | Riot Blockchain Inc. | Costa Mesa, CA, USA | Apply