<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Krit Grover on Medium]]></title>
        <description><![CDATA[Stories by Krit Grover on Medium]]></description>
        <link>https://medium.com/@kritgrover?source=rss-bfd0716e6d81------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*cfBaj_rAdZ321WAp</url>
            <title>Stories by Krit Grover on Medium</title>
            <link>https://medium.com/@kritgrover?source=rss-bfd0716e6d81------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 23 Jun 2026 17:00:03 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@kritgrover/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[A Brief Overview of Quantum Computing]]></title>
            <link>https://medium.com/@kritgrover/a-brief-overview-of-quantum-computing-8bba954816f2?source=rss-bfd0716e6d81------2</link>
            <guid isPermaLink="false">https://medium.com/p/8bba954816f2</guid>
            <category><![CDATA[security]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[quantum-computing]]></category>
            <category><![CDATA[quantum]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Krit Grover]]></dc:creator>
            <pubDate>Wed, 01 Jan 2025 07:59:05 GMT</pubDate>
            <atom:updated>2025-01-01T07:59:05.191Z</atom:updated>
            <content:encoded><![CDATA[<p>Quantum computing is no longer a distant dream. With Google releasing their latest quantum processor, <strong>Willow</strong>, quantum computing has once again been put back in the spotlight. To put this into perspective,</p><p><em>Willow performed a standard benchmark computation in under </em><strong><em>five minutes</em></strong><em> that would take one of today’s </em><a href="https://www.olcf.ornl.gov/frontier/"><em>fastest supercomputers</em></a><em> </em><strong><em>10 septillion</em></strong><em> </em><strong><em>(that is, 10²⁵) years</em></strong><em>. (</em><a href="https://blog.google/technology/research/google-willow-quantum-chip/"><em>Link to Source</em></a><em>)</em></p><p>But what makes these machines so revolutionary? Let’s see how quantum information works and how quantum computers differ from classical computers. This is a very high level overview of quantum computing, and does not go into the mathematics of the system. So if you just want to learn a thing or two about quantum computing or you come from a non-technical background, this is a good place to start.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Q6CDBf_mCB7laKmwRydEXA.png" /><figcaption>Google’s Quantum Chip — <a href="https://blog.google/technology/research/google-willow-quantum-chip/">Willow</a></figcaption></figure><h3>Classical Computer vs Quantum Computer</h3><p>A quantum computer is not just a ‘faster’ classical computer. They differ in almost every single way — the way they store information, the architecture, and how we can use them. Let’s understand how.</p><p>Classical computers, the ones you use every single day, operate on the binary system. The most fundamental unit of information that is stored on these computers is the ‘<strong>bit</strong>’ and it can be in one of 2 possible states at any given time:<strong> 0 or 1</strong>. All the programs running on your system are essentially just manipulations of these bits to perform various operations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*5S44yMzBaU4i-GOf.jpg" /><figcaption>Source: r/ProgrammerHumor</figcaption></figure><p>On the other hand, quantum computers use principles from quantum mechanics to store and manipulate information. They use what we call a ‘<strong>qubit</strong>’ (short for quantum-bit), which can be in a <strong>superposition </strong>of <strong>both</strong> <strong>0 and 1</strong>. Simply put, the qubit is in a <strong>probabilistic state</strong> of 0 or 1. Which means that before the time of <strong>measurement</strong>, the qubit has some probability of being a 0 and some probability of being a 1. Once measured, the state of the qubit is fixed and cannot be changed after.</p><p>Think of it like the image shown below. A <strong>bit is like switch</strong>: either a 0 or a 1. A <strong>qubit </strong>can be any <strong>point on the sphere</strong> and the closer it is to 0, the higher the probability of it returning a 0 at the time of measurement, and similar with 1.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8fT2bvm9Epjo_swcmV-KIA.jpeg" /></figure><h3>Why Quantum Superposition Matters</h3><p>Imagine you’re in a maze with one or two correct exits and millions of dead ends. In the first case, you explore each path one by one, and after millions of tries, you find the way out — this is how a<strong> classical computer </strong>works.</p><p>In the second case, you have a million other clones of you exploring all the paths at once. One of them will find the exit immediately, giving you the solution much faster. The clones represent your <strong>superposition </strong>states, where you’re effectively in many places at once — just like a <strong>qubit</strong>.</p><p>This unique property to process multiple calculations at once enables quantum computers to solve problems at remarkable speeds. In theory, a single qubit can participate in <strong>millions of operations</strong> simultaneously, making quantum computers incredibly powerful and efficient.</p><h3>What is Measurement?</h3><p><strong>Measurement</strong> is the process of observing the state of a qubit. Once measured, the superposition of the qubit collapses into one definitive state: <strong>0 or 1</strong>.</p><p>Imagine you have a coin that is spinning in the air. While it’s spinning, it’s not just heads or tails — it’s more like both at the same time. This is like a qubit in <strong>superposition</strong>.</p><p>Now, when you catch the coin and look at it, you see either heads or tails. The moment you look, the coin “decides” to be one or the other. This is what happens when we measure a qubit — it stops being in a superposition and “<strong>collapses</strong>” into either 0 or 1.</p><h3>The Spooky Superpower: Entanglement</h3><p>Entanglement is one of the most counterintuitive phenomena in quantum mechanics, often described as “<strong>spooky action at a distance</strong>”, coined by Albert Einstein himself. Entanglement allows qubits to become <strong>connected</strong>, such that the state of one qubit is <strong>directly related</strong> to the state of another, no matter how far apart they are.</p><p>In other words, if one qubit is measured to be in the state 0, the other qubit will instantaneously “<strong>know</strong>” to be in the corresponding entangled state, even if they are separated by vast distances. This connection is not transmitted or mediated by any physical signal; it’s a direct result of the quantum nature of their shared state.</p><p>(The exact math behind how this happens is left out for the sake of this article but I will probably write about it soon. If you have some experience with the Dirac Notation and Linear Algebra, I recommend reading more about the exact details of how this works.)</p><p>Entanglement is critical for many algorithms and protocols, such as:</p><ul><li><strong>Quantum Teleportation</strong>: Transferring quantum states between qubits without physically moving them.</li><li><strong>Error Correction</strong>: Protecting quantum computations from errors caused by noise or decoherence.</li><li><strong>Parallel Processing</strong>: Allowing quantum computers to perform complex calculations across multiple states simultaneously.</li></ul><h3>So What Can They Be Used For?</h3><p>Quantum computing has the potential to revolutionize various fields due to their nature and the applications of quantum mechanics. Some of them include:</p><p><strong>1. Cryptography and Cybersecurity: </strong>Quantum computers can crack the most widely used encryption methods, such as <strong>RSA </strong>and <strong>ECC</strong>. This has led to the development of <strong>post-quantum cryptography</strong>, with the goal of creating encryption methods that are resistant to quantum attacks.</p><p><strong>2. Drug Discovery and Healthcare:</strong> Quantum computers can model <strong>molecular interactions</strong> with unparalleled speed and accuracy. This could accelerate the drug discovery and improve personalized medicine.</p><p><strong>3. Artificial Intelligence and Machine Learning:</strong> Techniques like <strong>quantum support vector machines</strong> and <strong>quantum neural networks</strong> have the potential to transform fields such as natural language processing, image recognition, and autonomous systems.</p><p><strong>4. Climate Modeling and Sustainability:</strong> Quantum computers can model these systems with higher precision than classical computers, helping scientists develop more effective strategies for combating climate change.</p><p><strong>5. Quantum Simulation:</strong> Quantum computers can simulate other quantum systems, such as particles at the subatomic level, far better than classical computers. This has applications in fundamental physics, chemistry, and even understanding the origins of the universe.</p><p>Concepts like <strong>superposition</strong>, <strong>entanglement</strong>, and <strong>quantum parallelism</strong> are just the <strong>tip of the iceberg.</strong> There’s a whole universe of <strong>quantum algorithms, error correction techniques, and quantum communication systems</strong> waiting to be explored. You don’t need to know it all right now — this is a great starting point if you’re just beginning to explore the quantum realm.</p><p>Great job making it this far! What lies ahead is sure to spark your imagination and reshape our future in ways we can only begin to understand.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8bba954816f2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How To Land The MLH Fellowship]]></title>
            <link>https://medium.com/@kritgrover/how-to-land-the-mlh-fellowship-ecd8cf9d471f?source=rss-bfd0716e6d81------2</link>
            <guid isPermaLink="false">https://medium.com/p/ecd8cf9d471f</guid>
            <category><![CDATA[learning-and-development]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[mlh-fellowship]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[mlh]]></category>
            <dc:creator><![CDATA[Krit Grover]]></dc:creator>
            <pubDate>Mon, 29 Jan 2024 19:05:55 GMT</pubDate>
            <atom:updated>2024-01-29T19:05:55.743Z</atom:updated>
            <content:encoded><![CDATA[<p>If you are looking forward to early opportunities to get into the tech industry, the MLH Fellowship is one of the best places to start. In this article I will be going over what it is and how you can become a MLH Fellow.</p><figure><img alt="MLH Fellowship image" src="https://cdn-images-1.medium.com/max/880/1*NCOViZCo9q3DrR3CsAAZ0Q.png" /><figcaption>Source: <a href="https://fellowship.mlh.io/">https://fellowship.mlh.io/</a></figcaption></figure><h3>What is the MLH Fellowship?</h3><p>Well, imagine a <strong>remote internship</strong> on steroids. It’s a 12-week program that hooks you up with top-notch companies and mentors in the industry. You’ll be working alongside other talented students from around the globe, and working on <strong>real-world projects</strong>.</p><p>But wait, it gets even better. As a fellow, you’ll receive a sweet stipend while you dive headfirst into exciting projects. They offer a variety of tracks including <strong>Software Engineering</strong>,<strong> Web3</strong> and<strong> Site Reliability Engineering.</strong> These are subject to changes depending on the sponsor companies for the season. More information can be found on <a href="https://fellowship.mlh.io/">https://fellowship.mlh.io/</a>.</p><p>The MLH Fellowship isn’t just about coding in isolation, though. They know that collaboration is key. They’re all about <strong>open-source</strong> contributions and getting involved in the global developer community. You’ll have the chance to contribute to projects, share your knowledge, and collaborate with other coding wizards worldwide.</p><p>And guess what? It’s not just about the technical stuff. The MLH Fellowship believes in giving back. That’s why they organize <strong>workshops</strong>, s<strong>peaker sessions</strong>, and <strong>hackathons</strong> throughout the program. You’ll learn from industry professionals, gain essential <strong>soft skills</strong>, and even build <strong>connections</strong> that could land you a dream job in the future.</p><p>Once you complete the fellowship, you’ll not only have a shiny new set of skills and an impressive <strong>project portfolio</strong>, but you’ll also join a tight-knit community of <strong>MLH alumni, mentors, and industry insiders</strong>. It’s like having a secret society of tech superheroes to rely on for advice, networking, and maybe even future job opportunities.</p><h3>So How Do I Become A Fellow?</h3><p>Applying for the MLH Fellowship is an exciting journey that puts your skills and determination to the test. The application process may seem daunting at first, but fear not, I’ve got your back! Here’s a sneak peek into what you can expect.</p><p>First things first, <strong>APPLY EARLY</strong>. By early I mean <strong>atleast a month or two before the start of the session</strong>. This increases your chances of getting accepted by a mile. I applied for the Summer A 2023 batch (May - Aug) all the way back in October 2022.</p><p>The first step of the process is the online application form. This is where you will have to write essays. This is probably the <strong>most important thing</strong> in your application. With the <strong>acceptance rate</strong> being just a bit over <strong>2%</strong>, this program is highly competitive and you have to show them that you’re truly interested and capable of succeeding in the program. This matters a lot so <strong>make sure your essays are filled with passion and excitement for the fellowship program, and technology in general</strong>. This is where most students receive their rejection email as they are “not passionate enough”. Take your time and make sure to highlight your <strong>previous projects</strong>, <strong>relevant experiences</strong>, and any <strong>cool hacks</strong> you’ve built. Remember, this is your chance to shine!</p><p>Once you’ve submitted your application, the MLH team gets to work reviewing it. They’re looking for candidates who are eager to learn, collaborate, and push boundaries. If your application stands out, you’ll receive an invitation to the next stage — a <strong>personal interview</strong>. This is just a general screening interview to get to know you better. It is always a good choice to <strong>wear formal or semi-formal for the interview and make sure the lighting is good and there’s little to no disturbance in the background.</strong></p><p>After this you are moved to the next step — the <strong>technical interview</strong>. Now, don’t panic! The technical interview is your chance to showcase your coding skills and problem-solving abilities. You will be asked to explain your approach to the project you submit in your initial application. The key thing here is that your <strong>project shouldn’t be picked directly from a YouTube tutorial or anything of that sort.</strong> Another important aspect is <strong>documentation. </strong>Make sure your project is well documented and the commit history is not just 1 push.<strong> </strong>Also, you will be asked <strong>questions</strong> regarding your thought process, challenges you faced and potential updates for the future. Here are a few questions I was asked when I gave this interview:</p><ul><li>“Why did you choose to build this?”</li><li>“What were the challenges you faced while building it?”</li><li>“What updates do you wish to add in the near future?”</li></ul><p><strong>Be confident, think out loud, and don’t be afraid to ask questions.</strong> The interviewers want to see your potential and how you tackle challenges.</p><p>If you impress the interviewers, congratulations! You’ll receive an acceptance letter, welcoming you to the <strong>MLH Fellowship</strong>. This is when the real adventure begins. You’ll be matched with a team and an industry-sponsored project that aligns with your skills and interests.</p><p>However, if things don’t go the way you planned, don’t let that demotivate you! Take it positively and let it drive you to get accepted in the next batch! Work harder, polish your essays, add new features to your project, work on your interview preparation, and apply again! In the words of Yoda, <strong>“The greatest teacher, failure is.”</strong></p><p>So, whether you’re a student, a recent grad, or just someone eager to dive into the world of tech, the <strong>MLH Fellowship</strong> is your chance to level up your coding game, work on real projects, and make connections that could shape your career. Don’t miss out on this incredible opportunity to join the MLH family and take your tech skills to new heights!</p><h3>TL;DR</h3><ul><li>Apply Early (atleast a month before the start of the session)</li><li>Spend a lot of time on the essays. Even the extra questions like “Is there anything else you want us to know about you?”. These matter a lot.</li><li>Wear formals/semi-formals during interviews.</li><li>Make sure the lighting is good and there’s no disturbance in the background.</li><li>Your project submission shouldn’t be copied off of YouTube tutorials. (they’ll know)</li><li>Make sure to add good documentation.</li><li>Quality of commits &gt; Quantity of commits, but at the same time, your project should have a good commit history.</li><li>Be prepared for typical interview-like questions, nothing too different.</li></ul><p><strong>Good luck and Happy Hacking!!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ecd8cf9d471f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Efficiency Redefined: Build High-Performance Apps with Buck2]]></title>
            <link>https://medium.com/@kritgrover/efficiency-redefined-build-high-performance-apps-with-buck2-24a64159caaa?source=rss-bfd0716e6d81------2</link>
            <guid isPermaLink="false">https://medium.com/p/24a64159caaa</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[buck]]></category>
            <category><![CDATA[meta]]></category>
            <category><![CDATA[android-app-development]]></category>
            <dc:creator><![CDATA[Krit Grover]]></dc:creator>
            <pubDate>Mon, 28 Aug 2023 21:58:04 GMT</pubDate>
            <atom:updated>2024-02-22T02:38:26.434Z</atom:updated>
            <content:encoded><![CDATA[<p>Hey there, fellow devs! If you’ve ever felt like you could finish a cup of coffee, read a short novel, or even contemplate the meaning of life while waiting for your application to compile with Gradle, you’re not alone. But fear not, because today we’re diving into a tool that’s here to redefine efficiency in the world of app development — Buck2! So, buckle up (pun intended) as we dive into a realm where efficiency isn’t just a goal — it’s a reality.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ph-gYFa-ssoeH4uC.jpg" /><figcaption>Source: Meta Open Source</figcaption></figure><h3>The Birth of Buck2</h3><p>Picture this: developers hunched over their keyboards, anxiously waiting for their project to build. As frustration grows, one question echoes through the halls of coding: “Isn’t there a faster way?”</p><p>Enter Buck2.</p><p>Born out of Facebook’s engineering team, Buck2 emerged not as a mere solution, but as a revelation. The engineers behind Buck2 knew that waiting minutes, or even hours, for a build to complete was similar to watching paint dry in the digital age. It was designed not just to build applications, but to do so with unparalleled speed, precision, and ingenuity.</p><h3>The ABCs of Buck Rules</h3><p>At its core, Buck2 revolves around the concept of <em>Buck rules</em>. These are simple, declarative configuration files that tell Buck2 how to build your project. They define dependencies, compilation settings, and more, all in a concise and human-readable format. Buck rules are the secret sauce that make Buck2 tick, and they’re as clear and readable as your favorite Python script.</p><h4>Android App Example</h4><p>Imagine you’re working on an Android app with multiple Java source files and external libraries. Buck2 streamlines this process with ease:</p><pre># Buck file: BUILD.buck<br>android_binary(<br>    name = &#39;MyAwesomeApp&#39;,<br>    srcs = glob([&#39;src/**/*.java&#39;]),<br>    deps = [&#39;:networking_library&#39;, &#39;//third-party:analytics&#39;],<br>)</pre><p>Here, the android_binary rule defines an executable named MyAwesomeApp. The srcs attribute uses the glob function to include all Java files within the src directory, ensuring that the entire app is built. The deps attribute adds the necessary dependencies, like a custom networking_library and a third-party analytics library.</p><p>You can also add configuration settings like so:</p><pre># Buck file: BUILD.buck<br>config_setting(<br>    name = &#39;debug&#39;,<br>    values = {&#39;compilation_mode&#39;: &#39;dbg&#39;},<br>)<br><br>config_setting(<br>    name = &#39;release&#39;,<br>    values = {&#39;compilation_mode&#39;: &#39;opt&#39;},<br>)<br><br>android_binary(<br>    name = &#39;MyAwesomeApp&#39;,<br>    srcs = glob([&#39;src/**/*.java&#39;]),<br>    deps = [&#39;:networking_library&#39;, &#39;//third-party:analytics&#39;],<br>    configs = [&#39;:debug&#39;],<br>)</pre><p>In this example, the config_setting rules define separate configurations for debug and release. These configurations are linked to specific compilation modes (dbg for debug and opt for release). The android_binary rule then associates the debug configuration with the MyAwesomeApp target, ensuring that it&#39;s built with the appropriate settings.</p><p>Build configurations like these empower you to effortlessly switch between different build setups, from debugging and testing to deploying production-ready apps. With Buck2’s intuitive approach, the process becomes as simple as toggling a switch, while still allowing you to fine-tune intricate details to meet your specific needs.</p><p>The elegance of Buck rules empowers you to build high-performance apps with ease, paving the way for a productive development experience.</p><h3>What Makes Buck so Fast?</h3><h4>Parallel Builds: Buck’s Multi-Lane Highway to Speed</h4><p>Imagine a busy intersection with a single traffic lane versus a multi-lane highway. Traditional build tools often resemble the former, processing tasks one by one in a single lane. Buck, on the other hand, is the multi-lane highway of the build world. It processes multiple tasks simultaneously, leveraging your machine’s full capacity and dramatically slashing build times. This parallelism is Buck’s secret weapon, ensuring that your wait time for that freshly compiled code is reduced to a fraction of what it used to be.</p><h4>Dependency-Driven Architecture: Navigating the DAGs</h4><p>Each target’s dependencies are defined in a Directed Acyclic Graph (DAG). When changes occur, Buck intelligently traverses this DAG, rebuilding only the necessary components and minimizing redundant work. Unlike traditional build tools that might rebuild the entire project, Buck’s DAG-based approach ensures that updates are localized.</p><h4>Artifact Caching: The Power of Reusability</h4><p>Imagine you’re assembling a puzzle. Once you’ve connected the pieces, you don’t disassemble them each time you want to admire your handiwork. Buck shares this philosophy. It caches built artifacts, allowing them to be reused across different builds. This means that if you’ve built something before, you don’t need to build it again unless the code has changed. This intelligent reuse of previously built artifacts drastically reduces build times.</p><h3>Race Against the Clock: Buck2 vs. the Usual Suspects</h3><p>Now, let’s address the elephant in the room: the eternal question of “How does Buck2 compare to Maven, and other build tools?” You know those coffee breaks we mentioned earlier? With Buck2, you might not even have time to start brewing.</p><p>To show the difference, let’s split it up into the following scenarios.</p><h4>Clean Build</h4><p>A clean build refers to the process of compiling and constructing an entire software application from scratch, typically without reusing any previously built artifacts or intermediate files.</p><h4>No-op Build</h4><p>A no-op (no operation) build, refers to a build process in which there are no significant changes detected in the source code, configuration files, or dependencies of a software application since the last successful build.</p><h4>Simple Change Rebuild</h4><p>A simple change rebuild refers to the process of rebuilding a software application after making minor code changes.</p><p>Here are the results when compared to Maven:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/637/1*dWLqaHKFZ2BUMdVrZlDW1A.png" /><figcaption>Source: The Onos Project</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s9UI3ETIUWtHBbu1q9ks9g.png" /><figcaption>Source: Meta</figcaption></figure><p>These results underscore Buck2’s unparalleled efficiency. Whether in a fresh start, during no-op rebuilds, or amidst iterative development, Buck2 consistently delivers impressive speeds, demonstrating its value as a tool that minimizes wait times and maximizes productivity.</p><h3>In Conclusion: Embrace the Need for Speed</h3><p>And there you have it, folks — a sneak peek into the world of Buck2, where efficiency reigns supreme and build times become a distant memory. No more contemplating life’s mysteries during compilation; instead, you’ll be diving into your freshly built app before you know it.</p><p>So, if you’re tired of waiting, frustrated with sluggish builds, and ready to embrace a future where speed and performance are the norm, Buck2 is your answer.</p><p>Happy coding!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=24a64159caaa" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introduction to Bitcoin and Blockchain]]></title>
            <link>https://medium.com/@kritgrover/introduction-to-bitcoin-and-blockchain-509578c85180?source=rss-bfd0716e6d81------2</link>
            <guid isPermaLink="false">https://medium.com/p/509578c85180</guid>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[crypto]]></category>
            <category><![CDATA[bitcoin]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[bitcoin-mining]]></category>
            <dc:creator><![CDATA[Krit Grover]]></dc:creator>
            <pubDate>Fri, 06 Jan 2023 15:22:24 GMT</pubDate>
            <atom:updated>2023-01-06T15:43:07.227Z</atom:updated>
            <content:encoded><![CDATA[<p><em>Bitcoin tumbles as much as 7.1%. Crypto scams costed over $1billion since 2021. Digital Gold. A new age of finance. The rise of NFTs.</em></p><p>There’s a really good chance that you’ve come across one of these headlines somewhere, and wondered, “What really is this cryptocurrency jargon?”. Well, I’m here to break it down for you.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UEkQ-zl1U4nuxHR02aeXsw.jpeg" /><figcaption>Image from <a href="http://www.investopedia.com">www.investopedia.com</a></figcaption></figure><p>This is a very high-level overview of what the blockchain is, and how it works. There’s a lot more going on under the hood but this is a great starting point for those of you who are new in the space.</p><h4><strong><em>The Birth of Bitcoin</em></strong></h4><p>The year is <strong>2008</strong>. The United States face an economic collapse. The worst financial crisis since the<strong> Great Depression </strong>in 1929. <strong>8.5 million people </strong>left <strong>unemployed</strong>. <strong>11 trillion US dollars</strong> disappeared, far from recovery. The housing market hits new lows as <strong>rallies and riots</strong> crowd the streets. Banks, the ones trusted with investments, the ones promising safety and security of the taxpayers’ money, just don’t seem <strong>trustworthy </strong>anymore. Anxiety and uncertainty flood the atmosphere. The system feels too unfair as all the power lies in the hands of a few people that can dictate what to do with the people’s money.</p><p>Later that year, something changes. An email was sent by a person named <strong>Satoshi Nakamoto</strong>, which started with a simple statement…</p><p><em>“I’ve been working on a new</em><strong><em> electronic cash system</em></strong><em> that’s fully</em><strong><em> peer-to-peer</em></strong><em>, with </em><strong><em>no trusted third party.</em></strong><em>”</em></p><p>This was it. This was the birth of <strong>blockchain </strong>technology, and the <em>world’s first cryptocurrency</em>, <strong><em>Bitcoin</em></strong>.</p><p>No one really knows who Satoshi Nakamoto is, but it was clear that the future of<strong> technology and finance</strong> was going to change. If you feel like digging deeper into the rabbit hole, you can access the <a href="https://bitcoin.org/bitcoin.pdf"><em>whitepaper</em></a> that Nakamoto published.</p><h4><strong><em>Understanding Blockchain</em></strong></h4><p>So, what is blockchain? As Satoshi mentioned in his whitepaper which was published on 31 October 2008,</p><p>“A purely peer-to-peer version of electronic cash that would allow online payments to be sent directly without going through a financial institution.”</p><p>In essence, it can be defined as a <strong>decentralized</strong>, <strong>time-stamped</strong>, <strong>append-only digital ledger</strong> that secures transactions through <strong>cryptography </strong>and <strong>consensus</strong>.</p><p>Let’s break this down a little. <strong>Decentralized </strong>means no institution <strong>owns </strong>the blockchain. There is no central authority that holds any power on how the blockchain runs. Institutions like banks and the federal government have no jurisdiction and they simply do not exist in the blockchain world. <strong>Append-only</strong> means that blocks can only be added to the chain and no one can go back and alter the transactions made in the blocks before. (more on this later)</p><h4><strong><em>Mining</em></strong></h4><p>A <strong>ledger </strong>is an account or record that is used to <strong>store transactions</strong>. In blockchain, transactions are stored in blocks that are interlinked using <strong>cryptographic hash functions</strong>.</p><p>The question now becomes, who adds the transactions to this ledger? Enter: <strong>Miners</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SMuBqC1FSINwlw42fvqOyQ.png" /><figcaption>Image from <a href="https://www.thinkgeoenergy.com/">www.thinkgeoenergy.com/</a></figcaption></figure><p><strong>Miners</strong> are computers around the world (called <strong>nodes</strong>), that <strong>add transactions</strong> to a block, and <strong>validate </strong>the block using a <strong>consensus mechanism</strong>. Once the block is validated by the majority of the miners, it is <strong>timestamped </strong>and added to the blockchain. The miner who successfully mines the block is <strong>rewarded </strong>with a few <strong>Bitcoin</strong>. In the Bitcoin chain, a new block is added approximately every 10 minutes and in the Ethereum chain, a new block is added approximately every 14 seconds.</p><h4><strong><em>Proof of Work vs Proof of Stake</em></strong></h4><p>Different blockchains use different consensus mechanisms.</p><p>Bitcoin uses the <strong>Proof Of Work </strong>mechanism in which miners compete to find a number (the <strong>nonce</strong>) that when added to the block, provides a cryptographic hash of the block leading with a given number of zeroes. They compete against all the other miners in the world and the first one to find the nonce gets the <strong>reward</strong>. This takes a lot of energy as all the miners are using<strong> extensive computation</strong> to mine the block. A few examples of cryptocurrencies that use PoW mechanism include <strong>DogeCoin</strong>, <strong>LiteCoin </strong>and <strong>Bitcoin Cash</strong>.</p><p>Ethereum on the other hand, after its merge in late 2021, switched to the <strong>Proof of Stake</strong> mechanism where miners “<strong>stake</strong>” their own cryptocurrency to promise that they will not act maliciously. A miner is selected at “<strong>random</strong>” (but not exactly random, it is a calculated random number), who will then mine the block, and the remaining miners simply <strong>validate </strong>it, which is much <strong>faster and energy efficient.</strong> <strong>Solana </strong>and <strong>Avalanche </strong>are other cryptocurrencies that use the PoS mechanism.</p><h4>Cryptography</h4><p>A bitcoin or any other cryptocurrency, at the fundamental level, is just a <strong>chain of digital signatures</strong> that show ownership.</p><p>Users own keys to prove ownership. A random <strong>private key</strong> is generated whenever you create a wallet from any of the providers such as MetaMask, Coinbase Wallet, etc. This key is generated using the <strong>SHA256 </strong>algorithm that is 256 bits in length. From the private key, a <strong>public key</strong> is generated using <strong>Elliptic Curve Cryptography.</strong> What makes it secure is that it is almost impossible to derive the private key from the public key. A <strong>wallet address</strong> is generated from the user’s public key that is used for sending and receiving bitcoin.</p><h4><strong><em>Understanding Transactions</em></strong></h4><p>Now that we know something about the blockchain ledger, let’s dive a bit further and understand the <strong>transactions </strong>and blocks that make up a ledger. This section is a bit more technical than the rest so you might need some additional resources to fully grasp the concept.</p><p>All transactions are stored in blocks. Block 0 of every blockchain consists of configuration and other maintenance related data. This block is known as the “<em>Genesis Block</em>”. Every block consists of the<strong> hash of the previous block</strong>, a <strong>timestamp</strong>, a <strong>nonce </strong>that is found by miners to show proof-of-work which is <strong>validated </strong>by other miners, a <strong>Merkle Root hash of all transaction data</strong>, and all the <strong>transactions</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NIsmeTFlcaDkqIjGIvIYrg.jpeg" /></figure><p>Since there isn’t any physical form of payment to store, bitcoins are stored as <strong>Unspent Transaction Outputs</strong> (UTXOs) in the blockchain. Transactions <strong>move value</strong> from transaction inputs to transaction outputs. An <strong>input </strong>is where the coin value is coming from, usually a previous transaction’s output. A transaction <strong>output </strong>assigns a new owner to the value by associating it with a key.</p><p>Each owner transfers the coin to the next by <strong>digitally signing</strong> the <strong>hash of the previous transaction</strong> and the <strong>public key</strong> of the next owner and adding it to the end of the coin. These signatures can be <strong>verified </strong>by using the public key of the new owner.</p><h4>Why Is It Getting Popular?</h4><p>Finally, let us look at why all this matters and why should you learn more about it. All this hype around <strong>Web3</strong> and <strong>Decentralized Finance </strong>(DeFi) are taking the world by storm and here’s why.</p><ul><li><strong>Security:</strong> As more and more blocks are added to the blockchain, it gets <strong>harder</strong> <strong>and</strong> <strong>harder </strong>to change the transactions that took place before, as the attacker would have to redo the entire <strong>proof-of-work</strong> and match the <strong>hashes </strong>of all the following blocks.</li><li><strong>Transparency:</strong> All the transactions made and the blocks mined can be viewed <strong>publicly </strong>on blockchain explorers like <a href="https://etherscan.io/"><strong>EtherScan</strong></a> and<strong> </strong><a href="https://explorer.btc.com/en/btc"><strong>BTC Explorer</strong></a><strong>.</strong></li><li><strong>Functionality:</strong> Ethereum was the first blockchain that introduced the concept of <strong>Smart Contracts.</strong> These contracts are code that run on the blockchain and can do a lot more than just transfer value. They are so powerful that they can be used to<strong> automate transactions, trigger function calls, store encrypted information</strong>, and a lot more. Hitting up a quick Google search on the use cases of smart contracts is most likely to leave you in awe.</li><li><strong>DApps and NFTs:</strong> Another reason why smart contracts are so powerful is because they power DApps and NFTs. <strong>Decentralized Apps</strong> are digital applications that run on public or private blockchains and have their own use cases from the <strong>business perspective</strong>. And most importantly, <strong>NFTs </strong>are not just funny looking JPEGs and can be used to <strong>record, manage and transfer digital assets</strong>. NFTs can also function to <strong>represent individuals’ identities, property rights, and more.</strong> Pretty cool right?</li><li><strong>Inflation Hedge:</strong> Bitcoin and some of the other cryptocurrencies, have a maximum <strong>production limit.</strong> Bitcoin has a fixed supply of <strong>21 million bitcoins</strong>, all of which will be in circulation by the year <strong>2140</strong>. With <strong>limited supply</strong> in circulation, the <strong>demand </strong>for the cryptocurrency is bound to <strong>increase</strong>. Which is why, many analysts around the world believe that it has the capability to easily <strong>outrun inflation</strong>.</li></ul><p>The world of <strong>Web3 </strong>is very diverse and there are a lot more core concepts such as<strong> forks, sharding, chainlink oracles, gas,</strong> and a lot of <strong>coding </strong>behind the scenes. You do not need to know it all and this is a great start if it was your first time ever encountering the topic. Great job on coming this far. Take the <strong>red pill</strong> and go even deeper, you’ll be surprised to know what lies in the near future.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=509578c85180" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>