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
https://preview.redd.it/6w93e0afttx41.png?width=1400&format=png&auto=webp&s=c00989612ec2d52eb522405e6b6a98bf875e08bb Version 1.3.0 is a powerful update to TkeySpace that our team has been carefully preparing. since version 1.2.0, we have been laying the foundation for implementing new features that are already available in the current version. Who cares about the security and privacy of their assets is an update for you. TkeySpace — was designed to give You full control over your digital assets while maintaining an exceptional level of security, which is why there is no personal data in the wallet: phone number, the email address that could be compromised by hackers — no identity checks and other hassles, just securely save the backup phrase consisting of 12 words.
Briefly about the TkeySpace 1.3.0 update :
Code optimization and switching to AndroidX;
Selecting the privacy mode;
Selecting the recovery method for each currency;
Choosing the address format for Litecoin;
Enhanced validation of transactions and blocks in the network;
Starting with the current update, the TkeySpace wallet can communicate via the TOR network, includes new privacy algorithms, and supports 59 different currencies. https://i.redd.it/kn5waeskttx41.gif Tor is a powerful privacy feature for those who own large assets or live in places where the Internet is heavily censored.
Tor technology provides protection against traffic analysis mechanisms that compromise not only Internet privacy, but also the confidentiality of trade secrets, business contacts, and communications in General.
When you enable TOR settings, all outgoing traffic from the wallet will be encrypted and routed through an anonymous network of servers, periodically forming a chain through the Tor network, which uses multi-level encryption, effectively hiding any information about the sender: location, IP address, and other data. This means that if your provider blocks the connection, you can rest easy — after all, by running this function, you will get an encrypted connection to the network without restrictions. https://preview.redd.it/w9y3ax4mttx41.png?width=960&format=png&auto=webp&s=972e375fc26d479e8b8d2999f7659ec332e2af55 In TOR mode, the wallet may work noticeably slower and in some cases, there may be problems with the network, due to encryption, some blockchain browsers may temporarily not work. However, TOR encryption is very important when Internet providers completely block traffic and switching to this mode, you get complete freedom and no blocks for transactions.
Confidentiality of transactions (the Blockchain transaction)
The wallet can change the model of a standard transaction, mixing inputs and outputs, making it difficult to identify certain cryptocurrencies. In the current update, you can select one of several modes for the transaction privacy level: deterministic lexicographic sorting or shuffle mode.
Mode: Lexicographic indexing
Implemented deterministic lexicographic sorting using hashes of previous transactions and output indexes for sorting transaction input data, as well as values and scriptPubKeys for sorting transaction output data; We understand that information must remain confidential not only in the interests of consumers but also in higher orders, financial systems must be kept secret to prevent fraud. One way to address these privacy shortcomings is to randomize the order of inputs and outputs.
Lexicographic orderingis a comparison algorithm used to sort two sets based on their Cartesian order within their common superset. Lexicographic order is also often referred to as alphabetical order or dictionary order. The hashes of previous transactions (in reverse byte order) are sorted in ascending order, lexicographically.
In the case of two matching transaction hashes, the corresponding previous output indexes will be compared by their integer value in ascending order. If the previous output indexes match, the input data is considered equal.
Shuffle Mode: mixing (random indexing)
To learn more about how “shuffle mode” works, we will first analyze the mechanisms using the example of a classic transaction. Current balance Of your wallet: 100 TKEY, coins are stored at different addresses: x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY.
Addresses in the blockchain are identifiers that you use to send cryptocurrency to another person or to receive digital currency.
Let’s look at a similar example: you have 100 TKEY on your balance, and you need to send 19 TKEY. x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY. You send 19 TKEY, the system analyzes all your addresses and balances on them and selects the most suitable ones for the transaction. To send 19 TKEY, the miners will be given coins with x2. Addresses, for a total of 20 TKEY. Of these, 19 TKEY will be sent to the recipient, and 0.99999679 TKEY will be returned to Your new address as change minus the transaction fee. https://preview.redd.it/doxmqffqttx41.png?width=1400&format=png&auto=webp&s=5c99ec41363fe50cd651dc0acab05e175416006a In the blockchain explorer, you will see the transaction amount in the amount of 20 TKEY, where 0.99999679 TKEY is Your change, 19 TKEY is the amount you sent and 0.00000321 is the transaction fee. The shuffle mode has a cumulative effect. with each new transaction, delivery Addresses will be created and the selection of debit addresses/s that are most suitable for the transaction will change. Thus, if you store 1,000,000 TKEY in your wallet and want to send 1 TKEY to the recipient, the transaction amount will not display most of your balance but will select 1 or more addresses for the transaction.
Selecting the recovery method for each digital currency (Blockchain restore)
Now you can choose the recovery method for each currency: API + Blockchain or blockchain.
Note: This is not a syncing process, but rather the choice of a recovery method for your wallet. Syncing takes place with the blockchain — regardless of the method you choose.
What are the differences between recovery methods?
API + Blockchain
In order not to load the entire history of the blockchain, i.e. block and transaction headers, the API helps you quickly get point information about previous transactions. For example, If your transactions are located in block 67325 and block 71775, the API will indicate to the node the necessary points for restoring Your balance, which will speed up the “recovery” process. As soon as the information is received, communication with the peers takes place and synchronization begins from the control point, then from this moment, all subsequent block loading is carried out through the blockchain. This method allows you to quickly restore Your existing wallet. ‘’+’’ Speed. ‘’-’’ The API server may fail.
This method loads all block headers (block headers + Merkle) starting from the BIP44 checkpoint and manually validates transactions. ‘’+’’ It always works and is decentralized. ‘’-’’ Loading the entire blockchain may take a long time.
Why do I need to switch the recovery method?
If when creating a wallet or restoring it, a notification (!) lights up in red near the selected cryptocurrency, then most likely the API has failed, so go to Settings — Security Center — Privacy — Blockchain Restore — switch to Blockchain. Syncing will be successful.
Enhanced validation of transactions and blocks in the network
Due to the increased complexity in the Tkeycoin network, we have implemented enhanced validation of the tkeycoin consensus algorithm, and this algorithm is also available for other cryptocurrencies.
What is the advantage of the enhanced validation algorithm for the user
First, the name itself speaks for itself — it increases the security of the network, and second, by implementing the function — we have accelerated the work of the TkeySpace blockchain node, the application consumes even fewer resources than before.
High complexity is converted to 3 bytes, which ensures fast code processing and the least resource consumption on your device.
The synchronization process has been upgraded. Node addresses are added to the local storage, and instant synchronization with nodes occurs when you log in again.
Checking for double-spending
TkeySpace eliminates “double-spending” in blockchains, which is very valuable in the Bitcoin and Litecoin networks.
For example, using another application, you may be sent a fake transaction, and the funds will eventually disappear from the network and your wallet because this feature is almost absent in most applications.
Using TkeySpace — you are 100% sure that your funds are safe and protected from fraudulent transactions in the form of “fake” transactions.
The bloom filter to check for nodes
All nodes are checked through the bloom filter. This allows you to exclude fraudulent nodes that try to connect to the network as real nodes of a particular blockchain. In practice, this verification is not available in applications, Tkeycoin — decided to follow a new trend and change the stereotypes, so new features such as node verification using the bloom filter and double-spending verification are a kind of innovation in applications that work with cryptocurrencies.
Updating the Binance and Ethereum libraries
Updated Binance and Ethereum libraries for interaction with the TOR network.
Function — to hide the balance
This function allows you to hide the entire balance from the main screen.
Advanced currency charts and charts without authentication
Detailed market statistics are available, including volumes, both for 1 day and several years. Select the period of interest: 1 day, 7 days, 1 month, 3 months, 6 months, 1 year, 2 years.
In version 1.3.0, you can access charts without authentication. You can monitor the cryptocurrency exchange rate without even logging in to the app. If you have a pin code for logging in, when you open the app, swipe to the left and you will see a list of currencies.
Transaction verification for Tkeycoin is now available directly in the app.
Independent Commission entry for Bitcoin
Taking into account the large volume of the Bitcoin network, we have implemented independent Commission entry — you can specify any Commission amount. For other currencies, smart Commission calculation is enabled based on data from the network. The network independently regulates the most profitable Commission for the sender.
New digital currencies
The TkeySpace wallet supports +59 cryptocurrencies and tokens.
Re-Launching The Borderless, Unkillable Crypto-Fiat Gateway, DAIHard. Enter or Exit Crypto via Any Fiat and Any Payment Method, Anywhere in the World, Without KYC. All you need is a little Dai.
Some of you might recall recall our initial facepalm failed launch about 3 months ago (post-mortem here). Well, we're back--this time with an audit and some new features. This version of DAIHard should should die a little harder this time ;)
After shopping around a bit in the auditor space, we decided to go with Adam Dossa--the very same Adam Dossa that actually found our launch vulnerability and responsibly disclosed it to us! You can see his report here. By the way, Adam has been a gem: friendly, professional, timely, and flexible. Definitely keep him in mind if you need an audit!
Following is an updated version of our original launch post. If you've already read that, you might want to skip to the heading What's New in v0.9.2. Or you can go straight to the app or go to our info site for more info! Here is a legitimate concern most of us are familiar with:
To enter or exit the crypto economy, we rely on centralized exchanges such as Coinbase, which track their users, impose limits, and are tightly coupled to their jurisdiction and its banking system. And for all we know, any day now regulations could start tightening these controls further (*we've actually seen some of this play out in the two months since our first launch post). In light of this, can we say in any meaningful sense that crypto is anonymous, limtiless, borderless, immune to regulation, and (most importantly) unstoppable?
To really address this concern, we need a completely decentralized gateway between fiat and crypto: something that extends the benefits of crypto to the very act of moving between the old and new economies. But the design of such a platform is far from obvious. (Localethereum comes close, but as discussed under Unkillable, it doesn't quite cut it. And Bisq is decentralized, but has significant UX hurdles.) We believe we've found a solution. We are proud to present:
DAIHard v0.9.2 - Almost Definitely Not Broken This Time
If you want to jump right in, we recommend first watching our latest usage demo (7 min), then diving in and giving it a shot with a small amount of Dai. (Try it on Kovan first if mainnet is too scary!) DAIHard extends many of the promises of crypto (borderless, anonymous, limitless, unstoppable) into the exchange mechanism itself, allowing anyone, anywhere to bypass centralized exchanges and the control they impose. More concretely, DAIHard is a platform, run on smart contracts, for forming one-off crypto/fiat exchanges with other users, in which:
The method of fiat transfer is open-ended, but agreed upon up-front (for example: bank transfer, cash handoff, transfer of online credit, cash drop...).
You and the counterparty can communicate via end-to-end encrypted chat to coordinate the fiat transfer (i.e. communicate bank account number or reveal a cash drop location).
Crucially, in the last phase, the Seller can choose to burn the Dai instead of releasing it to the Buyer (but he can't get it back). This credible threat of burn is what makes the platform reliable in the absence of a centralized group of arbitrators or moderators. For more on this see the DAIHard Game Theory medium article (10 min read).
You Need either xDai, or both Dai and Ether, to Use The Tool (At Least For Now)
If you want to buy Dai on DAIHard, you must already have Dai--1/3 of the amount you want to purchase--to put up as a burnable deposit. For example, if you only have 10 Dai now, you can only commit to buying 30 Dai, and must complete that trade before using the newly bought Dai to open up a bigger offer (for up to 120 Dai that time). Most tragically of course, this means that if you don't already have some crypto, you can't use this tool to get crypto--this is why we avoid calling DAIHard an onramp specifically. This comes from the fact that both parties must have "skin in the game" for the game theory to work, and a smart contract can only threaten to burn crypto. We have some ideas on how to address this drawback in the not-too-distant future, which we'll write about soon. For now it's time to launch this thing and get some users!
Dangerous and Scary To Use
In rare cases, a user may have to burn Dai and face a loss on the entire trade amount. The necessity of this ever-present risk is explained in detail in DAIHard Game Theory. However, a cautious, rational user can gather information (possibly via our [subreddit](daihard)!) about how people have used the tool, successfully and unsuccessfully. They can then create a buy or sell offer with wisely chosen settings based on what has worked for others. Other cautious, rational users can find this offer and commit to the trade if they dare. We expect the vast majority of committed trades should involve rational, cautious users, and should therefore resolve happily. Still, inevitably there will be sloppy trades that result in burns. As the tool is used, we'll be keeping a close eye on the frequency of burns and keeping you guys updated (perhaps via a "System Status" utility similar to the one found on MakerDao's explorer). In the end, though, we expect the risk in using DAIHard to be comparable to the risk of using any exchange or DNM: ever-present but low enough for the platform to be useful as whole. So, while DAIHard will never shut down and can't perform an exit scam, the bad news is it's not risk-free. Users will have to approach DAIhard with the same level of caution they would with any new exchange (albeit for different reasons and with a different approach). So what's the good news?
The Good News
While these drawbacks are significant, they enable some remarkable features that no other crypto/fiat exchange mechanism can boast.
(Correction: Bisq seems to have a decentralized arbitration system) We are aware of no other crypto/fiat exchange platform that is truly unkillable. Bisq and localethereum comes close, but both localethereum relies on centralized processes of arbitration. This means their fraud-and-scam-prevention system can be sued, jailed, or otherwise harrassed--and if that part stops working, it doesn't matter how decentralized the rest of the system was. DAIHard, in contrast, gives the users the power to police and punish each other, via the aforementioned credible threat of burn. This is simple game theory, and the rules of this game are etched permanently into the DAIHard Factory and Trade contract code: impervious to litigation, regulation, and political pressure. This Factory contract has no owner and no suicide or pause code. It cannot be stopped by us or anyone else. Like Toastycoin, this thing was immortal the moment it was deployed (even more immortal than RadarRelay, for example, which does rely on an ownership role). Both DAIHard and Toastycoin (and probably whatever we build next) will last for as long as a single Ethereum node continues mining, and it will remain easy to use as long as someone can find the HTML/JS front-end and a web3 wallet. (The HTML/JS front-end (built in Elm, by the way, with the lovely elm-ethereum!) is currently hosted on Github pages, which is centralized--but even if Github takes down the page and deletes the code, it's a minor step to get the page hosted on IPFS, something that is on our near-term roadmap in any case)
No KYC, No Limits
It's smart contracts all the way down, so DAIHard never asks any nosy questions--if you have Metamask or some other web3 wallet installed and set up, with some ETH and Dai (or just xDai), you can immediately open or commit to a trade. You don't even need a username! (In fact, we're so inclusive, even machines are allowed--no CAPTCHA here!) You're limited only by the collateral you put up, so if you have 10,000 Dai you could open up a buy offer for 30,000 Dai (or a sell offer for 10,000 Dai) right now. We do reccommend trying the tool out first with a small amount of Dai... But we're not your mom! Do what you want!
It simply doesn't matter where you are, because DAIHard doesn't need to interface with any particular jurisdiction or payment system to work. DIAHard works by incentivizing people (or robots?) to navigate the particular real-world hurdles of bank transfers, cash drops, or other fiat transfer methods. These incentives work whether you're in America, Zimbabwe, or the Atlantic; they work whether the fiat is USD, EUR, ZAR, seashells, or Rai Stones; and they work whether your counterparty is a human, an organization, a script, or a particularly intelligent dog with Internet access.
Any Fiat Type, and Highly Customizeable
Here are some examples of the types of trades you might create or find on DAIHard.
Sell 5 xDai for $5 USD, sent via TransferWise.
Sell 200 Dai for $180 USD, granted they bring the cash to you by tomorrow afternoon in Central Park, NYC.
Buy 20 Dai with a $30 gift card for Amazon AWS that you were never going to use.
Sell 20 Dai in exchange for a $20 Steam game.
While in Vietnam, sell 200 Dai to someone for €180 anytime in the next two weeks, provided they deposit it into your German bank account.
While in Germany, sell 20 Dai to someone in exchange for them refilling your pre-paid Vietnamese phone plan.
Buy 500 Dai for $550 via PayPal, but wait 3 weeks for before the Dai is released (so the paypal transaction can't be reversed).
As the DAIHard community grows, users will doubtless find much more creative ways to use the system, and we will discover together which types of trades are reliable and which are more risky. Because users can set their own prices and phase timeout settings, we expect the risky trades to charge a premium or have longer time windows, while the reliable ones rapidly multiply at close to a 1:1 price ratio, with quick turnaround times.
Extensible (with profit) by Third Parties
Not satisfied with our interface? Do you have some nifty idea for how to display and organize user reputation? Or maybe some idea for how trades could be chained togeher? Maybe you'd like to design a notification system for DAIHard? Maybe you just want a different color scheme! Well, you won't need our permission to do any of this. Any tool that watches the same Factory contract will share the pool of trades, regardless of which tool actually creates the trade. This means we don't even have to fight over network effects! And if you look closely at our fee structure, you might notice that only half of the 1% DAIHard fee is "hardcoded" into the Factory contract. The other half is set and charged by our interface. What does this mean for you? If you go out and make a better interface, you can essentially replace half of our 1% fee with your own fee--it's up to you whether it's smaller or larger than the replaced 0.5%. The reason for this is to explicitly welcome other developers to extend what we've built. For as long as our team is the only one improving the platform, a threat to us is a threat to future upgrades. But if others begin extending the DAIHard platform too, then DAIHard will not only be unstoppable as it is today, but also grow unstoppably.
(For Real This Time) This Is a Big Fucking Deal
DAIHard is a turning point in crypto and a breakthrough in decentralized markets, and is an irreversible augmentation of the Ethereum platform. What we've built is a gateway to crypto completely devoid of centralized components--rendering entry and exit to crypto unkillable, flexible, borderless, and private. Centralized exchanges, and the control they impose, can now be bypassed by anyone with Dai and a web3 wallet.
What's New in v0.9.2
There have been many changes made since our first failed launch, but there are two rather important ones: xDai support and reputation tools.
DAIHard is now operational on xDai, a sidechain whose native token (xDai) is pegged to the Dai (and therefore $1). Add the xDai network to your Metamask (or just install Nifty Wallet), then switch to the xDai network in your wallet, to try it out. xDai has some pretty incredible benefits, compared to vanilla Ethereum:
Price: On xDai, a single DAIHard trade costs on the order of $0.01 to run start-to-finish, rather than the accumulated $2.40 (with the best-case-scenario 1gwei gas price) you'll spend on vanilla Ethereum.
Speed: Trade actions mine much faster, and don't require ERC20 'approve' transactions, making the whole process way snappier.
Gas priced in xDai: the main benefit here is that you only need one token (xDai) rather than two (Dai and Eth). Also, it's just nice having the gas cost expressed in (essentially) USD!
We now have a few reputation tools. First, on any open trade, there is a widget showing the number of releases, aborts, and burns the given address has been involved in as that role (buyer or seller). Clicking on this expands the widget to show more detailed information, and also provides a link to a page that lists each trade this user has been or is involved in.
We have tons of ideas on how to improve the product--too many, in fact, to commit to any before we get a good chunk of user feedback. Here are some of our favorite ideas:
A "QuickTrade" page, offering Trade Templates as an alternative to the current Create Offer page.
Big Exciting Features
Bootstrapping people with no DAI via other mechanisms and community outreach.
Partial commits to trades. eg. Place a 10,000 DAI trade and allow it to be picked up in blocks larger than 500 DAI at a time.
More chains, get this thing working on Bitcoin via Rootstock, on Ethereum Classic and Binance Chain.
A lot of the above features will be prioritized more clearly as we get user feedback, and we will be posting fairly frequent updates and articles on our info site. If you don't want to miss anything, note the subscribe widget and sign up!
Technical: A Brief History of Payment Channels: from Satoshi to Lightning Network
Who cares about political tweets from some random country's president when payment channels are a much more interesting and are actually capable of carrying value? So let's have a short history of various payment channel techs!
Generation 0: Satoshi's Broken nSequence Channels
Because Satoshi's Vision included payment channels, except his implementation sucked so hard we had to go fix it and added RBF as a by-product. Originally, the plan for nSequence was that mempools would replace any transaction spending certain inputs with another transaction spending the same inputs, but only if the nSequence field of the replacement was larger. Since 0xFFFFFFFF was the highest value that nSequence could get, this would mark a transaction as "final" and not replaceable on the mempool anymore. In fact, this "nSequence channel" I will describe is the reason why we have this weird rule about nLockTime and nSequence. nLockTime actually only works if nSequence is not 0xFFFFFFFF i.e. final. If nSequence is 0xFFFFFFFF then nLockTime is ignored, because this if the "final" version of the transaction. So what you'd do would be something like this:
You go to a bar and promise the bartender to pay by the time the bar closes. Because this is the Bitcoin universe, time is measured in blockheight, so the closing time of the bar is indicated as some future blockheight.
For your first drink, you'd make a transaction paying to the bartender for that drink, paying from some coins you have. The transaction has an nLockTime equal to the closing time of the bar, and a starting nSequence of 0. You hand over the transaction and the bartender hands you your drink.
For your succeeding drink, you'd remake the same transaction, adding the payment for that drink to the transaction output that goes to the bartender (so that output keeps getting larger, by the amount of payment), and having an nSequence that is one higher than the previous one.
Eventually you have to stop drinking. It comes down to one of two possibilities:
You drink until the bar closes. Since it is now the nLockTime indicated in the transaction, the bartender is able to broadcast the latest transaction and tells the bouncers to kick you out of the bar.
You wisely consider the state of your liver. So you re-sign the last transaction with a "final" nSequence of 0xFFFFFFFF i.e. the maximum possible value it can have. This allows the bartender to get his or her funds immediately (nLockTime is ignored if nSequence is 0xFFFFFFFF), so he or she tells the bouncers to let you out of the bar.
Now that of course is a payment channel. Individual payments (purchases of alcohol, so I guess buying coffee is not in scope for payment channels). Closing is done by creating a "final" transaction that is the sum of the individual payments. Sure there's no routing and channels are unidirectional and channels have a maximum lifetime but give Satoshi a break, he was also busy inventing Bitcoin at the time. Now if you noticed I called this kind of payment channel "broken". This is because the mempool rules are not consensus rules, and cannot be validated (nothing about the mempool can be validated onchain: I sigh every time somebody proposes "let's make block size dependent on mempool size", mempool state cannot be validated by onchain data). Fullnodes can't see all of the transactions you signed, and then validate that the final one with the maximum nSequence is the one that actually is used onchain. So you can do the below:
Become friends with Jihan Wu, because he owns >51% of the mining hashrate (he totally reorged Bitcoin to reverse the Binance hack right?).
Slip Jihan Wu some of the more interesting drinks you're ordering as an incentive to cooperate with you. So say you end up ordering 100 drinks, you split it with Jihan Wu and give him 50 of the drinks.
When the bar closes, Jihan Wu quickly calls his mining rig and tells them to mine the version of your transaction with nSequence 0. You know, that first one where you pay for only one drink.
Because fullnodes cannot validate nSequence, they'll accept even the nSequence=0 version and confirm it, immutably adding you paying for a single alcoholic drink to the blockchain.
The bartender, pissed at being cheated, takes out a shotgun from under the bar and shoots at you and Jihan Wu.
Jihan Wu uses his mystical chi powers (actually the combined exhaust from all of his mining rigs) to slow down the shotgun pellets, making them hit you as softly as petals drifting in the wind.
The bartender mutters some words, clothes ripping apart as he or she (hard to believe it could be a she but hey) turns into a bear, ready to maul you for cheating him or her of the payment for all the 100 drinks you ordered from him or her.
Steely-eyed, you stand in front of the bartender-turned-bear, daring him to touch you. You've watched Revenant, you know Leonardo di Caprio could survive a bear mauling, and if some posh actor can survive that, you know you can too. You make a pose. "Drunken troll logic attack!"
I think I got sidetracked here.
Bears are bad news.
You can't reasonably invoke "Satoshi's Vision" and simultaneously reject the Lightning Network because it's not onchain. Satoshi's Vision included a half-assed implementation of payment channels with nSequence, where the onchain transaction represented multiple logical payments, exactly what modern offchain techniques do (except modern offchain techniques actually work). nSequence (the field, but not its modern meaning) has been in Bitcoin since BitCoin For Windows Alpha 0.1.0. And its original intent was payment channels. You can't get nearer to Satoshi's Vision than being a field that Satoshi personally added to transactions on the very first public release of the BitCoin software, like srsly.
Miners can totally bypass mempool rules. In fact, the reason why nSequence has been repurposed to indicate "optional" replace-by-fee is because miners are already incentivized by the nSequence system to always follow replace-by-fee anyway. I mean, what do you think those drinks you passed to Jihan Wu are, other than the fee you pay him to mine a specific version of your transaction?
Satoshi made mistakes. The original design for nSequence is one of them. Today, we no longer use nSequence in this way. So diverging from Satoshi's original design is part and parcel of Bitcoin development, because over time, we learn new lessons that Satoshi never knew about. Satoshi was an important landmark in this technology. He will not be the last, or most important, that we will remember in the future: he will only be the first.
Incentive-compatible time-limited unidirectional channel; or, Satoshi's Vision, Fixed (if transaction malleability hadn't been a problem, that is). Now, we know the bartender will turn into a bear and maul you if you try to cheat the payment channel, and now that we've revealed you're good friends with Jihan Wu, the bartender will no longer accept a payment channel scheme that lets one you cooperate with a miner to cheat the bartender. Fortunately, Jeremy Spilman proposed a better way that would not let you cheat the bartender. First, you and the bartender perform this ritual:
You get some funds and create a transaction that pays to a 2-of-2 multisig between you and the bartender. You don't broadcast this yet: you just sign it and get its txid.
You create another transaction that spends the above transaction. This transaction (the "backoff") has an nLockTime equal to the closing time of the bar, plus one block. You sign it and give this backoff transaction (but not the above transaction) to the bartender.
The bartender signs the backoff and gives it back to you. It is now valid since it's spending a 2-of-2 of you and the bartender, and both of you have signed the backoff transaction.
Now you broadcast the first transaction onchain. You and the bartender wait for it to be deeply confirmed, then you can start ordering.
The above is probably vaguely familiar to LN users. It's the funding process of payment channels! The first transaction, the one that pays to a 2-of-2 multisig, is the funding transaction that backs the payment channel funds. So now you start ordering in this way:
For your first drink, you create a transaction spending the funding transaction output and sending the price of the drink to the bartender, with the rest returning to you.
You sign the transaction and pass it to the bartender, who serves your first drink.
For your succeeding drinks, you recreate the same transaction, adding the price of the new drink to the sum that goes to the bartender and reducing the money returned to you. You sign the transaction and give it to the bartender, who serves you your next drink.
At the end:
If the bar closing time is reached, the bartender signs the latest transaction, completing the needed 2-of-2 signatures and broadcasting this to the Bitcoin network. Since the backoff transaction is the closing time + 1, it can't get used at closing time.
If you decide you want to leave early because your liver is crying, you just tell the bartender to go ahead and close the channel (which the bartender can do at any time by just signing and broadcasting the latest transaction: the bartender won't do that because he or she is hoping you'll stay and drink more).
If you ended up just hanging around the bar and never ordering, then at closing time + 1 you broadcast the backoff transaction and get your funds back in full.
Now, even if you pass 50 drinks to Jihan Wu, you can't give him the first transaction (the one which pays for only one drink) and ask him to mine it: it's spending a 2-of-2 and the copy you have only contains your own signature. You need the bartender's signature to make it valid, but he or she sure as hell isn't going to cooperate in something that would lose him or her money, so a signature from the bartender validating old state where he or she gets paid less isn't going to happen. So, problem solved, right? Right? Okay, let's try it. So you get your funds, put them in a funding tx, get the backoff tx, confirm the funding tx... Once the funding transaction confirms deeply, the bartender laughs uproariously. He or she summons the bouncers, who surround you menacingly. "I'm refusing service to you," the bartender says. "Fine," you say. "I was leaving anyway;" You smirk. "I'll get back my money with the backoff transaction, and posting about your poor service on reddit so you get negative karma, so there!" "Not so fast," the bartender says. His or her voice chills your bones. It looks like your exploitation of the Satoshi nSequence payment channel is still fresh in his or her mind. "Look at the txid of the funding transaction that got confirmed." "What about it?" you ask nonchalantly, as you flip open your desktop computer and open a reputable blockchain explorer. What you see shocks you. "What the --- the txid is different! You--- you changed my signature?? But how? I put the only copy of my private key in a sealed envelope in a cast-iron box inside a safe buried in the Gobi desert protected by a clan of nomads who have dedicated their lives and their childrens' lives to keeping my private key safe in perpetuity!" "Didn't you know?" the bartender asks. "The components of the signature are just very large numbers. The sign of one of the signature components can be changed, from positive to negative, or negative to positive, and the signature will remain valid. Anyone can do that, even if they don't know the private key. But because Bitcoin includes the signatures in the transaction when it's generating the txid, this little change also changes the txid." He or she chuckles. "They say they'll fix it by separating the signatures from the transaction body. They're saying that these kinds of signature malleability won't affect transaction ids anymore after they do this, but I bet I can get my good friend Jihan Wu to delay this 'SepSig' plan for a good while yet. Friendly guy, this Jihan Wu, it turns out all I had to do was slip him 51 drinks and he was willing to mine a tx with the signature signs flipped." His or her grin widens. "I'm afraid your backoff transaction won't work anymore, since it spends a txid that is not existent and will never be confirmed. So here's the deal. You pay me 99% of the funds in the funding transaction, in exchange for me signing the transaction that spends with the txid that you see onchain. Refuse, and you lose 100% of the funds and every other HODLer, including me, benefits from the reduction in coin supply. Accept, and you get to keep 1%. I lose nothing if you refuse, so I won't care if you do, but consider the difference of getting zilch vs. getting 1% of your funds." His or her eyes glow. "GENUFLECT RIGHT NOW." Lesson learned?
Payback's a bitch.
Transaction malleability is a bitchier bitch. It's why we needed to fix the bug in SegWit. Sure, MtGox claimed they were attacked this way because someone kept messing with their transaction signatures and thus they lost track of where their funds went, but really, the bigger impetus for fixing transaction malleability was to support payment channels.
Yes, including the signatures in the hash that ultimately defines the txid was a mistake. Satoshi made a lot of those. So we're just reiterating the lesson "Satoshi was not an infinite being of infinite wisdom" here. Satoshi just gets a pass because of how awesome Bitcoin is.
CLTV-protected Spilman Channels
Using CLTV for the backoff branch. This variation is simply Spilman channels, but with the backoff transaction replaced with a backoff branch in the SCRIPT you pay to. It only became possible after OP_CHECKLOCKTIMEVERIFY (CLTV) was enabled in 2015. Now as we saw in the Spilman Channels discussion, transaction malleability means that any pre-signed offchain transaction can easily be invalidated by flipping the sign of the signature of the funding transaction while the funding transaction is not yet confirmed. This can be avoided by simply putting any special requirements into an explicit branch of the Bitcoin SCRIPT. Now, the backoff branch is supposed to create a maximum lifetime for the payment channel, and prior to the introduction of OP_CHECKLOCKTIMEVERIFY this could only be done by having a pre-signed nLockTime transaction. With CLTV, however, we can now make the branches explicit in the SCRIPT that the funding transaction pays to. Instead of paying to a 2-of-2 in order to set up the funding transaction, you pay to a SCRIPT which is basically "2-of-2, OR this singlesig after a specified lock time". With this, there is no backoff transaction that is pre-signed and which refers to a specific txid. Instead, you can create the backoff transaction later, using whatever txid the funding transaction ends up being confirmed under. Since the funding transaction is immutable once confirmed, it is no longer possible to change the txid afterwards.
Todd Micropayment Networks
The old hub-spoke model (that isn't how LN today actually works). One of the more direct predecessors of the Lightning Network was the hub-spoke model discussed by Peter Todd. In this model, instead of payers directly having channels to payees, payers and payees connect to a central hub server. This allows any payer to pay any payee, using the same channel for every payee on the hub. Similarly, this allows any payee to receive from any payer, using the same channel. Remember from the above Spilman example? When you open a channel to the bartender, you have to wait around for the funding tx to confirm. This will take an hour at best. Now consider that you have to make channels for everyone you want to pay to. That's not very scalable. So the Todd hub-spoke model has a central "clearing house" that transport money from payers to payees. The "Moonbeam" project takes this model. Of course, this reveals to the hub who the payer and payee are, and thus the hub can potentially censor transactions. Generally, though, it was considered that a hub would more efficiently censor by just not maintaining a channel with the payer or payee that it wants to censor (since the money it owned in the channel would just be locked uselessly if the hub won't process payments to/from the censored user). In any case, the ability of the central hub to monitor payments means that it can surveill the payer and payee, and then sell this private transactional data to third parties. This loss of privacy would be intolerable today. Peter Todd also proposed that there might be multiple hubs that could transport funds to each other on behalf of their users, providing somewhat better privacy. Another point of note is that at the time such networks were proposed, only unidirectional (Spilman) channels were available. Thus, while one could be a payer, or payee, you would have to use separate channels for your income versus for your spending. Worse, if you wanted to transfer money from your income channel to your spending channel, you had to close both and reshuffle the money between them, both onchain activities.
Poon-Dryja Lightning Network
Bidirectional two-participant channels. The Poon-Dryja channel mechanism has two important properties:
No time limit.
Both the original Satoshi and the two Spilman variants are unidirectional: there is a payer and a payee, and if the payee wants to do a refund, or wants to pay for a different service or product the payer is providing, then they can't use the same unidirectional channel. The Poon-Dryjam mechanism allows channels, however, to be bidirectional instead: you are not a payer or a payee on the channel, you can receive or send at any time as long as both you and the channel counterparty are online. Further, unlike either of the Spilman variants, there is no time limit for the lifetime of a channel. Instead, you can keep the channel open for as long as you want. Both properties, together, form a very powerful scaling property that I believe most people have not appreciated. With unidirectional channels, as mentioned before, if you both earn and spend over the same network of payment channels, you would have separate channels for earning and spending. You would then need to perform onchain operations to "reverse" the directions of your channels periodically. Secondly, since Spilman channels have a fixed lifetime, even if you never used either channel, you would have to periodically "refresh" it by closing it and reopening. With bidirectional, indefinite-lifetime channels, you may instead open some channels when you first begin managing your own money, then close them only after your lawyers have executed your last will and testament on how the money in your channels get divided up to your heirs: that's just two onchain transactions in your entire lifetime. That is the potentially very powerful scaling property that bidirectional, indefinite-lifetime channels allow. I won't discuss the transaction structure needed for Poon-Dryja bidirectional channels --- it's complicated and you can easily get explanations with cute graphics elsewhere. There is a weakness of Poon-Dryja that people tend to gloss over (because it was fixed very well by RustyReddit):
You have to store all the revocation keys of a channel. This implies you are storing 1 revocation key for every channel update, so if you perform millions of updates over your entire lifetime, you'd be storing several megabytes of keys, for only a single channel. RustyReddit fixed this by requiring that the revocation keys be generated from a "Seed" revocation key, and every key is just the application of SHA256 on that key, repeatedly. For example, suppose I tell you that my first revocation key is SHA256(SHA256(seed)). You can store that in O(1) space. Then for the next revocation, I tell you SHA256(seed). From SHA256(key), you yourself can compute SHA256(SHA256(seed)) (i.e. the previous revocation key). So you can remember just the most recent revocation key, and from there you'd be able to compute every previous revocation key. When you start a channel, you perform SHA256 on your seed for several million times, then use the result as the first revocation key, removing one layer of SHA256 for every revocation key you need to generate. RustyReddit not only came up with this, but also suggested an efficient O(log n) storage structure, the shachain, so that you can quickly look up any revocation key in the past in case of a breach. People no longer really talk about this O(n) revocation storage problem anymore because it was solved very very well by this mechanism.
Another thing I want to emphasize is that while the Lightning Network paper and many of the earlier presentations developed from the old Peter Todd hub-and-spoke model, the modern Lightning Network takes the logical conclusion of removing a strict separation between "hubs" and "spokes". Any node on the Lightning Network can very well work as a hub for any other node. Thus, while you might operate as "mostly a payer", "mostly a forwarding node", "mostly a payee", you still end up being at least partially a forwarding node ("hub") on the network, at least part of the time. This greatly reduces the problems of privacy inherent in having only a few hub nodes: forwarding nodes cannot get significantly useful data from the payments passing through them, because the distance between the payer and the payee can be so large that it would be likely that the ultimate payer and the ultimate payee could be anyone on the Lightning Network. Lessons learned?
We can decentralize if we try hard enough!
"Hubs bad" can be made "hubs good" if everybody is a hub.
Smart people can solve problems. It's kinda why they're smart.
After LN, there's also the Decker-Wattenhofer Duplex Micropayment Channels (DMC). This post is long enough as-is, LOL. But for now, it uses a novel "decrementing nSequence channel", using the new relative-timelock semantics of nSequence (not the broken one originally by Satoshi). It actually uses multiple such "decrementing nSequence" constructs, terminating in a pair of Spilman channels, one in both directions (thus "duplex"). Maybe I'll discuss it some other time. The realization that channel constructions could actually hold more channel constructions inside them (the way the Decker-Wattenhofer puts a pair of Spilman channels inside a series of "decrementing nSequence channels") lead to the further thought behind Burchert-Decker-Wattenhofer channel factories. Basically, you could host multiple two-participant channel constructs inside a larger multiparticipant "channel" construct (i.e. host multiple channels inside a factory). Further, we have the Decker-Russell-Osuntokun or "eltoo" construction. I'd argue that this is "nSequence done right". I'll write more about this later, because this post is long enough. Lessons learned?
Bitcoin offchain scaling is more powerful than you ever thought.
I'm trying to put together a list of what's coming out this year. Have this very simple list so far. Anyone care to add anything or suggest some better dates?
Latest News (most recent first) - Instant channels enable safe Lightning payments with unconfirmed funding Beta - Feb 10, 2019 - Voyager, New trading app from Uber & E-Trade execs announce launch date - Feb 9, 2019 - bumi/blockstream_satellite ruby gem for the Blockstream Satellite API - Feb 8, 2019 - New Zap Desktop 0.3.4 is out. New features, massive performance - Feb 8, 2019 - New release: @lightning desktop app v0.4.0-alpha - Feb 8, 2019 - valerio-vaccaro/Liquid-dashboard - Feb 7, 2019 - Japanese SBI Holdings will allow trading of coins - March 2019 - lnd v0.5.2-beta released - Feb 6, 2019 - Koala studios launches online LN gaming platform - Feb 6, 2019 - Independent Reserve has become the first #crypto exchange in Australia to be insured, with coverage underwritten by Lloyd's of London. - Feb 6, 2019 - Coinbase announces BTC support for their mobile (keep your own keys) wallet - Feb 6, 2019 - Blockstream published a new open source Proof of Reserves tool. - Feb 5, 2019 - RTL release v0.1.14-alpha - Feb 5, 2019 - dr-orlovsky/typhon-spec spec for new trestles side chain published - Feb 5, 2019 - Payment requests coming soon to BTCPay. - Feb 5th, 2019 - Kraken Acquires Futures Startup In Deal Worth At Least $100 Million - Feb 5th, 2019 - Next Blockchain cruise scheduled for June 9-13 - Feb 4, 2019 - Work on a GoTenna plugin to Electrum wallet in progress - Feb 4, 2019 - Bitcoin Candy Dispensers being open sourced - Feb 4, 2019 - New release of JoinMarket v0.5.3 - Feb 4, 2019 - Prime Trust won’t charge its clients to custody digital assets any longer. - Feb 4, 2019 - nodogsplash/nodogsplash wifi access using LN - Feb 3, 2019 - @tippin_me Receive tips using Lightning Network adds message feature - Feb 3, 2019 - Bitcoin-for-Taxes Bill in NH Unanimously Approved by House Subcommittee - Feb 3, 2019 - Full support for native segwit merged into bitcoinj - Feb 3, 2019 - Bitfury is partnering with financial services firm Final Frontier! - Feb 2, 2019 - Now you can open #LightningNetwork channels in @LightningJoule - Feb 2, 2019 - Integrating Blockstream’s Liquid payments on SideShift AI - Feb 1, 2019 - Wyoming legislature passes bill to recognize cryptocurrency as money - Feb 1, 2019 - Casa is open sourcing the code for the Casa Node - Feb 1, 2019 - Casa Browser Extension released - v0.5.2-beta-rc6 of lnd, full release getting very close now - Feb 1, 2019 - Tallycoin adds subscriptions and paywall features in bid to rival Patreon - Jan 31, 2019 - Static channel backup PR merged into LN - Jan 31, 2019 - The NYDFS grants another Bitlicense to ATM operator - Jan 31, 2019 - @pwuille currently proposing the “MiniScript” language to describe BTC output locking conditions for practical composition - Jan 31, 2019 - Fidelity is in the “final testing” phase for its new digital asset business - Jan 31, 2019 - Hardware wallet PR #109 just got merged so that @Trezor no longer requires user interaction for PIN - Jan 31, 2019 - CBOE, VanEck & SolidX filed a new & improved bitcoin ETF proposal. - Jan 31, 2019 - Casa Node code is now open sourced - Jan 31, 2019 - Next Bitoin halving in roughly 497 days - Jan 31, 2019 - BTCPay released 188.8.131.52 - Jan 31, 2019 - @binance now lets users purchase cryptos using Visa and Mastercard credit. - Jan 31, 2019 - Bitfury to Launch Bitcoin Operations in Paraguay - Jan 31, 2019 - Coinbase introduces very generous affiliate program - Jan 30, 2019 - DOJO Trusted Node bitcoin full node. Coming Early 2019 - Jan 30, 2019 - FastBitcoins.com Enables Cash-for-Bitcoin Exchange Via the Lightning Network - Jan 30, 2019 - TD Ameritrade says clients want cryptocurrency investment options - company plans major announcement in 'first half of 2019' - Jan 30, 2019 - Storage component of Fidelity's @DigitalAssets live, with some assets under management, @nikhileshde - Jan 29, 2019 - lightning mainnet has reached 600 BTC capacity - Jan 29, 2019 - Drivechain shows picture of Grin side chain and suggests might be ready in 2 month - Jan 29, 2019 - Lightning labs iOS neutrino wallet in testing stage now - Jan 29, 2019 - Aliant offering cryptocurrency processing free-of-charge - Jan 29, 2019 - Chainstone’s Regulator product to manage assets on the way - Jan 29, 2019 - Fidelity Investments’ new crypto custody service may officially launch in March. - Jan 29, 2019 - Gemini's becomes FIRST crypto EXCHANGE and CUSTODIAN to complete a SOC 2 Review by Deloitte - Jan 29, 2019 - Iran has lifted the ban on Bitcoin and cryptocurrency - Jan 29, 2019 - Confidential Transactions being added into Litecoin announcement - Jan 28, 2019 - http://FastBitcoins.com Enables Cash-for-Bitcoin Exchange Via the Lightning Network - Jan 28, 2019 - Germany’s largest online food delivery platform now accepts btc - Jan 27, 2019 - Launching a Bitcoin Developers School in Switzerland - Jan 27, 2019 - RTL release v0.1.13-alpha Lightning Build repository released - Jan 27, 2019 - The first pay-per-page fantasy novel available to Lightning Network. - Jan 27, 2019 - Numerous tools become available to write messages transmitted with Blockstream Satellite - Jan 26, 2019; - BTCPay 184.108.40.206 released - Jan 26,2019 - WordPress + WooCommerce + BTCPay Plugin is now live - Jan 25, 2019 - Juan Guaido has been promoting #Bitcoin since 2014 is new interim president of Venezuela - Jan 25, 2019 - Morgan Creek funds @RealBlocks - Jan 25, 2019 - Coinbase integrates TurboTax - Jan 25, 2019 - Robinhood received Bitlicense - Jan 25, 2019 - Anchor Labs launches custody - Jan 25, 2019 - NYSE Arca files w/ @BitwiseInvest for BTC ETF approval - Jan 25, 2019 - South Korea, Seoul, Busan & Jeju Island currently working to create pro crypto economic zones. - Jan 25, 2019 - valerio-vaccaro/Liquid-dashboard - Jan 25, 2019 - Bermuda to launch crypto friendly bank - Jan 25, 2019 - Mobile Bitcoin Wallet BRD Raises $15 Million, Plans for Expansion in Asia - Jan 25, 2019 - BullBitcoin rolling out alpha access of platform - Jan 25, 2019 - Electrum Wallet Release 3.3.3 - Jan 25, 2019 - Bitrefill, purchase Bitcoin and have it delivered directly over LN - Jan 25, 2019 - South Korean crypto exchange Bithumb looking to go public in USA - Jan 24, 2019 - Bitcoin Exchanges Don’t Need Money Transmitter Licenses in Pennsylvania - Jan 24, 2019 - US; New Hampshire Bill Aims to Legalize Bitcoin for State Payments in 2020 - Jan 24, 2019 - Robinhood, LibertyX Receive Licenses from New York Regulators - Jan 24, 2019 - Bakkt Bitcoin futures contract details released - Jan 24, 2019 - Blockstream CryptoFeed V3 now includes 30+ venues and 200M+ updates per day - Jan 24, 2019 - Binance Jersey – The Latest Binance European Exchange - Jan 2019
Bitfury Rolls Out Lightning Peach, Its Own Suite of Lightning Tools - Jan 24, 2019
Good news. v3.6.2 just hit the play store for Android. - Jan 24, 2019
Bitrefill - LN now accounts for more payments than alts - Jan 24, 2019
proofd.app allows you to store a checksum of a doc on the blockchain - Jan 24, 2019
487 days until bitcoin halving - Jan 23, 2019
New #GalaxyS10 coming with ‘Samsung Blockchain KeyStore’- Jan 24, 2019
Proof-of-Reserves tool for Bitcoin github.com/stevenroose/reserves - Jan 24, 2019
Lightning Network Pac-Man Arcade introduced - Jan 23, 2019
Weekly Update: Mycro on ParJar, PAR on MetaMorphPro, new customer for Resolvr, 1UP on IDEX... – 19 Jul - 25 Jul'19
Heya everyone, looks like we are in for another round of rapid catch ups on the weekly updates. Haha. Here's another exciting week at Parachute + partners (19 Jul - 25 Jul'19): In honour of our latest partnership with Silent Notary, this week we had an SNTR Parena. Richi won the finale to take home a cool share from the 1.5M SNTR pot. The weekly Parena had a 100k PAR pot. McPrine took home the lion’s share by beating Ken in a closely fought finale. In 8 months since ParJar started, we are now at 12k users, 190k transactions and 200+ communities. Cap says: “…to put it into perspective - June 18th we were around 100k transactions and 9 k users. A month later we’ve added 3k new users (33% growth) and 80,000 new transactions”. Freaking amazing! And thank you for the shoutout aXpire! MYO (Mycro) was added to ParJar this week. And their community started experiencing the joys of tipping. Lolarious work by @k16v5q5! Last week MetaMorphPro did a Twitter vote to list new projects. Turns out Parachuters did PAR a solid. Woot woot! The first ever official TTR shirt is already live in the Parachute shop. Alexis announced the start of a shirt design contest to add to the TTR shirt inventory. Ian’s art quiz in TTR this week saw 25k PAR being given away to winners. Victor’s quiz had another 25k PAR pot for the winners. And Unique’s Math quiz in TTR was a 50k PAR extravaganza. All in all, 100k PAR won in quizzes in TTR this week. Sweet! Cryptonoob (Tom) set up a survey this week for “..for people who are interested in Crypto but don't know where to start..” for his work on the Parachute app UX. We all know how much Gian loves the reality show Big Brother. So we saw a new take on his Tuesday fun events. Mention your favourite reality show and what it’s all about to get some cool PAR. Yay! A PAR coaster makes its way from design to final product in @k16v5q5’s workshop Chris’ Golf tourney contest resulted in no winners since there were no correct guesses. So he decided to give out fun prizes instead: like Jason for coming last, Win for a “hilariously bad guess” of 100 strokes for the champions total score etc. Haha. However, there were a few top prize winners as well. LordHades, with a tournament score of 1968, took home 50k PAR as grand prize. Neat! Ali, Hang, Clinton and Tony came in close at 2nd to 5th positions. Congrats! And with that, Chris announced the start of another contest: Premier League Challenge for Parachuters (Entry code: x0zj2d) with an entry fee of 5000 PAR each. Prize pool yet to be announced. Jason is still in the lead this week in the Big Chili Race at 47 cm. Not much change either in the other plants. Slow week at Chili land. Ric getting in on that sweet Parachute merch Last week we shared that AXPR got listed on Binance Dex. The ERC20-BEP2 conversion bridge went live this week. Learn how to convert your ERC20 tokens to the BEP2 variant from the available how-to guides (article/video/gif). To mark the occasion, aXpire gave away a ton of BNB in an easter egg contest plus a 1% AXPR deposit bonus to folks who started using the bridge. Remember, we had mentioned that the reason for the weekly double burn of AXPR will be revealed this week? Well here it is. Resolvr onboarded a new client: HealthGates. More fees, more burn. Read more about it here. Woot! Victor hosted a trivia like every week on Friday at aXpire for 1000 AXPR. 10 questions. 100 AXPR each. Nice! Catch up on the week that was at aXpire from their latest video update. 2gether was selected as one of the top 100 most innovative projects by South Summit this week. Cryzen now built a Discord-Telegram chat bridge so that anything posted in either platform gets cross posted on the other. The latest WandX update covers the dev work that’s been going on for the past few weeks – support for Tezos wallet, staking live for Tezos, Livepeer and Loom etc. 2gether on South Summit’s honour roll BOMB community member rouse wrote a quick script on how to identify and avoid common crypto scams. Have a read. As BOMB says, “Stay vigilant and always verify”. Last week's giveaway for the top lessons shared by entrepreneurs had so many good entries that the final list was expanded to 19 winners. Awesome stuff! Zach’s latest article on the difference between BOMB and BOMBX explores both the basic and the more complex distinctions. Switcheo’s introductory piece on hyperdeflationary tokens also talks at length about the BOMB project. Zach also announced the start of the Telegram Takeover Challenge this week – get new communities to experience ParJar and BOMB and earn some cool BOMB tokens in return. Win win! In preparation for the integration of the SMS feature in the Birdchain app, the team released an article on some key statistics. Here’s a video from Birdchain CEO Joao Martins discussing the feature. The latest Bounty0x distribution report can be found here. Also, check out a shoutout to the platform in this NodesOfValue article on bounty hunting opportunities. Start of beta testing for SMS feature in Birdchain The ETHOS Universal Wallet now supports Bitcoin Cash and Typerium. Following ETHOS’ listing on Voyager, it will also become the native token on Voyager. Switch continued its PR campaign with cover pieces on Yahoo, CCN and DDFX this week. Altcoin Buzz has a section on its site named “Community Speaks” where members of a crypto community share updates on a project they support. This week, Fantom was featured in this section. V-ID is the latest project using Fantom’s ERC20-BEP2 bridge for listing on Binance Dex. Big props to FTM for opening it up to other projects. FTM got listed on Probit and Airswap. FTM can also now be used as collateral for borrowing on the Constant platform. The Fantom Foundation joined the Australian Digital Commerce Association which works on regulatory advocacy in blockchain. This was also a perfect setting for the Fantom Innovation Labs team to attend the APAC Blockchain Conference in Sydney. Here’s a report. In this week’s techno-literature, have a read of the various Fantom mainnets and the TxFlow protocol by clicking here and here respectively. Another proposed token utility of ETHOS Uptrennd’s 1UP token was listed on IDEX this week. To put it simply, the growth at Uptrennd Twitter has been explosive. Check out these numbers. Awesome stats! This free speech vs fair pay chart shared by Jeff explains why the community backs the platform. About 96% of 1UP issued this week has been used to level up on Uptrennd. Want a recap of the latest at Uptrennd? Click here. Crypto influencer Didi Taihuttu and his family (The Bitcoin Family) joined the platform this week. Congrats once again to Horizon State for making it to the finals of The Wellington Gold Awards. Some great networking opportunities and exposure right there. If you have been lagging behind on HST news, the latest community update covers the past month. We had also mentioned last week that Horizon State is conducting a vote for The Opportunities Party in New Zealand. Here’s a media report on it. Catch up on the latest at District0xverse from their Weekly and Dev updates. The Meme Factory bot was introduced this week to track new memes and marketplace trends on Meme Factory. The HYDRO article contest started last week was extended to the 27th. 50k HYDRO in prizes to be won. Noice! Hydrogen got nominated as a Finalist to the 2019 FinXTech Awards. HYDRO was also listed on the HubrisOne wallet this week. And finally, here’s a closer look at the Hydro Labs team. The folks who make the magic happen. Sup guys! The Parachute Big Chili Race Update – Jason at 1st, Sebastian at 3rd And with that, we close for this week at Parachute and partners. See you again with another weekly update soon.
Transcript of Open Developer Meeting In Discord - 5/10/2019
[Dev-Happy] Blondfrogs05/10/2019 Channel should be open now Chill05/10/2019 you all rock! just getting that out of the way :wink: Tron05/10/2019 Cheers everyone. theking05/10/2019 Hi fabulous dev team! Hans_Schmidt05/10/2019 Howdy! Tron05/10/2019 No specific agenda today. Questions? Has everyone seen Zelcore wallet, and Spend app? theDopeMedic05/10/2019 Any major development status updates that haven't been listed in #news? Synicide05/10/2019 How was the meetup yesterday? I heard it would be recorded, it is uploaded anywhere yet? Tron05/10/2019 And Trezor support on Mango Farm assets? @Synicide Yes it was recorded. The Bitcoin meetup organizer has the video. I talked about Ravencoin, but mostly about the stuff that was being built on/with/for Ravencoin. There was about 70% overlap with folks who were at the Ravencoin meetup in March. Synicide05/10/2019 awesome, looking forward to watching it when it's available Tron05/10/2019 I'll hit up James and see if he's posting the video. S1LVA | GetRavencoin.org05/10/2019 @theDopeMedic I'd follow github if youre interested in development status Synicide05/10/2019 zelcore looks super slick. Been meaning to research its security more with the username/pw being stored on device Chill05/10/2019 How is the progress on the restricted assets and testnet coming along? A secondary question would be about the approximate fork timeframe. S1LVA | GetRavencoin.org05/10/2019 Has anyone heard from the community dev (BW) working on Dividends? Rikki RATTOE Sr. SEC Impresantor05/10/2019 Any word on BW and his progress w dividends? @S1LVA | GetRavencoin.org LOL Tron05/10/2019 @S1LVA | GetRavencoin.org Great question. I haven't heard. Synicide05/10/2019 last meeting BlondFrogs said he would try to connect with BW as he was sick with the flu at the time. Maybe he has an update S1LVA | GetRavencoin.org05/10/2019 I've tried to get in contact, but with no success. Rikki RATTOE Sr. SEC Impresantor05/10/2019 Got a funny feeling... Jeroz05/10/2019 Last time we left off with someone mentioning a foundation and Tron saying let’s discuss that next time iirc kryptoshi05/10/2019 Has anyone taken a look at the merits for this proposal? Thoughts? https://medium.com/systems-nexus/modified-x16r-algorithm-proposal-for-constant-hash-rate-in-short-time-164711dd9044 Medium Modified X16R algorithm proposal for constant hash rate in short time Interpretation Lens V. a0.01 Tron05/10/2019 I did see it. Does anyone think this is a problem? Synicide05/10/2019 It looks interesting... but I'm not sure what it is trying to solve. Looking at netstats, our 1 hour average block time is perfectly 1 minute S1LVA | GetRavencoin.org05/10/2019 Last I heard from him he expressed how important finishing the code was. I wouldnt jump to conclusions on his absence within the community. Synicide05/10/2019 x16r by nature will fluctuate, but DGW seems to be doing a good job keeping consistent block times Tron05/10/2019 Because of relatively broad distribution across the algorithms, the block times are fairly consistent. It is possible, but very, very unlikely to get a sequence that takes up to 4x longer, but that's super rare, and only 4 minutes. We did some timing analysis of the algorithms early on. A few are 1/2 as long as SHA-256 and some are up to 4x longer. But when you randomly select 16 it usually comes out about even. Synicide05/10/2019 1hr avg: 1.02min - 24hr avg: 1min I think we should focus on building, and not trying to fix what isnt necessarily broken Tron05/10/2019 Agreed. Rikki RATTOE Sr. SEC Impresantor05/10/2019 Agreed Tron05/10/2019 Is everyone ok with the frequency (every other week) of this discussion? Jeroz05/10/2019 (Added thumbs down to measure) Tron05/10/2019 @Jeroz Did you do thumbs-up and thumbs down? S1LVA | GetRavencoin.org05/10/2019 Seems appropriate. Its not like the devs dont poke around here and chat anyways. Tron05/10/2019 Anything critical that we should be aware of? Jeroz05/10/2019 When I need a dev, I poke a dev. When that dev is unavailable. I poke another one :smiley: Hans_Schmidt05/10/2019 BlondFrogs was testing some github code last month to create a dividends snapshot database of asset holders at a given blockheight. Is that planned for inclusion? That's the only thing needed for dividends. Jeroz05/10/2019 I hope I didn’t offend any devs With poking around Rikki RATTOE Sr. SEC Impresantor05/10/2019 Was thinking voting would be an excellent use case for restricted assets. Local communities, nations, etc... could kyc their residents radiodub05/10/2019 Is x16r will remain fpga mineable Tron05/10/2019 @Jeroz We're hard to offend. Chill05/10/2019 Is the general dev feeling that the next fork should and will include everything needed for the next 6-9 months (barring something completely unforeseen)? Jeroz05/10/2019 I know :smile: Tron05/10/2019 @radiodub Nearly impossible to stop FPGAs and still keep GPUs Jeroz05/10/2019 About that: voting is another hard fork right? Not too soon? Tron05/10/2019 FPGAs can be reprogrammed as fast. It is silicon (true ASIC) that we can obsolete with a tiny change. @Jeroz Messaging, voting, Tags, Restricted Assets would require a hard fork (upgrade). We could do them each individually, but folks get weary of upgrades, so current plan is to roll them together into one. MrFanelli™05/10/2019 Good idea Jeroz05/10/2019 Oh voting too? MrFanelli™05/10/2019 People will like that Jeroz05/10/2019 I thought that was coming later Tron05/10/2019 Voting is the one that isn't being worked on now. Tags and Restricted assets have taken precedence. Jeroz05/10/2019 I know. But you plan on waiting to fork until voting is also done? That would have my preference tbh But I can see an issue with too many things at the same time Tron05/10/2019 If someone wants to step in, we've had one of our devs sidelined and he was working on BlockBook support so more light wallets can connect to Ravencoin. Mostly test cases needed at this point. S1LVA | GetRavencoin.org05/10/2019 Thats a pretty large upgrade.. Bigger surface for unknowns Rikki RATTOE Sr. SEC Impresantor05/10/2019 At what point would RVN community consider moving to ASICs because having a Bitcoin level of security would eventually be needed? MrFanelli™05/10/2019 Never rikki Tron05/10/2019 @S1LVA | GetRavencoin.org 100% Lots of testing on testnet and bounties. [Dev-Happy] Blondfrogs05/10/2019 I am here :smiley: Tron05/10/2019 @Rikki RATTOE Sr. SEC Impresantor There's nothing inherently wrong with ASICs but it tends to centralize to data centers and less opportunity for anyone to just run their gaming rig overnight and collect RVN. Welcome Blondfrogs MrFanelli™05/10/2019 Asics are too expensive. If we want normal people to mine, then we cant be an asic network Rikki RATTOE Sr. SEC Impresantor05/10/2019 @Tron True but what happens when the chain needs a Bitcoin level of protection? Tron05/10/2019 More GPUs, more FPGAs MrFanelli™05/10/2019 Nvidia loves ravencoin :stuck_out_tongue: Chill05/10/2019 ok, so we are pro FPGAs 𝕿𝖍𝖊 𝕯𝖔𝖓 𝕳𝖆𝖗𝖎𝖘𝖙𝖔 CEO ∞05/10/2019 Build it and they will come Tron05/10/2019 It's all relative. It is cost to attack. If an ASIC isn't available for rent, then only option is rental of non-allocated GPUs Rikki RATTOE Sr. SEC Impresantor05/10/2019 @Chill Eventually everyone will need FPGAs to be profitable on RVN, at that point I don't see why we just don't make the switch to ASICs Tron05/10/2019 Also, as much as we don't focus on price, the price does matter because it determines the amount of electricity and hardware will be deployed to get the block reward. Price increase means more security, more mining means more security means higher price. It's a circle. Chill05/10/2019 someone tell that to the twitter handler HailKira05/10/2019 you guys adding seedphrase to desktop wallet? [Dev-Happy] Blondfrogs05/10/2019 @HailKira We will, just is not a high priority right now. MrFanelli™05/10/2019 Twitter handle wants rvn ded Rikki RATTOE Sr. SEC Impresantor05/10/2019 I just don't see much difference between ASIC and FPGA and I'd rather have the added nethash an ASIC will provide once GPUs are virtually kicked off the network kryptoshi05/10/2019 I'm at 11 GB future proof Tron05/10/2019 That also limits miners to big money, not gaming rigs. Synicide05/10/2019 @Rikki RATTOE Sr. SEC Impresantor you have to keep in mind the 'added nethash' is all relative Rikki RATTOE Sr. SEC Impresantor05/10/2019 FPGAs will limit miners to big $$$ too IMO Tron05/10/2019 @kryptoshi New algo x16r-12G requires 12GB :frowning: Seal <:cricat:> Clubber05/10/2019 But sperating smaller gb cards would lead to less adoption if we ever become a mainstream coin. Adpotion of mining that is Chill05/10/2019 but we are a mainstream coin Seal <:cricat:> Clubber05/10/2019 Mains stream as in what eth did Tron05/10/2019 @Rikki RATTOE Sr. SEC Impresantor I agree. Not a perfect solution. Steelers05/10/2019 Is this a Dev meeting or Algo meeting :smiley: Seal <:cricat:> Clubber05/10/2019 But if we ever go mem lane. We should aim for 6 or 8gb. Tron05/10/2019 Open to other questions. Rikki RATTOE Sr. SEC Impresantor05/10/2019 @Tron Probably not the time and the place to have this discussion as we stand currently but IMO we're gonna have this conversation for real eventually Seal <:cricat:> Clubber05/10/2019 Most cards have 6gb now. kryptoshi05/10/2019 Why 12 gb ? Such a massive jump Seal <:cricat:> Clubber05/10/2019 ^ Would also like to know Tron05/10/2019 @kryptoshi I was joking. You said you had 11GB card. Seal <:cricat:> Clubber05/10/2019 Haha You got em good I cant imaghine the face he had when he was 1gb short Lel Rikki RATTOE Sr. SEC Impresantor05/10/2019 That's what she said kryptoshi05/10/2019 Hahaha MrFanelli™05/10/2019 need a 2080ti Seal <:cricat:> Clubber05/10/2019 How much does the VII have? 16? [Dev-Happy] Blondfrogs05/10/2019 Any other questions you have for us? Hans_Schmidt05/10/2019 @[Dev-Happy] Blondfrogs You were testing some github code last month to create a dividends snapshot database of asset holders at a given blockheight. Is that planned for inclusion? That's the only thing needed for dividends. Chill05/10/2019 a dev might want to contact Crypto Chico for some 'splaining [Dev-Happy] Blondfrogs05/10/2019 I still haven't contacted the developer that was working on dividends. Was pretty busy with some other stuff. I will contact him this next week, and see where we are at for that. Rikki RATTOE Sr. SEC Impresantor05/10/2019 Chico doesn't do interviews, shame. Tron would be a much needed interview for his community [Dev-Happy] Blondfrogs05/10/2019 As far as releasing dividends, I can be released at anytime the code is finished and doesn't require any voting or hardfork to occur kryptoshi05/10/2019 Android asset aware wallet? Seal <:cricat:> Clubber05/10/2019 Is in beta right Tron05/10/2019 Testing went well today on Android. Nearing release. [Dev-Happy] Blondfrogs05/10/2019 as it is a mechanism that is wallet specific liqdmetal05/10/2019 no protocol level dividends you guys are saying? [Dev-Happy] Blondfrogs05/10/2019 correct Tron05/10/2019 DM me if you want to test Android with Asset support. I'll send you the .APK. Rikki RATTOE Sr. SEC Impresantor05/10/2019 RVN gonna be on tZero wallet? :yum: liqdmetal05/10/2019 why not? what is the logic on non-protocol dividends assets + protocol dividends is nirvana [Dev-Happy] Blondfrogs05/10/2019 dividends is pretty much sending payments to addresses. Right now, you would have to do this manually. The dividends code, will allow this to be done quicker and easier. No consensus changes are required. Tron05/10/2019 New Android wallet is BIP44 and original Android wallet is BIP32/BIP39 so the words will not find the funds. You'll need to send them to another wallet, and then send them to new BIP44 derived address. liqdmetal05/10/2019 we already have payments to addresses so dividends is not a feature so much as simple wallet script Hans_Schmidt05/10/2019 @[Dev-Happy] Blondfrogs The dividend code changes look risky'er to me than messaging. Would you consider "tags" branch test-ready? [Dev-Happy] Blondfrogs05/10/2019 Not yet @Hans_Schmidt Dividends is easier then you would think if coded correctly. I still haven't seen the code from the community developer. Excited to view it though. Hans_Schmidt05/10/2019 @[Dev-Happy] Blondfrogs Sorry- I meant restricted, not dividend kryptoshi05/10/2019 @Tron on the Android wallet, anyone successfully added their own node and got it to sync faster? Always have issues. I have a supped up node and cannot get it to work with the Android wallet... [Dev-Happy] Blondfrogs05/10/2019 @Hans_Schmidt Oh, that makes more sense. Yes, they are very risky! That is why we are going to create a new bug bounty program for restricted assets testing. Rikki RATTOE Sr. SEC Impresantor05/10/2019 Once the network does get flooded w FPGAs, should we even consider changing the algo a couple times a year? That would only give bitstream developers added time to hoard their creations for themselves Kind of like they're already doing with their x16r bitstreams :yum: kryptoshi05/10/2019 Flooded... lol... like that hardware has mass production scale like gpus...come on dude MrFanelli™05/10/2019 Bip44 wallet? :smiley: Rikki RATTOE Sr. SEC Impresantor05/10/2019 @kryptoshi Eventually yes, where there's $$$ to be made, people make things happen MrFanelli™05/10/2019 So can we trade from that in the new Binance Dex when RVN get listed? kryptoshi05/10/2019 @Rikki RATTOE Sr. SEC Impresantor Yes Soon TM lol. :soontm: Tron05/10/2019 @kryptoshi There are some things we can do to speed it up. For a new wallet, it shouldn't need to sync. For recovered wallet, it needs to sync from beginning of BIP44 wallet support on iOS so words can be moved between the two. Other options include grabbing the first derived address and looking it up on an explorer to see when it was first used and sync from there. Another option is to add an optional number with the 12 words so it knows when to start syncing. There isn't a good reason on an SPV wallet to sync before the seed was created. kryptoshi05/10/2019 Cool. Glad you are looking at speedup options.. :right_facing_fist: :left_facing_fist: [Dev-Happy] Blondfrogs05/10/2019 @MrFanelli™ If the binance dex support RVN deposits. I am sure you would be able to send from it MrFanelli™05/10/2019 Has binance reached out for any info or anything? I seen that we ranked in some voting competition they had on twitter for an ama Rikki RATTOE Sr. SEC Impresantor05/10/2019 I believe we'll need to create a fund of approximately $300,000 in order to get a BNB-RVN asset created and listed on the Binance FDEX [Dev-Happy] Blondfrogs05/10/2019 In order to work with binance we need Ravencoin integrated into Blockbook. Tron05/10/2019 @MrFanelli™ I've reached back out to Binance on the AMA. MrFanelli™05/10/2019 Awesome :smile: kryptoshi05/10/2019 @Tron you are a natural on the interviews... cool as a cucumber. :sunglasses: Tron05/10/2019 Thanks @kryptoshi [Dev-Happy] Blondfrogs05/10/2019 Cool. We are done for today. Please don't ask us any more questions :smiley: Tron05/10/2019 Thanks everyone!!!! [Dev-Happy] Blondfrogs05/10/2019 Cya everyone!! S1LVA | GetRavencoin.org05/10/2019 Cya happy feet, Thanks Thanks Tron Seal <:cricat:> Clubber05/10/2019 :bepbep:
In a P2PKH locking script, the public key is not visible – we can only see its hash. If we go to a blockchain explorer and look at a P2PKH output that hasn’t been spent, we can’t determine the public key. It’s only revealed when the receiver decides to transfer the funds. This has a couple of benefits. The first is that the public key hash is simply easier to pass around than a full ... Esplora, the Explorer. Quelle: blockstream.info. Esplora ist eine freie und quelloffene Software, die den Blockchain Explorer hinter Blockstream.info stellt. Die Besonderheit bei Esplora ist, dass neben der Bitcoin Blockchain und dem Bitcoin Testnet auch die hauseigene Liquid Blockchain angezeigt wird. Darüber hinaus unterstützt Esplora auch ... 5BTC - 10mins hacked Script Blockchain unconfirmed bitcoin transactions video duration 3 Minute(s) 5 Second(s), published by Amy's LearnEarn on 07 02 2019 - 03:15:46. How to download bitcoin wallet hack. How to download bitcoin hacks and scripts from our website? Everything is very simple, downloading our launcher, you get a free key, for trial testing, which comes to your e-mail, after registering in the system, select the desired script and upload it to your PC, each script contains instructions with detailed launch and solution of possible problems. The Bitcoin.com Explorer provides block, transaction, and address data for the Bitcoin Cash (BCH) and Bitcoin (BTC) chains. The data is displayed within an awesome interface and is available in several different languages. If you search for the address in a Monero block explorer, you'll see that you can't tie any transactions to it. That's because when a sender wants to send you funds, they create a stealth address by doing some mathematics with the one above. When they send XMR, they send it to a new address on the blockchain. Each created address will be different from the previous one, and they cannot be ... If you are new to Bitcoin and Cryptocurrencies then by now you might have heard the term “Block Explorer”. Blockchain Explorers and its data might seem confusing at the beginning but once you master this tool you’ll know how effective it is in the cryptocurrency ecosystem.