What is Bitcoin? [The Most Comprehensive Step-by-Step ...
Learning Bitcoin - PDF eBook Free Download
[Download] Bitcoin and Cryptocurrency Technologies [PDF ...
99Bitcoins - How to Buy Bitcoin in 2020 Mine Bitcoin ...
US OFAC issues advisory: ransom payments for ransomware may involve felony charges and personal civil liability for staff.
Under the authority of the International Emergency Economic Powers Act (IEEPA) or the Trading with the Enemy Act (TWEA),9 U.S. persons are generally prohibited from engaging in transactions, directly or indirectly, with individuals or entities (“persons”) on OFAC’s Specially Designated Nationals and Blocked Persons List (SDN List), other blocked persons, and those covered by comprehensive country or region embargoes (e.g., Cuba, the Crimea region of Ukraine, Iran, North Korea, and Syria). Additionally, any transaction that causes a violation under IEEPA, including transactions by a non-U.S. person which causes a U.S. person to violate any IEEPA-based sanctions, is also prohibited. U.S. persons, wherever located, are also generally prohibited from facilitating actions of non-U.S. persons, which could not be directly performed by U.S. persons due to U.S. sanctions regulations. OFAC may impose civil penalties for sanctions violations based on strict liability, meaning that a person subject to U.S. jurisdiction may be held civilly liable even if it did not know or have reason to know it was engaging in a transaction with a person that is prohibited under sanctions laws and regulations administered by OFAC.
Sauce Here: https://home.treasury.gov/system/files/126/ofac_ransomware_advisory_10012020_1.pdf OFAC Sanctions list here: https://sanctionssearch.ofac.treas.gov/ Analysis: Both TWEA and IEEPA carries Criminal and Civil penalties, so under these acts they can fine the company, fine staff directly, or press criminal charges. We know the US Government as part of both the 5 eyes agreements and domestic bank monitoring programs under FACTA monitors all international wire transfers. Bitcoin and other cryptocurrencies generally leave a paper trail that can be traced back to who purchased the currency. What I expect to start happening here is most CFO's are going to write off the cost of the ransom as a tax deduction which tips off the IRS that a ransom of some kind was paid. I expect the next step is the IRS is going to start asking for additional proof of payment and additional information about the cases. That puts CFO's in a bind, because I expect both the IRS, and federal courts, won't let it fly that you didn't know who you were paying money to under the TWEA. They'll sit on the data, and when eventually an APT Group gets compromised, they'll trace the payments back via said tax records. At that point, if your org paid under this, that data gets used to open up a search warrant and then they rip you a new one especially if the payment was substantial. The bigger issue here is it opens up tremendous liability for security services firms and insurers who pay ransoms on behalf of clients or advise clients to pay ransoms. Now is a good time to review your backup strategy and ensure you have tested backups that are isolated from your infrastructure. For those of you with your hands tied behind your back, now is a good time to gently remind your management staff, and especially the CFO if you have their ear, that they cannot rely on the renound cryptographic competence of our eastern european bretheren, and that their worst-case risk is a determined remote attacker and adversary of the US infecting your network, destroying the data while making it look like a ransomware attack, selling you worthless encryption keys to fund their operation before flaunting the fact they took you for a fool with a press release taking credit for the attack to tip off state government you paid them in order to further disrupt the company operations via putting your talented technical staff or c-suite staff in handcuffs and injuring your PR. To those of you in the business who are afraid of being scapegoated or in a tenuous situation, getchu some evidence tape and some tags, some vanilla envelopes and a glue stick. Print 2 copies, put one copy in a folder, seal it with evidence tape and a tag, then use your handy glue stick to adhere the other vanilla folder to its back and put the 2nd copy in so you can review the paperwork without breaking the evidence seal and shove that sucker in a fire proof safe or safety deposit box. Also, Mailstore home is free. TL;DR: If your company is attacked by ransomware, tell the management only facts of the occurance you know, what you can and cannot do for them, and don't advise them of anything upto and including getting a security services firm involved. I wouldn't even tell them paying the ransom might work. If you're going to have a verbal conversation, make it a one-on-one. Happy Saturday all!
Dragonchain Great Reddit Scaling Bake-Off Public Proposal
Dragonchain Public Proposal TL;DR:
Dragonchain has demonstrated twice Reddit’s entire total daily volume (votes, comments, and postsper Reddit 2019 Year in Review) in a 24-hour demo on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. At the time, in January 2020, the entire cost of the demo was approximately $25K on a single system (transaction fees locked at $0.0001/txn). With current fees (lowest fee $0.0000025/txn), this would cost as little as $625. Watch Joe walk through the entire proposal and answer questions onYouTube. This proposal is also available on the Dragonchain blog.
Hello Reddit and Ethereum community!
I’m Joe Roets, Founder & CEO of Dragonchain. When the team and I first heard about The Great Reddit Scaling Bake-Off we were intrigued. We believe we have the solutions Reddit seeks for its community points system and we have them at scale. For your consideration, we have submitted our proposal below. The team at Dragonchain and I welcome and look forward to your technical questions, philosophical feedback, and fair criticism, to build a scaling solution for Reddit that will empower its users. Because our architecture is unlike other blockchain platforms out there today, we expect to receive many questions while people try to grasp our project. I will answer all questions here in this thread on Reddit, and I've answered some questions in the stream on YouTube. We have seen good discussions so far in the competition. We hope that Reddit’s scaling solution will emerge from The Great Reddit Scaling Bake-Off and that Reddit will have great success with the implementation.
Dragonchain is a robust open source hybrid blockchain platform that has proven to withstand the passing of time since our inception in 2014. We have continued to evolve to harness the scalability of private nodes, yet take full advantage of the security of public decentralized networks, like Ethereum. We have a live, operational, and fully functional Interchain network integrating Bitcoin, Ethereum, Ethereum Classic, and ~700 independent Dragonchain nodes. Every transaction is secured to Ethereum, Bitcoin, and Ethereum Classic. Transactions are immediately usable on chain, and the first decentralization is seen within 20 seconds on Dragon Net. Security increases further to public networks ETH, BTC, and ETC within 10 minutes to 2 hours. Smart contracts can be written in any executable language, offering full freedom to existing developers. We invite any developer to watch the demo, play with our SDK’s, review open source code, and to help us move forward. Dragonchain specializes in scalable loyalty & rewards solutions and has built a decentralized social network on chain, with very affordable transaction costs. This experience can be combined with the insights Reddit and the Ethereum community have gained in the past couple of months to roll out the solution at a rapid pace.
Response and PoC
In The Great Reddit Scaling Bake-Off post, Reddit has asked for a series of demonstrations, requirements, and other considerations. In this section, we will attempt to answer all of these requests.
A live proof of concept showing hundreds of thousands of transactions
On Jan 7, 2020, Dragonchain hosted a 24-hour live demonstration during which a quarter of a billion (250 million+) transactions executed fully on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. This means that every single transaction is secured by, and traceable to these networks. An attack on this system would require a simultaneous attack on all of the Interchained networks. 24 hours in 4 minutes (YouTube): 24 hours in 4 minutes The demonstration was of a single business system, and any user is able to scale this further, by running multiple systems simultaneously. Our goals for the event were to demonstrate a consistent capacity greater than that of Visa over an extended time period. Tooling to reproduce our demo is available here: https://github.com/dragonchain/spirit-bomb
Source code (for on & off-chain components as well tooling used for the PoC). The source code does not have to be shared publicly, but if Reddit decides to use a particular solution it will need to be shared with Reddit at some point.
Dragonchain’s architecture attacks the scalability issue from multiple angles. Dragonchain is a hybrid blockchain platform, wherein every transaction is protected on a business node to the requirements of that business or purpose. A business node may be held completely private or may be exposed or replicated to any level of exposure desired. Every node has its own blockchain and is independently scalable. Dragonchain established Context Based Verification as its consensus model. Every transaction is immediately usable on a trust basis, and in time is provable to an increasing level of decentralized consensus. A transaction will have a level of decentralization to independently owned and deployed Dragonchain nodes (~700 nodes) within seconds, and full decentralization to BTC and ETH within minutes or hours. Level 5 nodes (Interchain nodes) function to secure all transactions to public or otherwise external chains such as Bitcoin and Ethereum. These nodes scale the system by aggregating multiple blocks into a single Interchain transaction on a cadence. This timing is configurable based upon average fees for each respective chain. For detailed information about Dragonchain’s architecture, and Context Based Verification, please refer to the Dragonchain Architecture Document.
An interesting feature of Dragonchain’s network consensus is its economics and scarcity model. Since Dragon Net nodes (L2-L4) are independent staking nodes, deployment to cloud platforms would allow any of these nodes to scale to take on a large percentage of the verification work. This is great for scalability, but not good for the economy, because there is no scarcity, and pricing would develop a downward spiral and result in fewer verification nodes. For this reason, Dragonchain uses TIME as scarcity. TIME is calculated as the number of Dragons held, multiplied by the number of days held. TIME influences the user’s access to features within the Dragonchain ecosystem. It takes into account both the Dragon balance and length of time each Dragon is held. TIME is staked by users against every verification node and dictates how much of the transaction fees are awarded to each participating node for every block. TIME also dictates the transaction fee itself for the business node. TIME is staked against a business node to set a deterministic transaction fee level (see transaction fee table below in Cost section). This is very interesting in a discussion about scaling because it guarantees independence for business implementation. No matter how much traffic appears on the entire network, a business is guaranteed to not see an increased transaction fee rate.
Dragonchain uses Docker and Kubernetes to allow the use of best practices traditional system scaling. Dragonchain offers managed nodes with an easy to use web based console interface. The user may also deploy a Dragonchain node within their own datacenter or favorite cloud platform. Users have deployed Dragonchain nodes on-prem on Amazon AWS, Google Cloud, MS Azure, and other hosting platforms around the world. Any executable code, anything you can write, can be written into a smart contract. This flexibility is what allows us to say that developers with no blockchain experience can use any code language to access the benefits of blockchain. Customers have used NodeJS, Python, Java, and even BASH shell script to write smart contracts on Dragonchain. With Docker containers, we achieve better separation of concerns, faster deployment, higher reliability, and lower response times. We chose Kubernetes for its self-healing features, ability to run multiple services on one server, and its large and thriving development community. It is resilient, scalable, and automated. OpenFaaS allows us to package smart contracts as Docker images for easy deployment. Contract deployment time is now bounded only by the size of the Docker image being deployed but remains fast even for reasonably large images. We also take advantage of Docker’s flexibility and its ability to support any language that can run on x86 architecture. Any image, public or private, can be run as a smart contract using Dragonchain.
Flexibility in Scaling
Dragonchain’s architecture considers interoperability and integration as key features. From inception, we had a goal to increase adoption via integration with real business use cases and traditional systems. We envision the ability for Reddit, in the future, to be able to integrate alternate content storage platforms or other financial services along with the token.
LBRY - To allow users to deploy content natively to LBRY
MakerDAO to allow users to lend small amounts backed by their Reddit community points.
STORJ/SIA to allow decentralized on chain storage of portions of content. These integrations or any other are relatively easy to integrate on Dragonchain with an Interchain implementation.
Cost estimates (on-chain and off-chain) For the purpose of this proposal, we assume that all transactions are on chain (posts, replies, and votes).
On the Dragonchain network, transaction costs are deterministic/predictable. By staking TIME on the business node (as described above) Reddit can reduce transaction costs to as low as $0.0000025 per transaction. Dragonchain Fees Table
How to run it
Building on Dragonchain is simple and requires no blockchain experience. Spin up a business node (L1) in our managed environment (AWS), run it in your own cloud environment, or on-prem in your own datacenter. Clear documentation will walk you through the steps of spinning up your first Dragonchain Level 1 Business node. Getting started is easy...
Download Dragonchain’s dctl
Input three commands into a terminal
Build an image
More information can be found in our Get started documents.
Dragonchain is an open source hybrid platform. Through Dragon Net, each chain combines the power of a public blockchain (like Ethereum) with the privacy of a private blockchain. Dragonchain organizes its network into five separate levels. A Level 1, or business node, is a totally private blockchain only accessible through the use of public/private keypairs. All business logic, including smart contracts, can be executed on this node directly and added to the chain. After creating a block, the Level 1 business node broadcasts a version stripped of sensitive private data to Dragon Net. Three Level 2 Validating nodes validate the transaction based on guidelines determined from the business. A Level 3 Diversity node checks that the level 2 nodes are from a diverse array of locations. A Level 4 Notary node, hosted by a KYC partner, then signs the validation record received from the Level 3 node. The transaction hash is ledgered to the Level 5 public chain to take advantage of the hash power of massive public networks. Dragon Net can be thought of as a “blockchain of blockchains”, where every level is a complete private blockchain. Because an L1 can send to multiple nodes on a single level, proof of existence is distributed among many places in the network. 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. We would like to see the Ethereum developer community (and any other communities) become familiar with our SDK’s, our solutions, and our platform, to unlock the full potential of our Ethereum Interchain. 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 700 nodes compared to 8,000 Ethereum and 10,000 Bitcoin nodes. We harness those 18,000 nodes to scale to extremely high levels of security. See Dragonchain metrics.
Some may consider the centralization of Dragonchain’s business nodes as an issue at first glance, however, the model is by design to protect business data. 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.
Costs and resources
Summary of cost & resource information for both on-chain & off-chain components used in the PoC, as well as cost & resource estimates for further scaling. If your PoC is not on mainnet, make note of any mainnet caveats (such as congestion issues).
Every transaction on the PoC system had a transaction fee of $0.0001 (one-hundredth of a cent USD). At 256MM transactions, the demo cost $25,600. With current operational fees, the same demonstration would cost $640 USD. For the demonstration, to achieve throughput to mimic a worldwide payments network, we modeled several clients in AWS and 4-5 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. Given that Reddit’s daily traffic (posts, replies, and votes) is less than half that of our demo, we would expect that the entire Reddit system could be handled on 2-5 business nodes using right-sized containers on AWS or similar environments. Verification was accomplished on the operational Dragon Net network with over 700 independently owned verification nodes running around the world at no cost to the business other than paid transaction fees.
This PoC should scale to the numbers below with minimal costs (both on & off-chain). There should also be a clear path to supporting hundreds of millions of users. Over a 5 day period, your scaling PoC should be able to handle: *100,000 point claims (minting & distributing points) *25,000 subscriptions *75,000 one-off points burning *100,000 transfers
During Dragonchain’s 24 hour demo, the above required numbers were reached within the first few minutes. Reddit’s total activity is 9000% more than Ethereum’s total transaction level. Even if you do not include votes, it is still 700% more than Ethereum’s current volume. Dragonchain has demonstrated that it can handle 250 million transactions a day, and it’s architecture allows for multiple systems to work at that level simultaneously. In our PoC, we demonstrate double the full capacity of Reddit, and every transaction was proven all the way to Bitcoin and Ethereum. Reddit Scaling on 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
Dragonchain’s architecture calls for a hybrid approach. 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.
Billing is currently centralized - there is a path to federation and decentralization of a scaled billing solution.
Operational on-premises capabilities
Operational deployment to any datacenter
Over 700 independent Community Verification Nodes with proof of ownership
Operational Interchain (Interoperable to Bitcoin, Ethereum, and Ethereum Classic, open to more)
Usability Scaling solutions should have a simple end user experience.
Users shouldn't have to maintain any extra state/proofs, regularly monitor activity, keep track of extra keys, or sign anything other than their normal transactions
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. Our @Save_The_Tweet bot is popular on Twitter. 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. Examples:
Transactions complete in a reasonable amount of time (seconds or minutes, not hours or days)
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.
Free to use for end users (no gas fees, or fixed/minimal fees that Reddit can pay on their behalf)
With transaction pricing as low as $0.0000025 per transaction, it may be considered reasonable for Reddit to cover transaction fees for users. All of Reddit's Transactions on Blockchain (month) 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 2018, 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. With regard to currency or token transactions, these would occur on the Reddit network, verified to BTC and ETH. These transactions would incur the $0.0000025 transaction fee. To estimate this fee we use the monthly active Reddit users statista with a 60% adoption rate and an estimated 10 transactions per month average resulting in an approximate $720 cost across the system. Reddit could feasibly incur all associated internal network charges (mining/minting, transfer, burn) as these are very low and controllable fees. Reddit Internal Token Transaction Fees Reddit Ethereum Token Transaction Fees When we consider further the Ethereum fees that might be incurred, we have a few choices for a solution.
Offload all Ethereum transaction fees (user withdrawals) to interested users as they wish to withdraw tokens for external use or sale.
Cover Ethereum transaction fees by aggregating them on a timed schedule. Users would request withdrawal (from Reddit or individual subreddits), and they would be transacted on the Ethereum network every hour (or some other schedule).
In a combination of the above, customers could cover aggregated fees.
Integrate with alternate Ethereum roll up solutions or other proposals to aggregate minting and distribution transactions onto Ethereum.
Users should be able to view their balances & transactions via a blockchain explorer-style interface
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 example here. Node payouts within the Dragonchain console are listed in chronological order and can be further seen in either Dragons or USD. See example here. In our social media platform, Dragon Den, users can see, in real-time, their NRG and MTR balances. See example here. 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. See example here.
Exiting is fast & simple
Withdrawing funds on Dragonchain’s console requires three clicks, however, withdrawal scenarios with more enhanced security features per Reddit’s discretion are obtainable.
Interoperability Compatibility with third party apps (wallets/contracts/etc) is necessary.
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. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js. Please see our source code and API documentation.
Scaling solutions should be extensible and allow third parties to build on top of it Open source and extensible APIs should be well documented and stable
Third-party permissionless integrations should be possible & straightforward 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. Simple is better. Learning an uncommon or proprietary language should not be necessary.
Advanced knowledge of mathematics, cryptography, or L2 scaling should not be required. Compatibility with common utilities & toolchains is expected. Dragonchain business nodes and smart contracts leverage Docker to allow the use of literally any language or executable code. No proprietary language is necessary. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js.
Bonus Points: Show us how it works. Do you have an idea for a cool new use case for Community Points? Build it!
Community points could be awarded to Reddit users based upon TIME too, whereas the longer someone is part of a subreddit, the more community points someone naturally gained, even if not actively commenting or sharing new posts. A daily login could be required for these community points to be credited. This grants awards to readers too and incentivizes readers to create an account on Reddit if they browse the website often. This concept could also be leveraged to provide some level of reputation based upon duration and consistency of contribution to a community subreddit.
Dragonchain has already built a social media platform that harnesses community involvement. Dragon Den is a decentralized community built on the Dragonchain blockchain platform. Dragon Den is Dragonchain’s answer to fake news, trolling, and censorship. It incentivizes the creation and evaluation of quality content within communities. It could be described as being a shareholder of a subreddit or Reddit in its entirety. The more your subreddit is thriving, the more rewarding it will be. Den is currently in a public beta and in active development, though the real token economy is not live yet. There are different tokens for various purposes. Two tokens are Lair Ownership Rights (LOR) and Lair Ownership Tokens (LOT). LOT is a non-fungible token for ownership of a specific Lair. LOT will only be created and converted from LOR. Energy (NRG) and Matter (MTR) work jointly. Your MTR determines how much NRG you receive in a 24-hour period. Providing quality content, or evaluating content will earn MTR.
Security. Users have full ownership & control of their points.
All community points awarded based upon any type of activity or gift, are secured and provable to all Interchain networks (currently BTC, ETH, ETC). Users are free to spend and withdraw their points as they please, depending on the features Reddit wants to bring into production.
Balances and transactions cannot be forged, manipulated, or blocked by Reddit or anyone else
Users can withdraw their balance to their ERC20 wallet, directly through Reddit. Reddit can cover the fees on their behalf, or the user covers this with a portion of their balance.
Users should own their points and be able to get on-chain ERC20 tokens without permission from anyone else
Through our console users can withdraw their ERC20 rewards. This can be achieved on Reddit too. Here is a walkthrough of our console, though this does not show the quick withdrawal functionality, a user can withdraw at any time. https://www.youtube.com/watch?v=aNlTMxnfVHw
Points should be recoverable to on-chain ERC20 tokens even if all third-parties involved go offline
If necessary, signed transactions from the Reddit system (e.g. Reddit + Subreddit) can be sent to the Ethereum smart contract for minting.
A public, third-party review attesting to the soundness of the design should be available
To our knowledge, at least two large corporations, including a top 3 accounting firm, have conducted positive reviews. These reviews have never been made public, as Dragonchain did not pay or contract for these studies to be released.
Bonus points Public, third-party implementation review available or in progress
Compatibility with HSMs & hardware wallets
For the purpose of this proposal, all tokenization would be on the Ethereum network using standard token contracts and as such, would be able to leverage all hardware wallet and Ethereum ecosystem services.
Minting/distributing tokens is not performed by Reddit directly
This operation can be automated by smart contract on Ethereum. Subreddits can if desired have a role to play.
One off point burning, as well as recurring, non-interactive point burning (for subreddit memberships) should be possible and scalable
This is possible and scalable with interaction between Dragonchain Reddit system and Ethereum token contract(s).
Fully open-source solutions are strongly preferred
Dragonchain is fully open source (see section on Disney release after conclusion).
Whether it is today, or in the future, we would like to work together to bring secure flexibility to the highest standards. It is our hope to be considered by Ethereum, Reddit, and other integrative solutions so we may further discuss the possibilities of implementation. In our public demonstration, 256 million transactions were handled in our operational network on chain in 24 hours, for the low cost of $25K, which if run today would cost $625. Dragonchain’s interoperable foundation provides the atmosphere necessary to implement a frictionless community points system. Thank you for your consideration of our proposal. We look forward to working with the community to make something great!
Disney Releases Blockchain Platform as Open Source
The team at Disney created the Disney Private Blockchain Platform. The system was a hybrid interoperable blockchain platform for ledgering and smart contract development geared toward solving problems with blockchain adoption and usability. All objective evaluation would consider the team’s output a success. We released a list of use cases that we explored in some capacity at Disney, and our input on blockchain standardization as part of our participation in the W3C Blockchain Community Group. https://lists.w3.org/Archives/Public/public-blockchain/2016May/0052.html
In 2016, Roets proposed to release the platform as open source to spread the technology outside of Disney, as others within the W3C group were interested in the solutions that had been created inside of Disney. Following a long process, step by step, the team met requirements for release. Among the requirements, the team had to:
Obtain VP support and approval for the release
Verify ownership of the software to be released
Verify that no proprietary content would be released
Convince the organization that there was a value to the open source community
Convince the organization that there was a value to Disney
Offer the plan for ongoing maintenance of the project outside of Disney
Itemize competing projects
Verify no conflict of interest
Change the project name to not use the name Disney, any Disney character, or any other associated IP - proposed Dragonchain - approved
Obtain legal approval
Approval from corporate, parks, and other business units
Approval from multiple Disney patent groups Copyright holder defined by Disney (Disney Connected and Advanced Technologies)
Trademark searches conducted for the selected name Dragonchain
Obtain IT security approval
Manual review of OSS components conducted
OWASP Dependency and Vulnerability Check Conducted
Obtain technical (software) approval
Offer management, process, and financial plans for the maintenance of the project.
Meet list of items to be addressed before release
Remove all Disney project references and scripts
Create a public distribution list for email communications
Remove Roets’ direct and internal contact information
Create public Slack channel and move from Disney slack channels
Create proper labels for issue tracking
Rename internal private Github repository
Add informative description to Github page
Expand README.md with more specific information
Add information beyond current “Blockchains are Magic”
Add getting started sections and info on cloning/forking the project
Add installation details
Add uninstall process
Add unit, functional, and integration test information
Detail how to contribute and get involved
Describe the git workflow that the project will use
Move to public, non-Disney git repository (Github or Bitbucket)
Obtain Disney Open Source Committee approval for release
On top of meeting the above criteria, as part of the process, the maintainer of the project had to receive the codebase on their own personal email and create accounts for maintenance (e.g. Github) with non-Disney accounts. Given the fact that the project spanned multiple business units, Roets was individually responsible for its ongoing maintenance. Because of this, he proposed in the open source application to create a non-profit organization to hold the IP and maintain the project. This was approved by Disney. The Disney Open Source Committee approved the application known as OSSRELEASE-10, and the code was released on October 2, 2016. Disney decided to not issue a press release. Original OSSRELASE-10 document
Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it! (If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?) (Pedants: I mostly elide over lockin times) Briefly, Taproot is that neat new thing that gets us:
Multisignatures (n-of-n, k-of-n) that are just 1 signature (1-of-1) in length!! (MuSig/Schnorr)
Better privacy!! If all contract participants can agree, just use a multisignature. If there is a dispute, show the contract publicly and have the Bitcoin network resolve it (Taproot/MAST).
Activation lets devs work get back to work on the even newer stuff like!!!
Cross-input signature aggregation!! (transaction with multiple inputs can have a single signature for all inputs) --- needs Schnorr, but some more work needed to ensure that the interactions with SCRIPT are okay.
Block validation - Schnorr signatures for all taproot spends in a block can be validated in a single operation instead of for each transaction!! Speed up validation and maybe we can actually afford to increase block sizes (maybe)!!
SIGHASH_ANYPREVOUT - you know, for Decker-Russell-Osuntokun ("eltoo") magic!!!
OP_CHECKTEMPLATEVERIFY - vaulty vaults without requiring storing signatures, just transaction details!!
So yes, let's activate taproot!
The SegWit Wars
The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions. So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!
bit - A field in the block header, the nVersion, has a number of bits. By setting a particular bit, the miner making the block indicates that it has upgraded its software to support a particular soft fork. The bit parameter for a BIP9 activation is which bit in this nVersion is used to indicate that the miner has upgraded software for a particular soft fork.
timeout - a time limit, expressed as an end date. If this timeout is reached without sufficient number of miners signaling that they upgraded, then the activation fails and Bitcoin Core goes back to the drawing board.
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two. A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this. So, first some simple questions and their answers:
Why not just set a day when everyone starts imposing the new rules of the softfork?
This was done classically (in the days when Satoshi was still among us). But this might argued to put too much power to developers, since there would be no way to reject an upgrade without possible bad consequences. For example, developers might package an upgrade that the users do not want, together with vital security bugfixes. Either you live without vital security bugfixes and hire some other developers to fix it for you (which can be difficult, presumably the best developers are already the ones working on the codebase) or you get the vital security bugfixes and implicitly support the upgrade you might not want.
Sure, you could fork the code yourself (the ultimate threat in the FOSS world) and hire another set of developers who aren't assholes to do the dreary maintenance work of fixing security bugs, but Bitcoin needs strong bug-for-bug compatibility so everyone should really congregate around a single codebase.
Basically: even the devs do not want this power, because they fear being coerced into putting "upgrades" that are detrimental to users. Satoshi got a pass because nobody knew who he was and how to coerce him.
Suppose the threshold were lower, like 51%. If so, after activation, somebody can disrupt the Bitcoin network by creating a transaction that is valid under the pre-softfork rules, but are invalid under the post-softfork rules. Upgraded nodes would reject it, but 49% of miners would accept it and include it in a block (which makes the block invalid) And then the same 49% would accept the invalid block and build on top of that, possibly creating a short chain of doomed invalid blocks that confirm an invalid spend. This can confuse SPV wallets, who might see multiple confirmations of a transaction and accept the funds, but later find that in fact it is invalid under the now-activated softfork rules.
Thus, a very high threshold was imposed. 95% is considered safe. 50% is definitely not safe. Due to variance in the mining process, 80% could also be potentially unsafe (i.e. 80% of blocks signaling might have a good chance of coming from only 60% of miners), so a threshold of 95% was considered "safe enough for Bitcoin work".
Why have a timeout that disables the upgrade?
Before BIP9, what was used was either flag day or BIP34. BIP34 had no flag day of activation or a bit, instead, it was just a 95% threshold to signal an nVersion value greater than a specific value. Actually, it was two thresholds: at 75%, blocks with the new nVersion would have the new softfork rules imposed, but at 95% blocks with the old nVersion would be rejected (and only the new blocks, with the new softfork rules, were accepted). For one, between 75% and 95%, there was a situation where the softfork was only "partially imposed", only blocks signaling the new rules would actually have those rules, but blocks with the old rules were still valid. This was fine for BIP34, which only added rules for miners with negligible use for non-miners.
The reasons miners signalled support was because they felt they were being pressured to signal support. So they signalled support, with plans to actually upgrade later, but because of the widespread signalling, the new BIP66 version locked in before upgrade plans were finished. Thus, the timeout that disables the upgrade was added in BIP9 to allow miners an escape hatch.
The Great Battles of the SegWit Wars
SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain). So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%. Thus were the Great SegWit Wars started.
BIP9 Feature Hostage
If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage. You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever. With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you. This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.
ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Overt ASICBoost - Manipulates the unused bits in nVersion to reduce power consumption in mining.
Covert ASICBoost - Manipulates the order of transactions in the block to reduce power consumption in mining.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected. Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway. Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost! But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage). Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit. Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!
UASF: BIP148 and BIP8
When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit. Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit. This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core. Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout). BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled. This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9. Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.
BIP91, SegWit2X, and The Aftermath
BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community. One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym. The text of the NYA was basically:
Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91. Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit. Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X). This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists. Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout) So let's take a look at Modern Softfork Activation!
Modern Softfork Activation
This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
First have a 12-month BIP9 (fail at timeout).
If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation. The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.
PSA: Being Resilient to Upgrades
Software is very birttle. Anyone who has been using software for a long time has experienced something like this:
You hear a new version of your favorite software has a nice new feature.
Excited, you install the new version.
You find that the new version has subtle incompatibilities with your current workflow.
You are sad and downgrade to the older version.
You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system. And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk. Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations. So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist. Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems. When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well). This recommendation is from gmaxwell on IRC, by the way.
Attention incoming interns! Here's a list of TIPS I WISH I KNEW starting my intern year, some things you can start working on now and some less commonly discussed but very important parts of your job
It’s that time of year and yet again I’ve seen plenty of incoming interns asking what they can do to prepare. I wrote this post to share some tips for all of the not-exactly-medical stuff I wish I knew before I started intern year and to share a few things that interns can do before they start to feel like they’re well prepared for the long white coat. As a quick background, I was a surgery intern in the first half of the 2010s and much of this is informed by my notes and memories from that time in addition to everything I’ve learned since, particularly about professionalism both in medicine and in the business world with work I’ve done in the healthcare startup arena. I’m also not perfect and very much a work in progress myself and, outside the intern-specific items here, I try to do most of these things myself—sometimes more successfully than others. So take what you think are good ideas here, leave what you don’t think would be useful, and if anyone else has anything to add, please feel free to chime in. TL;DR: Intern year is hard. Here are some not-so-commonly-disucussed tips that may help.
1. Being an effective intern is, at its core, about being responsible, effective and reliable.
Your day to day responsibilities are nearly always dominated by the need to get things done and to do so in a manner that lets your other team members focus on their own roles and responsibilities. What about learning clinical medicine? You'll learn plenty and fast. Don't worry. When reading through these tips below, view them from an angle of “would this help me develop an effective system for making sure everything gets done and nothing falls through the cracks?”
2. For your in-the-hospital life as well as your outside-the-hospital life, remember this one thing: you will forget.
You will be busy and have responsibilities in a way you likely have never experienced before. This will naturally make the day-to-day things in life more difficult than you’re used to so developing ways to outsmart your forgetful brain will pay off.
3. You are a professional now. This is your career. You’re in it.
It’s easy to view your life as a trainee as a sort of advanced student or something in between a student and a “real doctor”. But that’s not true. View yourself as a professional building your career. Your intern year is just the first step of that career. You’re a real doctor as much as any other now.
4. One of the hardest things about being an intern or resident is dealing with feelings of isolation. It will take work to actively manage and overcome those feelings.
Imposter syndrome, feeling like you don’t know what you’re doing or that you don’t belong, feeling like you’re not the person you used to be, that you don’t have time to do all the “normal” things that other people do, thinking your co-residents or attendings think you’re dumb, feeling that you don’t have time for friends/family/hobbies, ruminating on “what if I screw this up and hurt a patient?”, or “this doesn’t matter -- the patient is going to XX or YY anyway” etc are all common feelings and they all share the same undercurrent of feeling isolated in one way or another. You need to actively work to find ways to confront and overcome these feelings or else they will control you. When they control you, you’re burned out. It may not seem like it at first, but nearly every single tip below is geared towards avoiding feelings of isolation. Feeling like you’re not in control of your finances will make you feel isolated. Feeling like you’re losing a handle on your relationships will make you feel isolated. Feeling like you’re behind on your email and haven’t done all the little things in life you need to do will make you feel isolated. Read these tips through that lens.
What you can do before you start
1. Organize and update your contacts. Seriously.
Here are some ways it can help you maintain and grow your relationships.
Use the ‘Notes’ feature in your contacts for everyone important in your life and all the new people meet.
You will forget your friends’ kids names and ages. Every time you get a birth announcement or see a post on social media, go to your friend’s contact, edit the notes and put in the info. Then, when you reach out to your friends, ask about their kids...by name.
You will forget your friends’ boyfriend/girlfriend/wife/husband/partner’s name, especially if you’ve never met them or haven’t seen them for a long time. Put their name in your friends’ card with a note like “Started seeing Sam in June 2020, he/she’s a software engineer”. Someone you know gets married? Add their wedding date to their card.
You will forget how you knew people in your contacts. Met at a conference? Was a medical student on your heme onc service? Friend-of-a-friend you met at a wedding? Someone shares an interest you have? Make a note in their contact card. Tip: these notes are for you, not them. So if someone reminds you of an actor, or didn’t stop talking about bitcoin, make a note. It will help because you will forget.
Tag your contacts or add them to lists and use those tags/lists to your advantage.
Make lists or tags for your family, your medical school friends, your undergrad friends, your coresidents, your attendings, your medical students, the hospitals you’ll be working at, etc. Put those lists or tags to use like this:
You will forget to stay in touch with people important to you. Set reminders in your phone for every week / two weeks / month, etc to pull up a list (family, medical school friends, etc), pick someone on that list you haven’t chatted with in a while and text them and ask them how they’re doing. Aim to start a conversation, ask about what’s happening in their life. Texts are more personal and meaningful than liking a post on social media or sharing a meme. Initiating conversations with your friends and family will help you feel connected and will increase the likelihood they reach out to you.
Don’t label your medical students like “MS3 Laura” or “Sub-I Juan”, etc. Label them with their full name and treat them like the colleagues they are. Put them on a list, clear it out next year if you want, but don’t treat them as “MS3 XXX“ or “MS4 YYY”. I’m sure you remember feeling like a nameless/faceless medical student at times in school and I’m sure you didn’t love it. So don’t repeat that behavior. Add a note or two about them while you’re at it. Take enough interest in your medical students to treat them well. You never know when or how you’ll cross paths with them again.
If you rotate through different hospitals, you will forget which “ED” or “PACU” or “nursing station 3rd floor” numbers are which. Tag them or put them on a list. It’ll make finding them when you need them much easier.
2. Use a good note taking app and a good task manager app to help with both your in-hospital life and your outside-of-the-hospital life.
Here are some ways to use a notes app.
Make a note for each rotation you’re on. Add in any unstructured tips as they come up, like “Send all of Dr. X’s patients home with Y”, “Use the call room in the basement outside of the locker room, passcode 1234”, “Park in the X lot on the weekends”, “Dr. A likes to manage Z with Y”, “The case manager, NAME, usually sits at the computer behind the 2nd floor nurses station”, etc. Don't overthink them, just write them down when they come up. Review those notes the next time you rotate through because you will forget all those little things and they will help you in the future.
Create a master grocery list of all things you typically get at the grocery store. Share it with a roommate/partner so they can keep it updated too. That way if you ever stop to pick something up, you can review the list to make sure there’s nothing you’ll forget.
Make master lists for other things in your life too like “packing for a conference”, “packing for a family trip”, “Target/Wal-Mart household master list” so you can quickly review anytime something comes up so you minimize the chance of forgetting something
Make notes for all of the other stuff you have to manage in your life like your car, your apartment/house, your loans, etc and update them every time you work on that thing. Change your loan repayment? Add it to the note. Have to get your brakes fixed? Add to the note where you got it done, how much it cost, etc. Talk to your landlord about fixing the shower? Add it to the note. Have to call the medical board to sort something out with a license? Add it to the note.
I like two note apps on iOS: Bear for personal notes since it’s fast and has great tagging and Apple’s Notes app for shared notes
Pick a good task manager app and use it for all the things in your life that aren’t your day-to-day work
Cousin getting married and you can go to the wedding? Make tasks to ensure your time off, book your travel, buy a gift, rent a hotel room, etc. Then put all the relevant info into your note because...you will forget.
Pandemic is over and you get to present a poster at a conference? Make tasks to review your draft with your coauthors, print your poster, book your travel, submit your reimbursement, etc. Then put all the relevant info into a note. Otherwise, you’ll forget.
I like Things and have also liked OmniFocus. There is a ton of content on how to set one of these things up for productivity so review it and use it YouTube search
3. Take charge of your finances
When I was an intern, I figured all I had to do was pay my loans and not go into more debt. I wish I had done the following instead:
Read these two books: The White Coat Investor and I Will Teach You To Be Rich. Both are very good and have different strengths. The WCI is directly applicable to you and will help educate you in ways medical school didn’t about your financial future. IWTYTBR is much more of a “millennial” book but it’s very good for explaining big concepts and for providing a system to set yourself up for success. They’re both easy and relatively quick reads and don’t require any financial background. WCI is fine as an e-book but IWTY has a bunch of dialog boxes that make the e-book a poor experience, get a physical new or used copy.
Set up a budget. I use and swear by You Need A Budget. It’s the best money I spend every year. Their system is easy and straightforward and it doesn’t take long to get the hang of it. I can’t recommend it highly enough.
4. Update your CV now and keep it updated regularly
You will no doubt have to share your CV with someone at some point whether it’s for fellowship or a research project or any number of things. The time to work on it is not when someone says “can you share your CV?” -- that’s a recipe for omissions, typos and mistakes. The only thing you should be doing every time you share your CV is giving it a quick once-over to make sure you don’t spot any mistakes and to make sure it’s up to date There are plenty of templates online and your training institution may even have a preferred format somewhere on their website. Your ERAS application will give you a good head start but most of your medical school CV lines will either be condensed or removed all together unless something was particularly notable. You can almost always find example CVs online from senior people in your department or institution with a quick web search -- use a few as a guide Set a reminder / task to update your CV at regular intervals. Quarterly is good, yearly at least. Save new versions of it each time so you can refer to the old ones if you need to and name them in a way to let you know you’re always sharing the most recent version, e.g., LASTNAME_FIRST NAME_CV_2020-06. You will forget if the one marked “CV” only is the right one you want to share.
5. Subscribe to a couple of newsletters to stay up to date with the world outside of your hospital
For general news, your preferred newspaper probably has a daily email briefing. Otherwise, Axios AM/PM and Politico’s Playbook are both very good quick reads to stay up to date with current events.
Keep up with healthcare news so you know what’s going on in the healthcare system broadly
Politico’s Pulse and Morning eHealth are both very good and have quick facts at the beginning if you just want to skim
Rock Health’s Rock Weekly is a decent summary of each week in the healthcare startup and technology world
Pick a few of these and aim to get through them each day. If you can’t get through them, unsubscribe to the ones you think are least relevant to you so you never feel “behind” in staying up with the news. You can breeze through the few you pick in a few minutes here and there throughout the day -- don’t make it any harder than that to feel like you’re “up to date” on the news.
General tips for maintaining relationships
For any romantic relationship, do these things if you don’t already:
1. Make a rule: no phones at the table. * Don’t put your phone on the table face-up. Don’t put your phone on the table face-down. Keep your phone off the table and set to silent. * Focus on the person in front of you and show them you care about them by paying attention to them. We all know what it feels like to be with someone more interested in their screen than in interacting with you. If you’re on call, say “sorry, I’m on call, I may have to check something here and there”, apologize if you do check it and then put your phone away. 2. Make another rule: no phones in bed * Same principle as at the table. Want to feel like two strangers just passing through life who just so happen to share the same bed? Wake up, reach for your phone and scroll through your feeds like a zombie before getting out of bed. Same idea before bed. Your phone can wait. 3. If you’re at the point where you share finances, set a regular meeting to review how you’re doing. * Ideally, this is a “red, yellow or green” meeting and should only take a few minutes. Money can be a big conflict issue for relationships and avoiding talking about money is a surefire way to eventually turn to conflict. If you have a budget and shared goals, this should be quick. * A monthly check-in is good. Create a recurring calendar event, attach the shared notes or spreadsheet document you use, add your goals for the meeting and honor the meeting when it comes around.
Eat with people who are important to you, if you can.
There’s something about sharing a meal that’s special in human nature. Friends who are important to you? Partners? Mentors you’re looking to get to know better after you’ve had a few chats? Try to eat with them when you can. And keep your phone off the table.
The same idea works with your coresidents and teams in the hospital. Eat with them if you can. Eating with others builds, strengthens and maintains relationships. Keep your phone off the table if you can.
Think about it this way: who would you consider a better mentor, the person you’ve met with a few times in their office where they sit behind their desk and you in front of them while they glance at their computer screen every time it pings or the person who’s invited you to get coffee or food and they kept their phone away the whole time? Now turn that around and realize the power of the message you can send to people you care about by trying to eat with them and show them they have your full attention.
1. Learn to think about tasks as a continuum from start to finish instead of as a binary 'done/not done'.
Let’s say you have to order a CT for a patient of yours.
Instead of marking the task as complete the second you place the order for the CT, recognize that the whole task is not just placing the order, but also knowing when your patient is going down to the scanner, when they’re back, when the CT is up in the system, when the report is up and also that you’ve looked at the CT yourself and have read the report.
When your senior or attending asks you, “Did patient X get their CT?”, a not-so-great answer is “Yes” or “No”. A better answer is “they’re down at the scanner now” or “the scan’s done but it hasn’t been read yet. Want to look at it?” or “Yes, it’s negative for XXX but did show YYY”.
Whatever system you eventually adopt for your day-to-day task management in the hospital, whether it’s a list or index cards or a printed signout sheet, make sure you’re tracking both when orders go in, when they’re complete, when they’re cancelled, etc. Just marking things as complete once you place the order isn’t enough.
2. Signout is taken, not given.
What I mean by this is that when you take signout, that means you’re accepting responsibility for those patients. They might be your patients, you might be cross-covering, it doesn’t matter. What matters is that when those patients are your responsibility, it’s your responsibility to get what you need to know to take care of them. Is someone signing out to you in a hurry and not giving you what you need? Ask them for that relevant past medical history, those exam findings, and so on. It’s not enough for the person handing off to say “we’re worried about x or y”, you’ve got to follow that up with “in case of x or y, is there a plan for what the team wants me to do?”. Get the answers you need. A lot of covering patients on call is playing defense whereas the primary team generally plays offense. But that doesn’t mean you can play defense in isolation. The last thing you want is for the primary team to feel surprised by your choices.
* Here’s two ways for the above example to go when turning the patients you were covering back over the next day or whatever: 1. You: “For patient so-and-so, you said you were worried about x or y. Y happened.” Them: “What did you do?”. You: “Z”. Them: “Shit, my attending’s not gonna like that”. 2. You “Y happened so I did A like you said, it went fine and here’s the current status”. Them: “Great, thanks” * See the difference?
Along the lines of taking responsibility for those patients, that means that if you couldn’t get the information you needed at signout then you have to go and see those patients and get the information you need yourself.
You’ll hear this idea said a bunch of different ways like “trust but verify”, “trust no one” and your comfort level will change over the year as you become more confident and comfortable. But always error on the side of going to see the patient and getting your own information at the start.
3. If you will be miserable without something when you’re in the hospital, bring it with you. You won’t reliably be able to find it at the hospital every time you need it.
Need coffee otherwise you turn into a demon? Bring it with you. You never know when you’ll get caught doing something and won’t be able to run to the cafeteria for your fix.
On call overnight and know you need food so you don’t go insane? Bring it with you. Here’s a hospital food rule: never rely on the hospital's ability to feed you. The hospital will let you down sooner or later, I guarantee it.
Know you always get cold on call? The day you forget your jacket/sweatshirt is the day you won’t be able to find a spare blanket in the hospital to save your life. Put a backup in your locker (if your hospital respects you enough to give you one).
Miscellaneous productivity, professionalism and lifestyle tips
1. Aim to “touch” everything only once
Example: your physical mail. You know, the stuff made of dead trees that accumulates in that box you check every once in a while. For every piece of mail you get, you should either trash it, file it, or act on it. Don’t touch it until you’re ready to do one of those things.
Example: your email. Either delete it, archive it, reply to it or do the thing it’s telling you to do right away. Don’t fall into the trap of using your inbox as a to-do list -- that’s a recipe to get burned. Use a task manager for your to-do list and aim to keep your inbox at zero. Realize that email’s true power is communication and use it as a communication tool and nothing else.
I’ll use the example of going to a wedding again as something to “touch once”. Aim to accomplish all the tasks at once or at least create tasks and reminders to complete those tasks all in one go. Respond to the RSVP, create the calendar invite with all the information from the invitation, share the calendar event with your date, book your travel, book your hotel, book your rental car, buy your gift from the registry and set a reminder to get your suit/dress cleaned a few weeks ahead, etc.
2. Lean to use your calendar as a tool
Professionals in the “real world” tend to live and die by their calendars. Some people, especially many senior people in medicine, don’t manage their own calendars. But you manage yours. With it you can:
Make sure all events—even small ones like dates or errands you want to run—have locations so all you have to do is click the location for directions
Send invites to friends / family / coworkers for anything you talk about doing that has the relevant info
Make reminders for yourself to prepare for upcoming events, i.e.., don’t count on seeing your parents’/spouses’/whomever’s birthday “coming up” to remind you to get a gift or send a card. Create an event two weeks before their birthday that says “Buy Mom a birthday card”, set it to repeat yearly and buy a card when it comes up, send it a few days later and don’t worry that it won’t get there in time.
3. Learn to use email well
Ever get an email from someone and feel their tone was terse, condescending or rude? Don’t be that person. Error on the side being polite and professional and writing in complete sentences without textspeak. It’s not hard — you type fast, even with your thumbs, I’m sure of it.
Learn to communicate effectively. Keep it short but not terse. State why you’re writing to someone, be clear if you’re asking a question, and think about it this way: “How am I making it as easy as possible for this person to understand why I’m emailing them and do what I’m asking them to do?
Don’t use a canned salutation like “Best, NAME” or even worse: “Best, INITIALS”. Use your salutation to continue to communicate your message and remember that politeness and professionalism extend through your signature.
I don’t know why “Best,” is so common in medicine but it’s meaningless, unthoughtful, inherently passive aggressive and I seriously read it as if the person writing it were signing off by saying “Go f*ck yourself,”. Same thing for “Regards,” and its ilk, any abbreviation like “vr,” or any form of cutesy quote.
Write your salutation fresh each time. Did you ask someone for something? Say “Thank you for your help”. Are you writing someone senior to you and want to sound somewhat formal? “Sincerely,” never goes out of style. Are you sharing information and essentially writing a memo? Use “Please let me know if you have any questions”. Your salutation is communication, treat it that way.
Sign with your name, not your initials. Signing with initials is a common way senior people will try to remind you they’re senior to you. If you do it, it’s like you’re trying to prove you’re a Cool Guy Big Shot too. It never comes across well -- even for those senior people. Initials are terse. Lowercase initials are even terser. Although they may look different at first glance, all initial signatures functionally come across as ‘FU’. Write your name.
If it’s a few rounds back and forth of email, it’s normal drop salutations and signatures and treat email more like texting. Keep using complete sentences without textspeak, though. I promise you’ll come across better that way.
Use the ‘signature’ feature of your email client to share your professional details and contact information
Your institution (not department) will hopefully have a format for this that’s standardized and includes minimal or no graphics. If it doesn't, then I feel sorry for all the inevitable IT headaches you will eventually endure at your institution since they clearly underfund and undervalue contemporary IT and professional services. It’s the wild west out there so find some good examples of clean, professional signature formats and make one for yourself.
Note: this signature lives below your salutation and sign off. It’s essentially the letterhead for your email that lets your recipient fill in the details you may not otherwise provide like your department, mailing address or fax number. It’s not a replacement for signing off of your communication professionally.
Never use bold, italics, underlines or different font sizes in your emails. They only make emails harder to read and jumble your message.
If you want to highlight something, put it in a numbered or bulleted list.
If you can’t communicate what you want with 2-3 bulleted points, then email is not the right medium to use. Do you like reading long emails? Of course you don’t. Write a memo, attach it as a PDF or shared doc and use the email to tell your recipients to review the attachment.
You will eventually, in some way or another, ask someone to introduce you to one of their contacts and or refer you for something. Learn how to write a good forwardable email that utilizes the double opt-in concept and how to make it easy on the person doing you the favor. Read more here, here and here.
While you’re at it, understand the power of using CC and BCC to communicate effectively.
Aim to answer all emails written directly to you within 24 hours.
If you can’t respond fully right away, respond briefly saying you got the note and that you’ll work on it and get back to them. Set a reminder or create a task to do or review the thing and get back to them once you’ve done it.
Do you hate being left on read in text? You do it in email every time you don’t respond to someone in a timely fashion. It’s better to share a quick, “I got it and I’m working on it message” then not replying until days or weeks later.
4. Don’t let someone else’s negative energy and/or anxiety transfer to you
You will frequently experience things like this in the hospital:
A co-resident disagrees with a management decision made at rounds and mentions that so-and-so is an idiot. So-and-so probably isn’t an idiot. Your co-resident probably isn’t an idiot either. Form your own opinions from your own experiences.
A nurse pages you with a tone that says “THIS IS REALLY BAD”. It might be, go and see. And on your way, stay calm and go over the steps in your head of what you’d do if it is, in fact, REALLY BAD. But don’t freak yourself out before you even get to the room. You won’t be able to make decisions with a clear head if you’re already worked up.
You’re a surgery intern and all your patients are normally on the med-surg floor. Every once in a while, one goes somewhere like heme-onc if the med-surg floor is full. Someone on your team says something like “great, now they’re going to screw up our patient”. Recognize that that floor isn’t full of terrible nurses and may just have less experiences with lines and drains and that the best thing you can do is go down there, talk to the nurse and say “here’s what we want to be called about” and “this thing may look bad but it usually isn’t and we don’t need to be called, here’s why”, and so on. Doing things like this will mean you get fewer calls. Fewer calls are good.
Your attending is having a bad day and you’re not enjoying your interactions with them. Don’t let that make you have a bad day too. Medicine is hard enough as it is, stick to your own bad days instead adopting other people’s. Then pull up your friend list, text a buddy and feel better.
5. Don’t neglect your physical health. Trying to eat well and stay active are even more important when you’re insanely busy.
The #1 thing you can do to help your waistline is cook your own food and pack your own meals. It doesn’t matter what you cook or how good of a cook you are, as long as you’re aiming to pack meals that an adult would eat, it will be healthier than takeout and cafeteria food. It’s better for portion control, you control all the ingredients and you get a sense of satisfaction for being on the ball. It’s better in every way. I know it’s not realistic to always prep and pack your own food on the busiest of services but you should try to hit at least a percentage like 25% or 50% of your meals. There are no lost causes in your own health. It will be hard to exercise and work out. You should still try to do it anyway. You will go long stretches without exercising at times. Don’t beat yourself up about it. Every day is a chance to do the thing you want to do so get back out there.
6. If your social profiles are private, consider doing some housekeeping and making them public.
Instead of thinking about them as a liability to be that needs to be hidden, think about them as a narrative you can control. Nothing is private on the internet. Even your private profile. You never know who knows someone you know or what may get screenshotted and shared down the line. It’s natural to run a web search on anyone you’re meeting for a date, interviewing with for a job, or researching in general. When you search your own name, what comes up? What do you think when you’re searching for someone and they have a private page? Do you ever click on a few links to see professional stuff from LinkedIn, and then some social pages to see what else you learn? So does everyone else. Use your social pages to put forward a version of you that shows who you are, shows some interests true to yourself, makes you seem like a totally normal and reliable person (which is exactly what any potential date, partner, fellowship director or hiring manager is asking themselves about you) and doesn’t share enough information to let a patient show up at your door. Medicine lags behind other industries with people still commonly hiding behind private pages. In the tech world, it’s more strange to not have a public page. A private page says more about you that you might want to hide red flags whereas a public page says “go ahead and look, you won’t find any red flags”. One is much more powerful than the other.
Closing and something to read
When you view your professional life, it’s natural to view your professional relationships as being a binary one between patient and physician. That’s certainly essential and certainly important, but as a professional you now have relationships to consider with so many more types of people: co-residents, faculty in your department, faculty in other departments, administrators, support staff, medical students, and so on. Just as you had to learn how to work with patients, you will have to learn to work with all of the other people in your professional life. Truly effective professionals will treat all interactions importantly and give thought and consideration to each one. All these interactions and relationships will all affect your day-to-day experience, your well-being and, ultimately, your professional experience. You will find yourself being not just responsible for your patients, but also for yourself, your career and your relationships. It takes effort to succeed in all of those areas. And even with effort, sometimes you’ll be winning in an area and losing in others. And in a few months it will be different -- that’s just life. I want you to consider looking outside of books and resources written specifically for physicians when you’re trying to tackle these issues inside the hospital and out. Medicine is a much-smaller-than-you-realize bubble with a long history of personality-driven examples of “that’s just the way we do it” or “that’s how we’ve always done it”. There are good books about medicine out there, to be sure, but you’ll benefit more professionally by learning from the wide world outside of hospitals since there are quite simply many more successful and accomplished people who’ve written great resources for all aspects of professional life that medicine tends to ignore. I’d recommend you start with this book: Andy Grove’s High Output Management (a review by another Valley titan here). Andy escaped communist Hungary, taught himself English and rose to be CEO of Intel and went on to be a sage of Silicon Valley before he passed. This book is a how-to guide for how to be an effective professional in an organization (hint: you're now a professional in an organization) and if you’ve enjoyed this post at all, you’ll love this book. You may think that this book applies to ‘managers’ and ‘business’ and not medicine but you couldn’t be more wrong. Although it was probably written around the time you were born, nearly everything in this book is a lesson that directly applies to your professional life in medicine and when you start seeing it, you’ll feel like you’re in The Matrix. Congratulations! You've worked hard to get here. Be proud of yourself, your degree, your long white coat and be the best doctor you can be.
This is a continuation of the Mandela Effect story.For the introduction, clickhere. How did you first become aware of the Incident? I have a lot of fans, and I often hold events that allow me to mingle with them. They have all sorts of interesting careers, and I like to ask them questions about their lives. Maybe it’s my sincerity, or maybe it’s just part of being a celebrity, but when they open up and tell me about their lives, they frequently share things that they might not tell another person. I was in a deep conversation with one of these fans, and he says “You know, I work for (the Silicon Valley Mogul) and there is just the strangest project that he’s working on. It involves you, interestingly enough.” I mean, obviously I want to know more, so I ask him more questions and he tells me about this weird guy that the NSA is surveilling. They’re tracking his internet habits and it turns out that he repeatedly googles and reads whatever are the most recent news articles on the same five people: Donald Trump, (The Silicon Valley Mogul), Kanye West, Vladimir Putin, and me. So I’m surprised, like “Wow. That’s really weird.” And obviously I’m a little worried too, because I’ve had a lot of stalkers, and it’s a really unsettling experience. So I tell him “Hey, this is really scary, and I’m kind of worried that I may have a stalker that I don’t know about. I’m not asking you to say or do anything that would endanger your job, but if he does anything else that involves me, would you please let me know?” Anyway, a few weeks passes, and I hear back from him and he says “You know, it’s the weirdest thing. He just granted you limited power of attorney in regards to IP infringement. He thinks that the NSA is trying to infringe upon his IP!” I’m like “WHAT?” It turns out that you’re verbally allowed to grant power of attorney and he did so until the end of 2019, to be extended in the event that I file any lawsuits on his behalf. What did you do? Well, I mean, what does one do in a situation like that? I talked to my friends about it. They also thought it was the weirdest thing, and one of them was laughing that we should try to get a message to him. My fan, the guy who works for (The Silicon Valley Mogul), told me that this guy reads Daily Mail a lot. It’s sort of this trashy British tabloid that has a lot of pictures in it. It’s not too expensive to insert a paid article there: in fact a lot of Z-list celebrities and Instagram influencers do it when they’re trying to get their glow-up. So as a joke, one of my friends puts a paid ad in there about me… and the guy answers! But here’s the weird thing, he doesn’t hit the post button. He responds with a thoughtful comment and then deletes it. Like what? Anyway, once me and my friends find out that we can communicate with this guy through Daily Mail, it becomes a thing for us and we try to find out his opinion about all sorts of different things. When you move through our world it can be hard to get a genuine opinion, and this guy is painfully honest. I mean, why wouldn’t he be? He deletes the posts, so there’s no evidence that they even exist. We’re the only ones who know. Anyway, it eventually becomes this sort of… game. We occasionally post paid articles in Daily Mail and ask him his opinion on things. Sometimes it’s serious stuff, like politics or racial issues. Sometimes it’s totally trivial, like… just the other day, a popular actress was asking his opinion about her ankles. Weird stuff like that. We ask his opinions through Daily Mail and my friend who works for (The Silicon Valley Mogul) relays his typed but deleted message back to us a day later. Eventually, we hear his comment about the colors. “Monochrome with a little red if you pledge your loyalty to me, blue and pink if you think I’m sexy.” And we do that too, because, hey, it’s fun. A lot of us are into fashion anyway, so this is like, a… a cool little thing to let other people know that you’re in on the secret, that you’re in the know. 21 is a special number for him for some reason - so every month, on the 21st, we dress up in hiscolors. Someof us even work themintomusicvideos, trailers for coming movies, or the colorscheme of our musictours. Even corporations are doing it too now, using these color schemes in their commercials. There are symbols, too. Like the “OK”symbol, or the illuminatisign of the trianglenearyoureye. Those apparently have some sort of significance to him also, so we try to sneak it into our paparazzi shots or poses. And then one day, I look around, and I’m like… wait a second, this is a cult. I’m in a secret cult. We have weird symbols, and similarclothing, and strange rituals we do on a certain day of the month, and a huge secret shared only by us that the rest of the world doesn’t know about. (Laugh) What is your interpretation of the Incident? Well, it’s pretty obvious. Shortly after I realized we were in a secret cult, he posted a link to a book on Amazon. It’s written like a cross between a Spellbook, an unhinged Twitter rant, and some sort of science handbook. Except this isn’t any sort of normal science. This is something called “Game Theory” and “Memetics.” Basically, those are sciences of crowd manipulation, except right now they’re still speculative – people can’t agree whether or not they exist or are just wild fringe ideas. But this guy’s theories are like, two decades ahead of everybody else. Apparently, for the past twenty years he has secretly been doing mad science experiments on how to manipulate groups, and he just proved it by starting a cult in Hollywood without even ever meeting a single one of us in person. But here’s the crazy thing – there’s no proof of any of this. Like I said, he never hit the post button on any of his comments, so there’s no proof any of them existed. If it wasn’t for the fact that we’re all doing the same things, you wouldn’t know. He’s covered his tracks perfectly. If not for the fact that you came here to interview me about it, I’d never say anything, because who would believe me? What part of the Incident would you categorize as paranormal or outside the bounds of understanding? OK, this is really going to come off as narcissistic, and I really don’t mean it to come off this way… (laughs) Go on. Well, the impression I initially had of this guy is that he was a stalker who was obsessively into me. Even after I changed my mind about that, it seemed pretty clear that he was attracted to me. I mean… to be entirely honest, I got curious and asked him about it on Daily Mail once, and he flat-out admitted it. But, the weird thing is… Yes? After January 1st, 2020, he didn’t read even a single Daily Mail article about me. Not even one.
Hey all, I've been researching coins since 2017 and have gone through 100s of them in the last 3 years. I got introduced to blockchain via Bitcoin of course, analyzed Ethereum thereafter and from that moment I have a keen interest in smart contact platforms. I’m passionate about Ethereum but I find Zilliqa to have a better risk-reward ratio. Especially because Zilliqa has found an elegant balance between being secure, decentralized and scalable in my opinion.
Below I post my analysis of why from all the coins I went through I’m most bullish on Zilliqa (yes I went through Tezos, EOS, NEO, VeChain, Harmony, Algorand, Cardano etc.). Note that this is not investment advice and although it's a thorough analysis there is obviously some bias involved. Looking forward to what you all think!
Fun fact: the name Zilliqa is a play on ‘silica’ silicon dioxide which means “Silicon for the high-throughput consensus computer.”
This post is divided into (i) Technology, (ii) Business & Partnerships, and (iii) Marketing & Community. I’ve tried to make the technology part readable for a broad audience. If you’ve ever tried understanding the inner workings of Bitcoin and Ethereum you should be able to grasp most parts. Otherwise, just skim through and once you are zoning out head to the next part.
Technology and some more:
The technology is one of the main reasons why I’m so bullish on Zilliqa. First thing you see on their website is: “Zilliqa is a high-performance, high-security blockchain platform for enterprises and next-generation applications.” These are some bold statements.
Before we deep dive into the technology let’s take a step back in time first as they have quite the history. The initial research paper from which Zilliqa originated dates back to August 2016: Elastico: A Secure Sharding Protocol For Open Blockchains where Loi Luu (Kyber Network) is one of the co-authors. Other ideas that led to the development of what Zilliqa has become today are: Bitcoin-NG, collective signing CoSi, ByzCoin and Omniledger.
The technical white paper was made public in August 2017 and since then they have achieved everything stated in the white paper and also created their own open source intermediate level smart contract language called Scilla (functional programming language similar to OCaml) too.
Mainnet is live since the end of January 2019 with daily transaction rates growing continuously. About a week ago mainnet reached 5 million transactions, 500.000+ addresses in total along with 2400 nodes keeping the network decentralized and secure. Circulating supply is nearing 11 billion and currently only mining rewards are left. The maximum supply is 21 billion with annual inflation being 7.13% currently and will only decrease with time.
Zilliqa realized early on that the usage of public cryptocurrencies and smart contracts were increasing but decentralized, secure, and scalable alternatives were lacking in the crypto space. They proposed to apply sharding onto a public smart contract blockchain where the transaction rate increases almost linear with the increase in the amount of nodes. More nodes = higher transaction throughput and increased decentralization. Sharding comes in many forms and Zilliqa uses network-, transaction- and computational sharding. Network sharding opens up the possibility of using transaction- and computational sharding on top. Zilliqa does not use state sharding for now. We’ll come back to this later.
Before we continue dissecting how Zilliqa achieves such from a technological standpoint it’s good to keep in mind that a blockchain being decentralised and secure and scalable is still one of the main hurdles in allowing widespread usage of decentralised networks. In my opinion this needs to be solved first before blockchains can get to the point where they can create and add large scale value. So I invite you to read the next section to grasp the underlying fundamentals. Because after all these premises need to be true otherwise there isn’t a fundamental case to be bullish on Zilliqa, right?
Down the rabbit hole
How have they achieved this? Let’s define the basics first: key players on Zilliqa are the users and the miners. A user is anybody who uses the blockchain to transfer funds or run smart contracts. Miners are the (shard) nodes in the network who run the consensus protocol and get rewarded for their service in Zillings (ZIL). The mining network is divided into several smaller networks called shards, which is also referred to as ‘network sharding’. Miners subsequently are randomly assigned to a shard by another set of miners called DS (Directory Service) nodes. The regular shards process transactions and the outputs of these shards are eventually combined by the DS shard as they reach consensus on the final state. More on how these DS shards reach consensus (via pBFT) will be explained later on.
The Zilliqa network produces two types of blocks: DS blocks and Tx blocks. One DS Block consists of 100 Tx Blocks. And as previously mentioned there are two types of nodes concerned with reaching consensus: shard nodes and DS nodes. Becoming a shard node or DS node is being defined by the result of a PoW cycle (Ethash) at the beginning of the DS Block. All candidate mining nodes compete with each other and run the PoW (Proof-of-Work) cycle for 60 seconds and the submissions achieving the highest difficulty will be allowed on the network. And to put it in perspective: the average difficulty for one DS node is ~ 2 Th/s equaling 2.000.000 Mh/s or 55 thousand+ GeForce GTX 1070 / 8 GB GPUs at 35.4 Mh/s. Each DS Block 10 new DS nodes are allowed. And a shard node needs to provide around 8.53 GH/s currently (around 240 GTX 1070s). Dual mining ETH/ETC and ZIL is possible and can be done via mining software such as Phoenix and Claymore. There are pools and if you have large amounts of hashing power (Ethash) available you could mine solo.
The PoW cycle of 60 seconds is a peak performance and acts as an entry ticket to the network. The entry ticket is called a sybil resistance mechanism and makes it incredibly hard for adversaries to spawn lots of identities and manipulate the network with these identities. And after every 100 Tx Blocks which corresponds to roughly 1,5 hour this PoW process repeats. In between these 1,5 hour, no PoW needs to be done meaning Zilliqa’s energy consumption to keep the network secure is low. For more detailed information on how mining works click here. Okay, hats off to you. You have made it this far. Before we go any deeper down the rabbit hole we first must understand why Zilliqa goes through all of the above technicalities and understand a bit more what a blockchain on a more fundamental level is. Because the core of Zilliqa’s consensus protocol relies on the usage of pBFT (practical Byzantine Fault Tolerance) we need to know more about state machines and their function. Navigate to Viewblock, a Zilliqa block explorer, and just come back to this article. We will use this site to navigate through a few concepts.
We have established that Zilliqa is a public and distributed blockchain. Meaning that everyone with an internet connection can send ZILs, trigger smart contracts, etc. and there is no central authority who fully controls the network. Zilliqa and other public and distributed blockchains (like Bitcoin and Ethereum) can also be defined as state machines.
Taking the liberty of paraphrasing examples and definitions given by Samuel Brooks’ medium article, he describes the definition of a blockchain (like Zilliqa) as: “A peer-to-peer, append-only datastore that uses consensus to synchronize cryptographically-secure data”.
Next, he states that: "blockchains are fundamentally systems for managing valid state transitions”. For some more context, I recommend reading the whole medium article to get a better grasp of the definitions and understanding of state machines. Nevertheless, let’s try to simplify and compile it into a single paragraph. Take traffic lights as an example: all its states (red, amber, and green) are predefined, all possible outcomes are known and it doesn’t matter if you encounter the traffic light today or tomorrow. It will still behave the same. Managing the states of a traffic light can be done by triggering a sensor on the road or pushing a button resulting in one traffic lights’ state going from green to red (via amber) and another light from red to green.
With public blockchains like Zilliqa, this isn’t so straightforward and simple. It started with block #1 almost 1,5 years ago and every 45 seconds or so a new block linked to the previous block is being added. Resulting in a chain of blocks with transactions in it that everyone can verify from block #1 to the current #647.000+ block. The state is ever changing and the states it can find itself in are infinite. And while the traffic light might work together in tandem with various other traffic lights, it’s rather insignificant comparing it to a public blockchain. Because Zilliqa consists of 2400 nodes who need to work together to achieve consensus on what the latest valid state is while some of these nodes may have latency or broadcast issues, drop offline or are deliberately trying to attack the network, etc.
Now go back to the Viewblock page take a look at the amount of transaction, addresses, block and DS height and then hit refresh. Obviously as expected you see new incremented values on one or all parameters. And how did the Zilliqa blockchain manage to transition from a previous valid state to the latest valid state? By using pBFT to reach consensus on the latest valid state.
After having obtained the entry ticket, miners execute pBFT to reach consensus on the ever-changing state of the blockchain. pBFT requires a series of network communication between nodes, and as such there is no GPU involved (but CPU). Resulting in the total energy consumed to keep the blockchain secure, decentralized and scalable being low.
pBFT stands for practical Byzantine Fault Tolerance and is an optimization on the Byzantine Fault Tolerant algorithm. To quote Blockonomi: “In the context of distributed systems, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers.” Zilliqa is such a distributed computer network and depends on the honesty of the nodes (shard and DS) to reach consensus and to continuously update the state with the latest block. If pBFT is a new term for you I can highly recommend the Blockonomi article.
The idea of pBFT was introduced in 1999 - one of the authors even won a Turing award for it - and it is well researched and applied in various blockchains and distributed systems nowadays. If you want more advanced information than the Blockonomi link provides click here. And if you’re in between Blockonomi and the University of Singapore read the Zilliqa Design Story Part 2 dating from October 2017. Quoting from the Zilliqa tech whitepaper: “pBFT relies upon a correct leader (which is randomly selected) to begin each phase and proceed when the sufficient majority exists. In case the leader is byzantine it can stall the entire consensus protocol. To address this challenge, pBFT offers a view change protocol to replace the byzantine leader with another one.”
pBFT can tolerate ⅓ of the nodes being dishonest (offline counts as Byzantine = dishonest) and the consensus protocol will function without stalling or hiccups. Once there are more than ⅓ of dishonest nodes but no more than ⅔ the network will be stalled and a view change will be triggered to elect a new DS leader. Only when more than ⅔ of the nodes are dishonest (66%) double-spend attacks become possible.
If the network stalls no transactions can be processed and one has to wait until a new honest leader has been elected. When the mainnet was just launched and in its early phases, view changes happened regularly. As of today the last stalling of the network - and view change being triggered - was at the end of October 2019.
Another benefit of using pBFT for consensus besides low energy is the immediate finality it provides. Once your transaction is included in a block and the block is added to the chain it’s done. Lastly, take a look at this article where three types of finality are being defined: probabilistic, absolute and economic finality. Zilliqa falls under the absolute finality (just like Tendermint for example). Although lengthy already we skipped through some of the inner workings from Zilliqa’s consensus: read the Zilliqa Design Story Part 3 and you will be close to having a complete picture on it. Enough about PoW, sybil resistance mechanism, pBFT, etc. Another thing we haven’t looked at yet is the amount of decentralization.
Currently, there are four shards, each one of them consisting of 600 nodes. 1 shard with 600 so-called DS nodes (Directory Service - they need to achieve a higher difficulty than shard nodes) and 1800 shard nodes of which 250 are shard guards (centralized nodes controlled by the team). The amount of shard guards has been steadily declining from 1200 in January 2019 to 250 as of May 2020. On the Viewblock statistics, you can see that many of the nodes are being located in the US but those are only the (CPU parts of the) shard nodes who perform pBFT. There is no data from where the PoW sources are coming. And when the Zilliqa blockchain starts reaching its transaction capacity limit, a network upgrade needs to be executed to lift the current cap of maximum 2400 nodes to allow more nodes and formation of more shards which will allow to network to keep on scaling according to demand. Besides shard nodes there are also seed nodes. The main role of seed nodes is to serve as direct access points (for end-users and clients) to the core Zilliqa network that validates transactions. Seed nodes consolidate transaction requests and forward these to the lookup nodes (another type of nodes) for distribution to the shards in the network. Seed nodes also maintain the entire transaction history and the global state of the blockchain which is needed to provide services such as block explorers. Seed nodes in the Zilliqa network are comparable to Infura on Ethereum.
The seed nodes were first only operated by Zilliqa themselves, exchanges and Viewblock. Operators of seed nodes like exchanges had no incentive to open them for the greater public. They were centralised at first. Decentralisation at the seed nodes level has been steadily rolled out since March 2020 ( Zilliqa Improvement Proposal 3 ). Currently the amount of seed nodes is being increased, they are public-facing and at the same time PoS is applied to incentivize seed node operators and make it possible for ZIL holders to stake and earn passive yields. Important distinction: seed nodes are not involved with consensus! That is still PoW as entry ticket and pBFT for the actual consensus.
5% of the block rewards are being assigned to seed nodes (from the beginning in 2019) and those are being used to pay out ZIL stakers. The 5% block rewards with an annual yield of 10.03% translate to roughly 610 MM ZILs in total that can be staked. Exchanges use the custodial variant of staking and wallets like Moonlet will use the non-custodial version (starting in Q3 2020). Staking is being done by sending ZILs to a smart contract created by Zilliqa and audited by Quantstamp.
With a high amount of DS; shard nodes and seed nodes becoming more decentralized too, Zilliqa qualifies for the label of decentralized in my opinion.
Generalized: programming languages can be divided into being ‘object-oriented’ or ‘functional’. Here is an ELI5 given by software development academy: * “all programs have two basic components, data – what the program knows – and behavior – what the program can do with that data. So object-oriented programming states that combining data and related behaviors in one place, is called “object”, which makes it easier to understand how a particular program works. On the other hand, functional programming argues that data and behavior are different things and should be separated to ensure their clarity.” *
Scilla is on the functional side and shares similarities with OCaml: OCaml is a general-purpose programming language with an emphasis on expressiveness and safety. It has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. For all its power, OCaml is also pretty simple, which is one reason it's often used as a teaching language.
Scilla is blockchain agnostic, can be implemented onto other blockchains as well, is recognized by academics and won a so-called Distinguished Artifact Award award at the end of last year.
One of the reasons why the Zilliqa team decided to create their own programming language focused on preventing smart contract vulnerabilities is that adding logic on a blockchain, programming, means that you cannot afford to make mistakes. Otherwise, it could cost you. It’s all great and fun blockchains being immutable but updating your code because you found a bug isn’t the same as with a regular web application for example. And with smart contracts, it inherently involves cryptocurrencies in some form thus value.
Another difference with programming languages on a blockchain is gas. Every transaction you do on a smart contract platform like Zilliqa or Ethereum costs gas. With gas you basically pay for computational costs. Sending a ZIL from address A to address B costs 0.001 ZIL currently. Smart contracts are more complex, often involve various functions and require more gas (if gas is a new concept click here ).
So with Scilla, similar to Solidity, you need to make sure that “every function in your smart contract will run as expected without hitting gas limits. An improper resource analysis may lead to situations where funds may get stuck simply because a part of the smart contract code cannot be executed due to gas limits. Such constraints are not present in traditional software systems”.Scilla design story part 1
Some examples of smart contract issues you’d want to avoid are: leaking funds, ‘unexpected changes to critical state variables’ (example: someone other than you setting his or her address as the owner of the smart contract after creation) or simply killing a contract.
Scilla also allows for formal verification. Wikipedia to the rescue: In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
“Scilla is being developed hand-in-hand with formalization of its semantics and its embedding into the Coq proof assistant — a state-of-the art tool for mechanized proofs about properties of programs.”
Simply put, with Scilla and accompanying tooling developers can be mathematically sure and proof that the smart contract they’ve written does what he or she intends it to do.
Smart contract on a sharded environment and state sharding
There is one more topic I’d like to touch on: smart contract execution in a sharded environment (and what is the effect of state sharding). This is a complex topic. I’m not able to explain it any easier than what is posted here. But I will try to compress the post into something easy to digest.
Earlier on we have established that Zilliqa can process transactions in parallel due to network sharding. This is where the linear scalability comes from. We can define simple transactions: a transaction from address A to B (Category 1), a transaction where a user interacts with one smart contract (Category 2) and the most complex ones where triggering a transaction results in multiple smart contracts being involved (Category 3). The shards are able to process transactions on their own without interference of the other shards. With Category 1 transactions that is doable, with Category 2 transactions sometimes if that address is in the same shard as the smart contract but with Category 3 you definitely need communication between the shards. Solving that requires to make a set of communication rules the protocol needs to follow in order to process all transactions in a generalised fashion.
There is no strict defined roadmap but here are topics being worked on. And via the Zilliqa website there is also more information on the projects they are working on.
Business & Partnerships
It’s not only technology in which Zilliqa seems to be excelling as their ecosystem has been expanding and starting to grow rapidly. The project is on a mission to provide OpenFinance (OpFi) to the world and Singapore is the right place to be due to its progressive regulations and futuristic thinking. Singapore has taken a proactive approach towards cryptocurrencies by introducing the Payment Services Act 2019 (PS Act). Among other things, the PS Act will regulate intermediaries dealing with certain cryptocurrencies, with a particular focus on consumer protection and anti-money laundering. It will also provide a stable regulatory licensing and operating framework for cryptocurrency entities, effectively covering all crypto businesses and exchanges based in Singapore. According to PWC 82% of the surveyed executives in Singapore reported blockchain initiatives underway and 13% of them have already brought the initiatives live to the market. There is also an increasing list of organizations that are starting to provide digital payment services. Moreover, Singaporean blockchain developers Building Cities Beyond has recently created an innovation $15 million grant to encourage development on its ecosystem. This all suggests that Singapore tries to position itself as (one of) the leading blockchain hubs in the world.
Zilliqa seems to already take advantage of this and recently helped launch Hg Exchange on their platform, together with financial institutions PhillipCapital, PrimePartners and Fundnel. Hg Exchange, which is now approved by the Monetary Authority of Singapore (MAS), uses smart contracts to represent digital assets. Through Hg Exchange financial institutions worldwide can use Zilliqa's safe-by-design smart contracts to enable the trading of private equities. For example, think of companies such as Grab, Airbnb, SpaceX that are not available for public trading right now. Hg Exchange will allow investors to buy shares of private companies & unicorns and capture their value before an IPO. Anquan, the main company behind Zilliqa, has also recently announced that they became a partner and shareholder in TEN31 Bank, which is a fully regulated bank allowing for tokenization of assets and is aiming to bridge the gap between conventional banking and the blockchain world. If STOs, the tokenization of assets, and equity trading will continue to increase, then Zilliqa’s public blockchain would be the ideal candidate due to its strategic positioning, partnerships, regulatory compliance and the technology that is being built on top of it.
What is also very encouraging is their focus on banking the un(der)banked. They are launching a stablecoin basket starting with XSGD. As many of you know, stablecoins are currently mostly used for trading. However, Zilliqa is actively trying to broaden the use case of stablecoins. I recommend everybody to read this text that Amrit Kumar wrote (one of the co-founders). These stablecoins will be integrated in the traditional markets and bridge the gap between the crypto world and the traditional world. This could potentially revolutionize and legitimise the crypto space if retailers and companies will for example start to use stablecoins for payments or remittances, instead of it solely being used for trading.
Zilliqa also released their DeFi strategic roadmap (dating November 2019) which seems to be aligning well with their OpFi strategy. A non-custodial DEX is coming to Zilliqa made by Switcheo which allows cross-chain trading (atomic swaps) between ETH, EOS and ZIL based tokens. They also signed a Memorandum of Understanding for a (soon to be announced) USD stablecoin. And as Zilliqa is all about regulations and being compliant, I’m speculating on it to be a regulated USD stablecoin. Furthermore, XSGD is already created and visible on block explorer and XIDR (Indonesian Stablecoin) is also coming soon via StraitsX. Here also an overview of the Tech Stack for Financial Applications from September 2019. Further quoting Amrit Kumar on this:
There are two basic building blocks in DeFi/OpFi though: 1) stablecoins as you need a non-volatile currency to get access to this market and 2) a dex to be able to trade all these financial assets. The rest are built on top of these blocks.
So far, together with our partners and community, we have worked on developing these building blocks with XSGD as a stablecoin. We are working on bringing a USD-backed stablecoin as well. We will soon have a decentralised exchange developed by Switcheo. And with HGX going live, we are also venturing into the tokenization space. More to come in the future.”
Additionally, they also have this ZILHive initiative that injects capital into projects. There have been already 6 waves of various teams working on infrastructure, innovation and research, and they are not from ASEAN or Singapore only but global: see Grantees breakdown by country. Over 60 project teams from over 20 countries have contributed to Zilliqa's ecosystem. This includes individuals and teams developing wallets, explorers, developer toolkits, smart contract testing frameworks, dapps, etc. As some of you may know, Unstoppable Domains (UD) blew up when they launched on Zilliqa. UD aims to replace cryptocurrency addresses with a human-readable name and allows for uncensorable websites. Zilliqa will probably be the only one able to handle all these transactions onchain due to ability to scale and its resulting low fees which is why the UD team launched this on Zilliqa in the first place. Furthermore, Zilliqa also has a strong emphasis on security, compliance, and privacy, which is why they partnered with companies like Elliptic, ChainSecurity (part of PwC Switzerland), and Incognito. Their sister company Aqilliz (Zilliqa spelled backwards) focuses on revolutionizing the digital advertising space and is doing interesting things like using Zilliqa to track outdoor digital ads with companies like Foodpanda.
Zilliqa is listed on nearly all major exchanges, having several different fiat-gateways and recently have been added to Binance’s margin trading and futures trading with really good volume. They also have a very impressive team with good credentials and experience. They don't just have “tech people”. They have a mix of tech people, business people, marketeers, scientists, and more. Naturally, it's good to have a mix of people with different skill sets if you work in the crypto space.
Marketing & Community
Zilliqa has a very strong community. If you just follow their Twitter their engagement is much higher for a coin that has approximately 80k followers. They also have been ‘coin of the day’ by LunarCrush many times. LunarCrush tracks real-time cryptocurrency value and social data. According to their data, it seems Zilliqa has a more fundamental and deeper understanding of marketing and community engagement than almost all other coins. While almost all coins have been a bit frozen in the last months, Zilliqa seems to be on its own bull run. It was somewhere in the 100s a few months ago and is currently ranked #46 on CoinGecko. Their official Telegram also has over 20k people and is very active, and their community channel which is over 7k now is more active and larger than many other official channels. Their local communities also seem to be growing.
Moreover, their community started ‘Zillacracy’ together with the Zilliqa core team ( see www.zillacracy.com ). It’s a community-run initiative where people from all over the world are now helping with marketing and development on Zilliqa. Since its launch in February 2020 they have been doing a lot and will also run their own non-custodial seed node for staking. This seed node will also allow them to start generating revenue for them to become a self sustaining entity that could potentially scale up to become a decentralized company working in parallel with the Zilliqa core team. Comparing it to all the other smart contract platforms (e.g. Cardano, EOS, Tezos etc.) they don't seem to have started a similar initiative (correct me if I’m wrong though). This suggests in my opinion that these other smart contract platforms do not fully understand how to utilize the ‘power of the community’. This is something you cannot ‘buy with money’ and gives many projects in the space a disadvantage.
Zilliqa also released two social products called SocialPay and Zeeves. SocialPay allows users to earn ZILs while tweeting with a specific hashtag. They have recently used it in partnership with the Singapore Red Cross for a marketing campaign after their initial pilot program. It seems like a very valuable social product with a good use case. I can see a lot of traditional companies entering the space through this product, which they seem to suggest will happen. Tokenizing hashtags with smart contracts to get network effect is a very smart and innovative idea.
Regarding Zeeves, this is a tipping bot for Telegram. They already have 1000s of signups and they plan to keep upgrading it for more and more people to use it (e.g. they recently have added a quiz features). They also use it during AMAs to reward people in real-time. It’s a very smart approach to grow their communities and get familiar with ZIL. I can see this becoming very big on Telegram. This tool suggests, again, that the Zilliqa team has a deeper understanding of what the crypto space and community needs and is good at finding the right innovative tools to grow and scale.
To be honest, I haven’t covered everything (i’m also reaching the character limited haha). So many updates happening lately that it's hard to keep up, such as the International Monetary Fund mentioning Zilliqa in their report, custodial and non-custodial Staking, Binance Margin, Futures, Widget, entering the Indian market, and more. The Head of Marketing Colin Miles has also released this as an overview of what is coming next. And last but not least, Vitalik Buterin has been mentioning Zilliqa lately acknowledging Zilliqa and mentioning that both projects have a lot of room to grow. There is much more info of course and a good part of it has been served to you on a silver platter. I invite you to continue researching by yourself :-) And if you have any comments or questions please post here!
New England New England 6 States Songs: https://www.reddit.com/newengland/comments/er8wxd/new_england_6_states_songs/ NewEnglandcoin Symbol: NENG NewEnglandcoin is a clone of Bitcoin using scrypt as a proof-of-work algorithm with enhanced features to protect against 51% attack and decentralize on mining to allow diversified mining rigs across CPUs, GPUs, ASICs and Android phones. Mining Algorithm: Scrypt with RandomSpike. RandomSpike is 3rd generation of Dynamic Difficulty (DynDiff) algorithm on top of scrypt. 1 minute block targets base difficulty reset: every 1440 blocks subsidy halves in 2.1m blocks (~ 2 to 4 years) 84,000,000,000 total maximum NENG 20000 NENG per block Pre-mine: 1% - reserved for dev fund ICO: None RPCPort: 6376 Port: 6377 NewEnglandcoin has dogecoin like supply at 84 billion maximum NENG. This huge supply insures that NENG is suitable for retail transactions and daily use. The inflation schedule of NengEnglandcoin is actually identical to that of Litecoin. Bitcoin and Litecoin are already proven to be great long term store of value. The Litecoin-like NENG inflation schedule will make NewEnglandcoin ideal for long term investment appreciation as the supply is limited and capped at a fixed number Bitcoin Fork - Suitable for Home Hobbyists NewEnglandcoin core wallet continues to maintain version tag of "Satoshi v0.8.7.5" because NewEnglandcoin is very much an exact clone of bitcoin plus some mining feature changes with DynDiff algorithm. NewEnglandcoin is very suitable as lite version of bitcoin for educational purpose on desktop mining, full node running and bitcoin programming using bitcoin-json APIs. The NewEnglandcoin (NENG) mining algorithm original upgrade ideas were mainly designed for decentralization of mining rigs on scrypt, which is same algo as litecoin/dogecoin. The way it is going now is that NENG is very suitable for bitcoin/litecoin/dogecoin hobbyists who can not , will not spend huge money to run noisy ASIC/GPU mining equipments, but still want to mine NENG at home with quiet simple CPU/GPU or with a cheap ASIC like FutureBit Moonlander 2 USB or Apollo pod on solo mining setup to obtain very decent profitable results. NENG allows bitcoin litecoin hobbyists to experience full node running, solo mining, CPU/GPU/ASIC for a fun experience at home at cheap cost without breaking bank on equipment or electricity. MIT Free Course - 23 lectures about Bitcoin, Blockchain and Finance (Fall,2018) https://www.youtube.com/playlist?list=PLUl4u3cNGP63UUkfL0onkxF6MYgVa04Fn CPU Minable Coin Because of dynamic difficulty algorithm on top of scrypt, NewEnglandcoin is CPU Minable. Users can easily set up full node for mining at Home PC or Mac using our dedicated cheetah software. Research on the first forked 50 blocks on v1.2.0 core confirmed that ASIC/GPU miners mined 66% of 50 blocks, CPU miners mined the remaining 34%. NENG v1.4.0 release enabled CPU mining inside android phones. Youtube Video Tutorial How to CPU Mine NewEnglandcoin (NENG) in Windows 10 Part 1 https://www.youtube.com/watch?v=sdOoPvAjzlE How to CPU Mine NewEnglandcoin (NENG) in Windows 10 Part 2 https://www.youtube.com/watch?v=nHnRJvJRzZg How to CPU Mine NewEnglandcoin (NENG) in macOS https://www.youtube.com/watch?v=Zj7NLMeNSOQ Decentralization and Community Driven NewEnglandcoin is a decentralized coin just like bitcoin. There is no boss on NewEnglandcoin. Nobody nor the dev owns NENG. We know a coin is worth nothing if there is no backing from community. Therefore, we as dev do not intend to make decision on this coin solely by ourselves. It is our expectation that NewEnglandcoin community will make majority of decisions on direction of this coin from now on. We as dev merely view our-self as coin creater and technical support of this coin while providing NENG a permanent home at ShorelineCrypto Exchange. Twitter Airdrop Follow NENG twitter and receive 100,000 NENG on Twitter Airdrop to up to 1000 winners Graphic Redesign Bounty Top one award: 90.9 million NENG Top 10 Winners: 500,000 NENG / person Event Timing: March 25, 2019 - Present Event Address: NewEnglandcoin DISCORD at: https://discord.gg/UPeBwgs Please complete above Twitter Bounty requirement first. Then follow Below Steps to qualify for the Bounty: (1) Required: submit your own designed NENG logo picture in gif, png jpg or any other common graphic file format into DISCORD "bounty-submission" board (2) Optional: submit a second graphic for logo or any other marketing purposes into "bounty-submission" board. (3) Complete below form. Please limit your submission to no more than two total. Delete any wrongly submitted or undesired graphics in the board. Contact DISCORD u/honglu69#5911 or u/krypton#6139 if you have any issues. Twitter Airdrop/Graphic Redesign bounty sign up: https://goo.gl/forms/L0vcwmVi8c76cR7m1 Milestones
Sep 3, 2018 - Genesis block was mined, NewEnglandcoin created
Sep 8, 2018 - github source uploaded, Window wallet development work started
Sep 11,2018 - Window Qt Graphic wallet completed
Sep 12,2018 - NewEnglandcoin Launched in both Bitcointalk forum and Marinecoin forum
Sep 14,2018 - NewEnglandcoin is listed at ShorelineCrypto Exchange
Sep 17,2018 - Block Explorer is up
Nov 23,2018 - New Source/Wallet Release v1.1.1 - Enabled Dynamic Addjustment on Mining Hashing Difficulty
Nov 28,2018 - NewEnglandcoin became CPU minable coin
Nov 30,2018 - First Retail Real Life usage for NewEnglandcoin Announced
Dec 28,2018 - Cheetah_Cpuminer under Linux is released
Dec 31,2018 - NENG Technical Whitepaper is released
Jan 2,2019 - Cheetah_Cpuminer under Windows is released
Jan 12,2019 - NENG v1.1.2 is released to support MacOS GUI CLI Wallet
Jan 13,2019 - Cheetah_CpuMiner under Mac is released
Feb 11,2019 - NewEnglandcoin v1.2.0 Released, Anti-51% Attack, Anti-instant Mining after Hard Fork
Mar 16,2019 - NewEnglandcoin v18.104.22.168 Released - Ubuntu 18.04 Wallet Binary Files
Apr 7, 2019 - NENG Report on Security, Decentralization, Valuation
Apr 21, 2019 - NENG Fiat Project is Launched by ShorelineCrypto
Sep 1, 2019 - Shoreline Tradingbot project is Launched by ShorelineCrypto
Dec 19, 2019 - Shoreline Tradingbot v1.0 is Released by ShorelineCrypto
Jan 30, 2020 - Scrypt RandomSpike - NENG v1.3.0 Hardfork Proposed
Feb 24, 2020 - Scrypt RandomSpike - NENG core v1.3.0 Released
Jun 19, 2020 - Linux scripts for Futurebit Moonlander2 USB ASIC on solo mining Released
Jul 15, 2020 - NENG v1.4.0 Released for Android Mining and Ubuntu 20.04 support
Jul 21, 2020 - NENG v22.214.171.124 Released for MacOS Wallet Upgrade with Catalina
Jul 30, 2020 - NENG v126.96.36.199 Released for Linux Wallet Upgrade with 8 Distros
Aug 11, 2020 - NENG v188.8.131.52 Released for Android arm64 Upgrade, Chromebook Support
Aug 30, 2020 - NENG v184.108.40.206 Released for Android/Chromebook with armhf, better hardware support
2018 Q3 - Birth of NewEnglandcoin, window/linux wallet - Done
2018 Q4 - Decentralization Phase I
Blockchain Upgrade - Dynamic hashing algorithm I - Done
Cheetah Version I- CPU Mining Automation Tool on Linux - Done
2019 Q1 - Decentralization Phase II
Cheetah Version II- CPU Mining Automation Tool on Window/Linux - Done
Blockchain Upgrade Dynamic hashing algorithm II - Done
2019 Q2 - Fiat Phase I
Assessment of Risk of 51% Attack on NENG - done
Launch of Fiat USD/NENG offering for U.S. residents - done
Initiation of Mobile Miner Project - Done
2019 Q3 - Shoreline Tradingbot, Mobile Project
Evaluation and planning of Mobile Miner Project - on Hold
Initiation of Trading Bot Project - Done
2019 Q4 - Shoreline Tradingbot
Shoreline tradingbot Release v1.0 - Done
2020 Q1 - Evaluate NENG core, Mobile Wallet Phase I
NENG core Decentralization Security Evaluation for v1.3.x - Done
Light Mobile Wallet Project Initiation, Evaluation
2020 Q2 - NENG Core, Mobile Wallet Phase II
NENG core Decentralization Security Hardfork on v1.3.x - Scrypt RandomSpike
Light Mobile Wallet Project Design, Coding
2020 Q3 - NENG core, NENG Mobile Wallet Phase II
Review on results of v1.3.x, NENG core Dev Decision on v1.4.x, Hardfork If needed
Light Mobile Wallet Project testing, alpha Release
2020 Q4 - Mobile Wallet Phase III
Light Mobile Wallet Project Beta Release
Light Mobile Wallet Server Deployment Evaluation and Decision
Digital money that’s instant, private, and free from bank fees. Download our official wallet app and start using Bitcoin today. Read news, start mining, and buy BTC or BCH. This step walks you through the process of installing the "Wallet" software. This software functions as a real wallet: it stores all of your currency, which in this case are bitcoins. The first part of this step is to download the software. Go to the Official Bitcoin Website. In a box at the top of the page, click the software version that applies to your given OS. The steps are the same for ... The financial opportunities revealed by Bitcoin and other cryptocurrencies are incredible, that’s for sure. So it’s more than understandable that you want a slice of the pie! A good guide should start with teaching you the general rules of trading: As a crypto trading beginner you should start with understanding the underlying mechanics of financial markets in general and the rules of ... Bitcoin is unlike anything the world has seen before. By providing fast, inexpensive, international money transfer, it has the potential to revolutionize both the modern day concept of money and commerce. Bitcoin started as a free software project and a paper published by Satoshi Nakamoto in 2009. Nakamoto, who seems to have been created specifically to deliver Bitcoin to this world, designed ... Bitcoin Wallet Guide. Bitcoin wallets are programs that allow you to send and receive Bitcoin. However, in order to choose the best wallet for your needs there are a lot of factors to take into account. In this post I'll cover everything you need to know about wallets and also review the best Bitcoin wallets around. Read More
How To Trade Bitcoin Cryptocurrency for Beginners - YouTube
Get our free Bitcoin course here - https://chrisdunn.com/free-bitcoin-course This Bitcoin basics video series will explain Bitcoin for beginners. You'll lear... ☟☟ Link Kindle Editon Beginners Guide To Mastering Bitcoin & Cryptocurrencies: The Step by Step Guide on How to Buy, Store Securely & Trade Bitcoin/ Alt Coin... HOW TO BUY BITCOIN - Tutorial For Beginners - Where to Buy Bitcoin ★ BUY BITCOIN HERE http://iqopts.com/bitcoin ★ TRADE OTHER CRYPTO http://iqopts.com/cr... *ATTENTION* Nicehash has updated their program and the UI is very different from this video. I made an updated video so you can all follow along. Here is the... Start trading Bitcoin and cryptocurrency here: http://bit.ly/2Vptr2X Bitcoin trading is the act of buying low and selling high. Unlike investing, which means...