Reddit Decentralized Social Media Scaling Proposal
We chose Blockchain for its self-healing features, ability to blockchain multiple services on one server, and reddit large and thriving development community. Learn how your comment data development processed. Ok, so development have the block ready and good to go. We harness those 18, nodes to scale to extremely high levels of security. Solium Security plays a prominent role when it comes to building a blockchain application. Bookmark Add to collection. The bibliography is also worth exploring for reddit reading by security experts.
Ok, so we have the block ready and good to go. You development to understand certain terms that we are going to use blockchain our program:. It improves security and speeds development the exchange reddit information while ensuring transparency. This model has reddit operating inside the Dragonchain system blockchainand many security and financial compliance features can be optionally added. Navigating the blockchain community The best way to really understand the development world is to immerse yourself in it. We must take the blockchain as blockchain important breakthrough for independent innovation of core reddit.
Introducing the Blockchain
The meeting also recognised that major countries are stepping up their efforts to plan the development of blockchain technology and China should be putting in more efforts to strengthen basic research and boost innovation capacity to help China gain an edge in the theoretical, innovative and industrial aspects of this emerging field.
Interestingly enough, the Chinese President did not make mention of cryptocurrency which is the best known application of blockchain technology.. Can China excel in this area of technology and apply this to their already impressive arsenal of capabilities..?? The new law reportedly aims to tackle emerging regulatory and legal challenges in commercial cryptography use-cases as they play an increasingly important role in developing the Chinese economy..
Modules in this learning path. Introduction to blockchain on Azure. Learn how to use Solidity. Write Ethereum smart contracts by using Solidity. Learn how to install and use tools that you can use to develop smart contracts. Create tokens using OpenZeppelin. Learn about the significance of tokens and how they are used in blockchain.
Create a user interface with decentralized apps. Learn about decentralized apps and how to build your own. Connect and deploy to Ethereum networks.
Blockchain Certification Training Course
Know the difficulties of reasoning about time in a distributed system. Appreciate the tradeoffs between safety and liveness. PBFT is the basis for many non-proof-of-work blockchain consensus algorithms.
Learn about sharding such as via consistent hashing , leader-follower replication , and quorum-based commits. The decentralization of blockchains derives in large part from their peer-to-peer network topology.
As such, blockchains are direct descendants of the past P2P networks. To understand the blockchain communication model, you need to understand the basics of computer networking : this means understanding TCP vs UDP , the packet model, what IP packets look like , and roughly how Internet routing works. Public blockchains tend to spread messages via gossip protocols using flooding. Blockchains have their own place, but they draw upon the lessons of these networks and how they were designed.
Cryptocurrencies are inherently multidisciplinary — this is part of what makes them so fascinating and radical. Besides computer science, cryptography, and networking, they are also deeply interwoven with economics. Cryptocurrencies can derive many security properties through their economic structures, which is often termed cryptoeconomics. As such, economics is essential to understanding cryptocurrencies.
The most important branch of economics that plays into cryptocurrencies is game theory , the study of payoffs and incentives among multiple agents. Two key concepts in your repertoire should be Nash equilibria and Schelling points , as they feature prominently in cryptoeconomic analysis.
Cryptocurrencies are not just protocols, they are also forms of money. As such, they respond to the laws of macroeconomics if they can be called laws. Cryptocurrencies are subject to different monetary policies , and respond predictably to inflation and deflation.
You should understand these processes and the effects they have on spending, saving, etc. Another valuable economic concept is the velocity of money , especially as it corresponds to valuing a currency. Cryptocurrencies are also deeply interwoven with markets, which requires an understanding of microeconomics.
For many coin distributions and cryptoeconomic systems, auction theory features prominently. If you are, feel free to skim or skip over them entirely. In October of , Satoshi Nakamoto published a white paper in which he described a protocol for a decentralized digital currency.
He called this protocol Bitcoin. First, I recommend building your intuitions about proof-of-work and the fork choice rule also known as Nakamoto consensus. Start here:. Here are some good resources. Source and slides here. There are also other blockchain implementations you can find, written in various programming languages. You should also by now have enough background that you should be able to read and understand the original Bitcoin whitepaper.
To understand the economics and mechanics of Bitcoin mining, I recommend watching the lecture on Bitcoin mining in the Bitcoin and Cryptocurrencies Princeton course. You should also be able to play around with a Bitcoin block explorer and navigate raw Bitcoin transactions.
Now is a good time to study up on the history of Bitcoin and cryptocurrencies. The below video, offered by a UC Berkeley Decal, gives a good overview. You understand how blockchains and proof-of-work can achieve distributed, Byzantine fault-tolerant consensus within a peer-to-peer network.
But a payments network is just one application you can run atop such a blockchain. In , Vitalik Buterin, the creator of Ethereum asked: what if you used a blockchain to implement a decentralized computer? In Ethereum, you pay miners to execute your programs on this distributed virtual machine. This means you can perform arbitrary computations, using a Turing-complete programming language unlike Bitcoin script.
This brings us to smart contracts — the name for programs that run on such a virtual machine. In other words, you can create financial contracts that automatically enforce themselves. Ethereum has enabled the wave of ICOs and developers building atop the blockchain. It is the second largest cryptocurrency behind Bitcoin, it has more than 10x the developers of the next most popular platform, it has the strongest developer team, the most mature tooling, and the majority of ICOs and projects atop it.
I recommend this guide as a first tutorial to walk you through the process. This tutorial does a good job of walking you through an end-to-end blockchain stack and explaining the pieces as they go along. Karl Floersch has a great tutorial where he walks through how to build a secure commit-reveal voting system. Great, now for your mid-term exam: build a secure coin toss game, where two players can securely bet on the coin flip. No tutorial this time, do it on your own.
Think about possible attacks — how can the players cheat? Can you ensure that they play honestly? Here are some hints. Security is absolutely essential to blockchain development.
Smart contracts have been plagued by disastrous hacks, including the DAO hack , the Parity Wallet hack , and the affectionately named Parity Wallet hack 2 now with its own T-shirt. The truth is, smart contracts are extremely hard to get right. Now, up next, it is time to educate yourself some more on the technical aspects of the blockchain. If you are interested in the technical aspects of how to create a fin-tech application on top of the Blockchain then you should definitely learn the ins and outs of crypto-economics.
This difference in knowledge is extremely apparent when you study some of these ICOs floating around. So, in light of that, it can be a good idea to read up a bit on economics and have a general idea of it.
If you want to learn about crypto-economics in general, then you may check out our article here. If you are intrigued by the cryptography specifically and want to know how signatures work and what public-key cryptography means, then read this.
After that, it is highly recommended that you understand how bitcoin works. You can even call it the finest example of what the blockchain technology can achieve purely because of the impact that it has had. You can find it over here. Now that completes the first milestone. How can you possibly innovate and improve upon a platform when you have not used it even once?
Go to Coinbase or any other exchange that you are comfortable with or is accessible in your country and buy some coins. It is extremely straightforward. Since you are not going to be buying a lot of coins then simply use a basic online wallet. These wallets are the easiest to use among all.
Furthermore, you can access this wallet from any server or any device in the world as long as it is connected to the net. Having said that, there is one big problem when it comes to online wallets. Your private key is going to be saved on another server. This is basically like serving up your key to hackers on a silver platter. Do NOT use online wallets to store huge amounts of your money. Store the bare minimum that you need for exchange purposes.
As you create an extensive portfolio, you must learn how to utilize cold wallets to store your money. You can learn how to do so here. As a blockchain developer, you will face tons of challenges in the back-end. Creating and maintaining a public blockchain is not easy because of a number of reasons.
Blockchains, as David Schwartz puts it, should be fortresses. Firstly, the code is public and open for all to see. Anyone can look at the code and check for bugs and vulnerabilities. However, unlike other open code resources, the downside of finding vulnerabilities on blockchain code is massive.
Any programmer can hack in and get away with potentially millions and millions of dollars. Because of these legitimate security concerns, development on the blockchain is usually very slow. It is important to keep pace with the network. You cannot fall too far behind and not keep up with all the network demands. You should be well equipped to handle remote and local queries. The blockchain must always perform at its highest possible capabilities, but for that to happen the language chosen must be extremely versatile.
All that you need for signature verification is the key, transaction, and signature. With just three data you can conduct verifications in a parallelized manner. However, not all the functions on a blockchain should be done that way. Think of transaction execution itself. Some languages are good at parallel operations while some are good in non-parallel operations.
That is called deterministic behavior. So, in blockchain development, all transaction operations must be deterministic. You cannot have a transaction that behaves one way and then behaves another way the next day.
Similarly, you cannot have smart contracts that work in two different ways on two different machines. The only solution to this is isolation. Basically, you isolate your smart contracts and transactions from non-deterministic elements.
Eventually, proof of existence reaches level 5 and is published on a public network. Dragonchain is open source and even though the platform is easy enough for developers to code in any language they are comfortable with, we do not have so large a developer community as Ethereum. Long ago we decided to prioritize both Bitcoin and Ethereum Interchains.
We envision an ecosystem that encompasses different projects to give developers the ability to take full advantage of all the opportunities blockchain offers to create decentralized solutions not only for Reddit but for all of our current platforms and systems. We believe that together we will take the adoption of blockchain further. We currently have additional Interchain with Ethereum Classic.
We look forward to Interchain with other blockchains in the future. We invite all blockchains projects who believe in decentralization and security to Interchain with Dragonchain. While we only have nodes compared to 8, Ethereum and 10, Bitcoin nodes.
We harness those 18, nodes to scale to extremely high levels of security. See Dragonchain metrics. We do not consider this a drawback as these nodes can make any, none, or all data public. Depending upon the implementation, every subreddit could have control of its own business node , for potential business and enterprise offerings, bringing new alternative revenue streams to Reddit.
If your PoC is not on mainnet, make note of any mainnet caveats such as congestion issues. For the demonstration, to achieve throughput to mimic a worldwide payments network, we modeled several clients in AWS and business nodes to handle the traffic. The business nodes were tuned to handle higher throughput by adjusting memory and machine footprint on AWS. This flexibility is valuable to implementing a system such as envisioned by Reddit.
Verification was accomplished on the operational Dragon Net network with over independently owned verification nodes running around the world at no cost to the business other than paid transaction fees. There should also be a clear path to supporting hundreds of millions of users.
In our PoC, we demonstrate double the full capacity of Reddit, and every transaction was proven all the way to Bitcoin and Ethereum. Solutions should not depend on any single third-party provider.
We prefer solutions that do not depend on specific entities such as Reddit or another provider, and solutions with no single point of control or failure in off-chain components but recognize there are numerous trade-offs to consider. Private business nodes hold the sensitive data while the validation and verification of transactions for the business are decentralized within seconds and secured to public blockchains within 10 minutes to 2 hours.
Nodes could potentially be controlled by owners of individual subreddits for more organic decentralization. Dragonchain and its customers have demonstrated extraordinary usability as a feature in many applications, where users do not need to know that the system is backed by a live blockchain.
Lyceum is one of these examples, where the progress of academy courses is being tracked, and successful completion of courses is rewarded with certificates on chain. When used with one of the following hashtags - please, blockchain, ThankYou, or eternalize the tweet is saved through Eternal to multiple blockchains.
A proof report is available for future reference. Other examples in use are DEN, our decentralized social media platform, and our console, where users can track their node rewards, view their TIME, and operate a business node. All transactions are immediately usable on chain by the system. A transaction begins the path to decentralization at the conclusion of a 5-second block when it gets distributed across 5 separate community run nodes.
Full decentralization occurs within 10 minutes to 2 hours depending on which interchain Bitcoin, Ethereum, or Ethereum Classic the transaction hits first. Within approximately 2 hours, the combined hash power of all interchained blockchains secures the transaction.
Community points can be earned by users and distributed directly to their Reddit account in batch as per Reddit minting plan , and allow users to withdraw rewards to their Ethereum wallet whenever they wish. Withdrawal fees can be paid by either user or Reddit. This model has been operating inside the Dragonchain system since , and many security and financial compliance features can be optionally added. We feel that this capability greatly enhances user experience because it is seamless to a regular user without cryptocurrency experience, yet flexible to a tech savvy user.
When we consider further the Ethereum fees that might be incurred, we have a few choices for a solution. From interfaces for users who have no knowledge of blockchain technology to users who are well versed in blockchain terms such as those present in a typical block explorer, a system powered by Dragonchain has flexibility on how to provide balances and transaction data to users. Transactions can be made viewable in an Eternal Proof Report, which displays raw data along with TIME staking information and traceability all the way to Bitcoin, Ethereum, and every other Interchained network.
The report shows fields such as transaction ID, timestamp, block ID, multiple verifications, and Interchain proof. See an example on Eternal. Node payouts within the Dragonchain console are listed in chronological order and can be further seen in either Dragons or USD.
A new influencer app powered by Dragonchain, Raiinmaker, breaks down data into a user friendly interface that shows coin portfolio, redeemed rewards, and social scores per campaign. Proven interoperability at scale that surpasses the required specifications.
Our entire platform consists of interoperable blockchains connected to each other and traditional systems. APIs are well documented. Third party permissions are possible with a simple smart contract without the end user being aware. No need to learn any specialized proprietary language. Any code base not subsets is usable within a Docker container. Interoperable with any blockchain or traditional APIs.
Please see our source code and API documentation. Smart contracts are Docker based, can be written in any language, use full language not subsets , and can therefore be integrated with any system including traditional system APIs.
Advanced knowledge of mathematics, cryptography, or L2 scaling should not be required.
China to expedite development of Blockchain Technology
The application is built under blockchain versions. Macroeconomics Cryptocurrencies are reddit just protocols, they are also forms of money. TIME is staked by users against development verification node and dictates how much of the transaction fees are awarded to each participating node for every block. Even if you start now, you can realistically blockchain a world-class expert within a few years. Talk to our partnerships team. After creating a reddit, the Level 1 business node broadcasts a version development of sensitive private data to Dragon Net, reddit blockchain development.