How to Build a Simple Cryptocurrency Trading Bot in Node ...

Dragonchain Great Reddit Scaling Bake-Off Public Proposal

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 posts per 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 on YouTube.
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.

Executive summary

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.

Live Demo

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

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.

Scaling

How it works & scales

Architectural Scaling

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.

Economic Scaling

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.

Scaled Deployment

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

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

Getting Started

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...
  1. Download Dragonchain’s dctl
  2. Input three commands into a terminal
  3. Build an image
  4. Run it
More information can be found in our Get started documents.

Architecture
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.

API Documentation

APIs (on chain & off)

SDK Source

Nobody’s Perfect

Known issues or tradeoffs
  • 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.

Requirements

Scaling

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

Decentralization

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 multi-cloud
  • 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.
  1. Offload all Ethereum transaction fees (user withdrawals) to interested users as they wish to withdraw tokens for external use or sale.
  2. 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).
  3. In a combination of the above, customers could cover aggregated fees.
  4. Integrate with alternate Ethereum roll up solutions or other proposals to aggregate minting and distribution transactions onto Ethereum.

Bonus Points

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

Documentation should be clear and complete
For full documentation, explore our docs, SDK’s, Github repo’s, architecture documents, original Disney documentation, and other links or resources provided in this proposal.

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

Bonus Points: Show us how it works. Do you have an idea for a cool new use case for Community Points? Build it!

TIME

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.

Dragon Den

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
See above

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.

Other Considerations

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).

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

Open Source

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
  • Preferred license
  • 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

Dragonchain Foundation

The Dragonchain Foundation was created on January 17, 2017. https://den.social/l/Dragonchain/24130078352e485d96d2125082151cf0/dragonchain-and-disney/
submitted by j0j0r0 to ethereum [link] [comments]

Monthly Nano News: December 2019 + Year Recap Special

This is what NANO has been up to lately. I don't think I lie if I say it has been quite an amazing year!
See you soon and happy new year! Something nice is coming soon that I have been working on for a while, stay tuned..

December 2019

November 2019

October 2019

September 2019

August 2019

July 2019

June 2019

May 2019

Apr 2019

Mar 2019

Feb 2019

Jan 2019


More news here: https://nanolinks.info/news

https://preview.redd.it/9sw5nkoxlt741.png?width=749&format=png&auto=webp&s=3426d4eafb9430c0304a6d161596102536df4318
submitted by Joohansson to nanocurrency [link] [comments]

⚡ Lightning Network Megathread ⚡

Last updated 2018-01-29
This post is a collaboration with the Bitcoin community to create a one-stop source for Lightning Network information.
There are still questions in the FAQ that are unanswered, if you know the answer and can provide a source please do so!

⚡What is the Lightning Network? ⚡

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

  • starkbot - (Elizabeth Stark - Lightning Labs)
  • roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • stile65 - (Alex Akselrod - Lightning Labs)
  • cfromknecht - (Conner Fromknecht - Lightning Labs)
  • RustyReddit - (Rusty Russell - Blockstream)
  • cdecker - (Christian Decker - Blockstream)
  • Dryja - (Tadge Dryja - Digital Currency Initiative)
  • josephpoon - (Joseph Poon)
  • fdrn - (Fabrice Drouin - ACINQ )
  • pmpadiou - (Pierre-Marie Padiou - ACINQ)

Lightning Network Experts on Twitter

  • @starkness - (Elizabeth Stark - Lightning Labs)
  • @roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • @stile65 - (Alex Akselrod - Lightning Labs)
  • @bitconner - (Conner Fromknecht - Lightning Labs)
  • @johanth - (Johan Halseth - Lightning Labs)
  • @bvu - (Bryan Vu - Lightning Labs)
  • @rusty_twit - (Rusty Russell - Blockstream)
  • @snyke - (Christian Decker - Blockstream)
  • @JackMallers - (Jack Mallers - Zap)
  • @tdryja - (Tadge Dryja - Digital Currency Initiative)
  • @jcp - (Joseph Poon)
  • @alexbosworth - (Alex Bosworth - yalls.org)

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

  • ZigZag - Disclaimer You must trust ZigZag to send to Target Address

Lightning on Mainnet

Warning - Testing should be done on Testnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations

  • LND - Lightning Network Daemon (Golang)
  • eclair - A Scala implementation of the Lightning Network (Scala)
  • c-lightning - A Lightning Network implementation in C
  • lit - Lightning Network node software (Golang)
  • lightning-onion - Onion Routed Micropayments for the Lightning Network (Golang)
  • lightning-integration - Lightning Integration Testing Framework
  • ptarmigan - C++ BOLT-Compliant Lightning Network Implementation [Incomplete]

Libraries

Lightning Network Visualizers/Explorers

Testnet

Mainnet

Payment Processors

  • BTCPay - Next stable version will include Lightning Network

Community

Slack

IRC

Slack Channel

Discord Channel

Miscellaneous

⚡ Lightning FAQs ⚡

If you can answer please PM me and include source if possible. Feel free to help keep these answers up to date and as brief but correct as possible
Is Lightning Bitcoin?
Yes. You pick a peer and after some setup, create a bitcoin transaction to fund the lightning channel; it’ll then take another transaction to close it and release your funds. You and your peer always hold a bitcoin transaction to get your funds whenever you want: just broadcast to the blockchain like normal. In other words, you and your peer create a shared account, and then use Lightning to securely negotiate who gets how much from that shared account, without waiting for the bitcoin blockchain.
Is the Lightning Network open source?
Yes, Lightning is open source. Anyone can review the code (in the same way as the bitcoin code)
Who owns and controls the Lightning Network?
Similar to the bitcoin network, no one will ever own or control the Lightning Network. The code is open source and free for anyone to download and review. Anyone can run a node and be part of the network.
I’ve heard that Lightning transactions are happening “off-chain”…Does that mean that my bitcoin will be removed from the blockchain?
No, your bitcoin will never leave the blockchain. Instead your bitcoin will be held in a multi-signature address as long as your channel stays open. When the channel is closed; the final transaction will be added to the blockchain. “Off-chain” is not a perfect term, but it is used due to the fact that the transfer of ownership is no longer reflected on the blockchain until the channel is closed.
Do I need a constant connection to run a lightning node?
Not necessarily,
Example: A and B have a channel. 1 BTC each. A sends B 0.5 BTC. B sends back 0.25 BTC. Balance should be A = 0.75, B = 1.25. If A gets disconnected, B can publish the first Tx where the balance was A = 0.5 and B = 1.5. If the node B does in fact attempt to cheat by publishing an old state (such as the A=0.5 and B=1.5 state), this cheat can then be detected on-chain and used to steal the cheaters funds, i.e., A can see the closing transaction, notice it's an old one and grab all funds in the channel (A=2, B=0). The time that A has in order to react to the cheating counterparty is given by the CheckLockTimeVerify (CLTV) in the cheating transaction, which is adjustable. So if A foresees that it'll be able to check in about once every 24 hours it'll require that the CLTV is at least that large, if it's once a week then that's fine too. You definitely do not need to be online and watching the chain 24/7, just make sure to check in once in a while before the CLTV expires. Alternatively you can outsource the watch duties, in order to keep the CLTV timeouts low. This can be achieved both with trusted third parties or untrusted ones (watchtowers). In the case of a unilateral close, e.g., you just go offline and never come back, the other endpoint will have to wait for that timeout to expire to get its funds back. So peers might not accept channels with extremely high CLTV timeouts. -- Source
What Are Lightning’s Advantages?
Tiny payments are possible: since fees are proportional to the payment amount, you can pay a fraction of a cent; accounting is even done in thousandths of a satoshi. Payments are settled instantly: the money is sent in the time it takes to cross the network to your destination and back, typically a fraction of a second.
Does Lightning require Segregated Witness?
Yes, but not in theory. You could make a poorer lightning network without it, which has higher risks when establishing channels (you might have to wait a month if things go wrong!), has limited channel lifetime, longer minimum payment expiry times on each hop, is less efficient and has less robust outsourcing. The entire spec as written today assumes segregated witness, as it solves all these problems.
Can I Send Funds From Lightning to a Normal Bitcoin Address?
No, for now. For the first version of the protocol, if you wanted to send a normal bitcoin transaction using your channel, you have to close it, send the funds, then reopen the channel (3 transactions). In future versions, you and your peer would agree to spend out of your lightning channel funds just like a normal bitcoin payment, allowing you to use your lightning wallet like a normal bitcoin wallet.
Can I Make Money Running a Lightning Node?
Not really. Anyone can set up a node, and so it’s a race to the bottom on fees. In practice, we may see the network use a nominal fee and not change very much, which only provides an incremental incentive to route on a node you’re going to use yourself, and not enough to run one merely for fees. Having clients use criteria other than fees (e.g. randomness, diversity) in route selection will also help this.
What is the release date for Lightning on Mainnet?
Lightning is already being tested on the Mainnet Twitter Link but as for a specific date, Jameson Lopp says it best
Would there be any KYC/AML issues with certain nodes?
Nope, because there is no custody ever involved. It's just like forwarding packets. -- Source
What is the delay time for the recipient of a transaction receiving confirmation?
Furthermore, the Lightning Network scales not with the transaction throughput of the underlying blockchain, but with modern data processing and latency limits - payments can be made nearly as quickly as packets can be sent. -- Source
How does the lightning network prevent centralization?
Bitcoin Stack Exchange Answer
What are Channel Factories and how do they work?
Bitcoin Stack Exchange Answer
How does the Lightning network work in simple terms?
Bitcoin Stack Exchange Answer
How are paths found in Lightning Network?
Bitcoin Stack Exchange Answer
How would the lightning network work between exchanges?
Each exchange will get to decide and need to implement the software into their system, but some ideas have been outlined here: Google Doc - Lightning Exchanges
Note that by virtue of the usual benefits of cost-less, instantaneous transactions, lightning will make arbitrage between exchanges much more efficient and thus lead to consistent pricing across exchange that adopt it. -- Source
How do lightning nodes find other lightning nodes?
Stack Exchange Answer
Does every user need to store the state of the complete Lightning Network?
According to Rusty's calculations we should be able to store 1 million nodes in about 100 MB, so that should work even for mobile phones. Beyond that we have some proposals ready to lighten the load on endpoints, but we'll cross that bridge when we get there. -- Source
Would I need to download the complete state every time I open the App and make a payment?
No you'd remember the information from the last time you started the app and only sync the differences. This is not yet implemented, but it shouldn't be too hard to get a preliminary protocol working if that turns out to be a problem. -- Source
What needs to happen for the Lightning Network to be deployed and what can I do as a user to help?
Lightning is based on participants in the network running lightning node software that enables them to interact with other nodes. This does not require being a full bitcoin node, but you will have to run "lnd", "eclair", or one of the other node softwares listed above.
All lightning wallets have node software integrated into them, because that is necessary to create payment channels and conduct payments on the network, but you can also intentionally run lnd or similar for public benefit - e.g. you can hold open payment channels or channels with higher volume, than you need for your own transactions. You would be compensated in modest fees by those who transact across your node with multi-hop payments. -- Source
Is there anyway for someone who isn't a developer to meaningfully contribute?
Sure, you can help write up educational material. You can learn and read more about the tech at http://dev.lightning.community/resources. You can test the various desktop and mobile apps out there (Lightning Desktop, Zap, Eclair apps). -- Source
Do I need to be a miner to be a Lightning Network node?
No -- Source
Do I need to run a full Bitcoin node to run a lightning node?
lit doesn't depend on having your own full node -- it automatically connects to full nodes on the network. -- Source
LND uses a light client mode, so it doesn't require a full node. The name of the light client it uses is called neutrino
How does the lightning network stop "Cheating" (Someone broadcasting an old transaction)?
Upon opening a channel, the two endpoints first agree on a reserve value, below which the channel balance may not drop. This is to make sure that both endpoints always have some skin in the game as rustyreddit puts it :-)
For a cheat to become worth it, the opponent has to be absolutely sure that you cannot retaliate against him during the timeout. So he has to make sure you never ever get network connectivity during that time. Having someone else also watching for channel closures and notifying you, or releasing a canned retaliation, makes this even harder for the attacker. This is because if he misjudged you being truly offline you can retaliate by grabbing all of its funds. Spotty connections, DDoS, and similar will not provide the attacker the necessary guarantees to make cheating worthwhile. Any form of uncertainty about your online status acts as a deterrent to the other endpoint. -- Source
How many times would someone need to open and close their lightning channels?
You typically want to have more than one channel open at any given time for redundancy's sake. And we imagine open and close will probably be automated for the most part. In fact we already have a feature in LND called autopilot that can automatically open channels for a user.
Frequency will depend whether the funds are needed on-chain or more useful on LN. -- Source
Will the lightning network reduce BTC Liquidity due to "locking-up" funds in channels?
Stack Exchange Answer
Can the Lightning Network work on any other cryptocurrency? How?
Stack Exchange Answer
When setting up a Lightning Network Node are fees set for the entire node, or each channel when opened?
You don't really set up a "node" in the sense that anyone with more than one channel can automatically be a node and route payments. Fees on LN can be set by the node, and can change dynamically on the network. -- Source
Can Lightning routing fees be changed dynamically, without closing channels?
Yes but it has to be implemented in the Lightning software being used. -- Source
How can you make sure that there will be routes with large enough balances to handle transactions?
You won't have to do anything. With autopilot enabled, it'll automatically open and close channels based on the availability of the network. -- Source
How does the Lightning Network stop flooding nodes (DDoS) with micro transactions? Is this even an issue?
Stack Exchange Answer

Unanswered Questions

How do on-chain fees work when opening and closing channels? Who pays the fee?
How does the Lightning Network work for mobile users?
What are the best practices for securing a lightning node?
What is a lightning "hub"?
How does lightning handle cross chain (Atomic) swaps?

Special Thanks and Notes

  • Many links found from awesome-lightning-network github
  • Everyone who submitted a question or concern!
  • I'm continuing to format for an easier Mobile experience!
submitted by codedaway to Bitcoin [link] [comments]

Looking for some advice on writing a bot

Hoping someone out there has some expertise in this area. I'll cut to the chase first: I am looking to pay someone to help write a partial code (preferably in Java) that interfaces with an exchange API (preferably OKc). I'm looking for the infrastructure to receive price data/set orders/etc, and I will fill in the conditions for which to make those trades.
A little background on myself: I took two semesters of Java in college 5 years ago, and about a year back I got into programming a couple of simple android apps. I had forgotten everything, so I retook 2 semesters of an online Java course and made it the better part of the way through "Big nerd Ranch" programming for android.
WELP, a year later and I've forgotten pretty much everything again. Use it or lose it sort of deal. BUT, I do a lot of VBA programming for excel at my job, and decided to give a go at a few trading strategies I had in mind.
Essentially, I devised a trade strategy independent of any data set. Then I compiled 1 minute data from 2015 and 2016, and back-tested the method against the entire data set (as well as select beabull markets). I wrote a macro to back test the method a user defined amount of times.
I was extremely impressed with the results. Of 1000 trials (running the simulation/macro 1000 times against the data), 87% of the simulations resulted in a profit (accounting for fees of trading). The data was normally distributed about the mean profit of all of the trials, and break even was greater than 1 standard deviation from the mean (giving a >68% confidence interval for turning a profit).
This method held up nicely regardless of the data set I fed it. I fed a 3 month data set of bearish data, 3 month data set of bullish data, etc. and without adjusting decision parameters it managed to turn profits a similar percentage of the time. Best part, was that the mean profit of the 2016 trials for some simulations was comparable or greater than the profit of holding for 2016 (impressed me).
SO, I understand that there are many other things to take into consideration (slippage, liquidity, etc.), but I am confident I can simulate and account for that. I am also confident that I can figure out how to use the exchange API and incorporate that into my program, but to be completely honest it's going to take me a bunch of time to learn that. I'd rather pay someone to help me out, and we can negotiate what that's worth.
If anyone is knowledgeable about this, I would appreciate a conversation.
submitted by ozone63 to BitcoinMarkets [link] [comments]

DAG Technology Analysis and Measurement

The report produced by the fire block chain coins Institute, author: Yuan Yuming, Hu Zhiwei, PDF version please read the original text download
Summary
The Fire Coin Blockchain Application Research Institute conducts research on distributed ledger technology based on directed acyclic graph (DAG) data structure from a technical perspective, and through the specific technical test of typical representative project IOTA, the main research results are obtained:
Report body
1 Introduction
Blockchain is a distributed ledger technology, and distributed ledger technology is not limited to the "blockchain" technology. In the wave of digital economic development, more distributed ledger technology is being explored and applied in order to improve the original technology and meet more practical business application scenarios. Directed Acylic Graph (hereinafter referred to as "DAG") is one of the representatives.
What is DAG technology and the design behind it? What is the actual application effect?We attempted to obtain analytical conclusions through deep analysis of DAG technology and actual test runs of representative project IOTA.
It should also be noted that the results of the indicator data obtained from the test are not and should not be considered as proof or confirmation of the final effect of the IOTA platform or project. Hereby declare.
2. Main conclusions
After research and test analysis, we have the following main conclusions and technical recommendations:
3.DAG Introduction
3.1. Introduction to DAG Principle
DAG (Directed Acyclic Graph) is a data structure that represents a directed graph, and in this graph, it cannot return to this point (no loop) from any vertex, as shown in the figure. Shown as follows:
📷
After the DAG technology-based distributed ledger (hereinafter referred to as DAG) technology has been proposed in recent years, many people think that it is hopeful to replace the blockchain technology in the narrow sense. Because the goal of DAG at design time is to preserve the advantages of the blockchain and to improve the shortcomings of the blockchain.
Different from the traditional linear blockchain structure, the transaction record of the distributed ledger platform represented by IOTA forms a relational structure with a directed acyclic graph, as shown in the following figure.
📷
3.2. DAG characteristics
Due to the different data structure from the previous blockchain, the DAG-based distributed ledger technology has the characteristics of high scalability, high concurrency and is suitable for IoT scenarios.
3.2.1. High scalability, high concurrency
The data synchronization mechanism of traditional linear blockchains (such as Ethereum) is synchronous, which may cause network congestion. The DAG network adopts an asynchronous communication mechanism, allowing concurrent writing. Multiple nodes can simultaneously trade at different tempos without having a clear sequence. Therefore, the data of the network may be inconsistent at the same time, but it will eventually be synchronized.

3.2.2. Applicable to IoT scenarios

In the traditional blockchain network, there are many transactions in each block. The miners are packaged and sent uniformly, involving multiple users. In the DAG network, there is no concept of “block”, the smallest unit of the network. It is a "transaction", each new transaction needs to verify the first two transactions, so the DAG network does not need miners to pass the trust, transfer does not require a fee, which makes DAG technology suitable for small payments.
4. Analysis of technical ideas
Trilemma, or "trilemma", means that in a particular situation, only two of the three advantageous options can be selected or one of the three adverse choices must be chosen. This type of selection dilemma has related cases in various fields such as religion, law, philosophy, economics, and business management.Blockchain is no exception. The impossible triangle in the blockchain is: Scalability, Decentralization, and Security can only choose two of them.
If you analyze DAG technology according to this idea, according to the previous introduction, then DAG has undoubtedly occupied the two aspects of decentralization and scalability. The decentralization and scalability of the DAG can be considered as two-sided, because of the asynchronous accounting features brought about by the DAG data structure, while achieving the high degree of decentralization of the participating network nodes and the scalability of the transaction.
5. There is a problem
Since the characteristics of the data structure bring decentralization and scalability at the same time, it is speculated that the security is a hidden danger according to the theory of impossible triangles. But because DAG is a relatively innovative and special structure, can it be more perfect to achieve security? This is not the case from the actual results.
5.1. Double flower problem
The characteristics of DAG asynchronous communication make it possible for a double-flower attack. For example, an attacker adds two conflicting transactions (double spending) at two different locations on the network, and the transactions are continuously forward-checked in the network until they appear on the verification path of the same transaction, and the network discovers the conflict. At this time, the common ancestor nodes that the two transactions are gathered together can determine which transaction is a double-flower attack.
If the trading path is too short, there will be a problem like "Blowball": when most transactions are "lazy" in extreme cases, only the early trading, the trading network will form a minority. Early transactions are the core central topology. This is not a good thing for DAGs that rely on ever-increasing transactions to increase network reliability.
Therefore, at present, for the double flower problem, it is necessary to comprehensively consider the actual situation for design. Different DAG networks have their own solutions.
5.2. Shadow chain problem
Due to the potential problem of double flowers, when an attacker can build a sufficient number of transactions, it is possible to fork a fraudulent branch (shadow chain) from the real network data, which contains a double flower transaction, and then this The branch is merged into the DAG network, and in this case it is possible for this branch to replace the original transaction data.
6. Introduction to the current improvement plan
At present, the project mainly guarantees safety by sacrificing the native characteristics of some DAGs.
The IOTA project uses the Markov chain Monte Carlo (MCMC) approach to solve this problem. The IOTA introduces the concept of Cumulative Weight for transactions to record the number of times the transaction has been cited in order to indicate the importance of its transaction. The MCMC algorithm selects the existing transactions in the current network as a reference for the newly added transactions by weighting the random weights of the accumulated weights. That is, the more referenced the transaction path, the easier it is to be selected by the algorithm. The walk strategy has also been optimized in version 1.5.0 to control the "width" of the transaction topology to a reasonable range, making the network more secure.
However, at the beginning of the platform startup, due to the limited number of participating nodes and transactions, it is difficult to prevent a malicious organization from sending a large number of malicious transactions through a large number of nodes to cause the entire network to be attacked by the shadow chain. Therefore, an authoritative arbitration institution is needed to determine the validity of the transaction. In IOTA, this node is a Coordinator, which periodically snapshots the current transaction data network (Tangle); the transactions contained in the snapshot are confirmed as valid transactions. But Coordinator doesn't always exist. As the entire network runs and grows, IOTA will cancel the Coordinator at some point in the future.
The Byteball improvement program features its design for the witness and the main chain. Because the structure of DAG brings a lot of transactions with partial order, and to avoid double flowers, it is necessary to establish a full order relationship for these transactions to form a transaction backbone. An earlier transaction on the main chain is considered a valid transaction.Witnesses, who are held by well-known users or institutions, form a main chain by constantly sending transactions to confirm other user transactions.
The above scheme may also bring different changes to the platform based on the DAG structure. Taking IOTA as an example, because of the introduction of Coordinator, the decentralization characteristics are reduced to some extent.
7. Actual operation
7.1. Positive effects
In addition to solving security problems, the above solutions can also solve the smart contract problem to some extent.
Due to the two potential problems caused by the native features of DAG: (1) The transaction duration is uncontrollable. The current mechanism for requesting retransmission requires some complicated timeout mechanism design on the client side, hoping for a simple one-time confirmation mechanism. (2) There is no global sorting mechanism, which results in limited types of operations supported by the system. Therefore, on the distributed ledger platform based on DAG technology, it is difficult to implement Turing's complete intelligent contract system.
In order to ensure that the smart contract can run, an organization is needed to do the above work. The current Coordinator or main chain can achieve similar results.
7.2. Negative effects
As one of the most intuitive indicators, DAG's TPS should theoretically be unlimited. If the maximum TPS of the IOTA platform is compared to the capacity of a factory, then the daily operation of TPS is the daily production of the plant.
For the largest TPS, the April 2017 IOTA stress test showed that the network had transaction processing capabilities of 112 CTPS and 895 TPS. This is the result of a small test network consisting of 250 nodes.
For the daily operation of TPS, from the data that is currently publicly available, the average TPS of the main network in the near future is about 8.2, and the CTPS (the number of confirmed transactions per second) is about 2.7.
📷
The average average TPS of the test network is about 4, and the CTPS is about 3.
📷
Data source discord bot: generic-iota-bot#5760
Is this related to the existence of Coordinator? Actual testing is needed to further demonstrate.
8. Measured analysis
The operational statistics of the open test network are related to many factors.For further analysis, we continue to use the IOTA platform as an example to build a private test environment for technical measurement analysis.
8.1. Test Architecture
The relationship between the components we built this test is shown below.
📷
among them:
8.2. Testing the hardware environment
The server uses Amazon AWS EC2 C5.4xlarge: 16 core 3GHz, Intel Xeon Platinum 8124M CPU, 32GB memory, 10Gbps LAN network between servers, communication delay (ping) is less than 1ms, operating system is Ubuntu 16.04.
8.3. Test scenarios and results analysis

8.3.1. Default PoW Difficulty Value

Although there is no concept such as “miners”, the IOTA node still needs to prove the workload before sending the transaction to avoid sending a large number of transactions to flood the network. The Minimum Weight Magnitude is similar to Bitcoin. The result of PoW should be the number of digits of "9", 9 of which is "000" in the ternary used by IOTA. The IOTA difficulty value can be set before the node is started.
Currently for the production network, the difficulty value of the IOTA is set to 14; the test network is set to 9. Therefore, we first use the test network's default difficulty value of 9 to test, get the following test results.
📷
Since each IOTA's bundle contains multiple transfers, the actual processed TPS will be higher than the send rate. But by executing the script that parses zmq, it can be observed that the current TPS is very low. Another phenomenon is that the number of requests that can be sent successfully per second is also low.
After analysis, the reason is that the test uses VPS, so in PoW, the CPU is mainly used for calculation, so the transaction speed is mainly affected by the transmission speed.

8.3.2. Decrease the PoW difficulty value

Re-test the difficulty value to 1 and get the following results.
📷
As can be seen from the results, TPS will increase after the difficulty is reduced. Therefore, the current TPS of the IOTA project does not reach the bottleneck where the Coordinator is located, but mainly because of the hardware and network of the client itself that sends the transaction. The IOTA community is currently working on the implementation of FPGA-based Curl algorithm and CPU instruction set optimization. Our test results also confirm that we can continue to explore the performance potential of the DAG platform in this way.

8.3.3. Reduce the number of test network nodes

Due to the characteristics of DAG, the actual TPS of the platform and the number of network nodes may also be related. Therefore, when the difficulty value is kept at 1, the number of network nodes is reduced to 10 and the test is repeated to obtain the following results.
📷
As can be seen from the results, as the number of nodes decreases, the actual processing of TPS also decreases, and is lower than the transmission rate. This shows that in a DAG environment, maintaining a sufficient size node will facilitate the processing of the transaction.
9. Reference materials
Https://www.iota.org/
https://en.wikipedia.org/wiki/Trilemma
Https://blog.iota.org/new-tip-selection-algorithm-in-iri-1-5-0-61294c1df6f1
https://en.wikipedia.org/wiki/Markov\_chain\_Monte\_Carlo
Https://byteball.org/
Https://www.iotachina.com/iota.html
Https://www.iotachina.com/iota\_tutorial\_1.html
submitted by i0tal0ver to Iota [link] [comments]

Factom Protocol Information

The Factom protocol is an open source general purpose data protocol built by an international group of technology companies that extends the security of blockchain to any type of data. Just as TCP / IP enables the WWW, the Factom Protocol enables countless applications to be built on top of it.
Factom is built from scratch and has novel design implementations that set it apart from all other blockchain protocols. We are confident these features will help propel Factom to become the internet's data integrity layer. You are invited to delve into our ecosystem and we look forward to answering any questions you have.
Token and Tokenomics
While the Factom Protocol is a two token system, only the Factoid (FCT) is transferable and able to be traded on exchanges. Entry Credits (EC) are obtained by burning FCT and are used to enter data into the Factom Protocol. Entry Credits are $.001 each and that price is fixed. Therefore, if FCT is worth $1.00 and you burn it, you receive 1,000 EC. If FCT is worth $10.00 each and you burn one, you receive 10,000 EC. This brilliant two token system allows for:
  1. The value of FCT to theoretically increase the more the Factom Protocol is utilized.
  2. Companies and governments can effectively budget for entering data onto the Protocol based upon their estimated usage.
  3. Subscription systems can be setup with 3rd parties where companies and governments don't have to hold cryptocurrency if they don't want to or can't for compliance reasons. FCT are still burned for EC by the 3rd party company but the subscriber is charged a small markup for the service.
Governance
Community Discussion
Development
Block Explorers
Tools
Testnet Resources
Top Exchanges (by volume)
Education
AMAs
Wallets
Authority Node Operators
Authority Node Operators are the coalition of companies that decentralize the Factom Protocol. .
Committees and Working Groups
As the Factom Protocol is one of the most decentralized blockchain projects in existence with no central authority, committees and working groups have been formed to deal with specific tasks.
Past Newsletters
submitted by DChapman77 to factom [link] [comments]

[Table] IamA splat, editor/moderator/reviewer on overclockers.com and sysadmin at a cancer research organization. AMA!

Verified? (This bot cannot verify AMAs just yet)
Date: 2013-08-13
Link to submission (Has self-text)
Questions Answers
This just got cross posted to /sysadmin ; as a fellow research-field oriented sysadmin it gets worse... I too started in the Quake/HL/CS/TF timeframe, but got my degree in CompSci. Have you ever dealt with mice (the mammal kind; I've got worse stories)? Certs: just got my RHCSA this year. I've got the RHCE scheduled for october, and I'm studying for the CCNA, though I use HP switches.
How do you backup desktops / servers? Backups: Luckily, I don't do desktop support. We have another IT group that does that, I'm completely independent from them and I only have to take care of servers (and my own desktop). The physical servers are backed up to tape with Bacula. Our virtual servers are backed up with Veeam. My own desktop is backed up to my NAS share using synctoy (yes, i use windows on my desktop).
How much disk space do you have in one server? One off systems: As in physical servers built by hand? 0. I'm pretty much a Fujitsu shop with a few Dells. I definitely don't have time to be piecing servers together. disk space: only a few TB per server. I think the better answer would be that we have an Isilon X200 cluster that is 140 TB.
one off systems: As in physical servers built by hand? More as in unique software; such as this computer runs the HPLC. I guess in that case I only manage a handful of physical servers and a few VMs that are made for running one special piece of software or analyze data from one piece of scientific equipment. We have many other scientific devices that are attached to PCs that are "community" devices, but I don't have to manage them. and we've got a microscopy group that is separate from me too, with their own machines and devices.
If you are moving to 1gbs are you looking to increase the MTU? I was working on that but had some issues with firewalls for my windows-putty users. First, just to clarify, we're going to 10G from the 1G we have right now. I'm not our main network guy, so I'm not entirely sure but I doubt we'll change the MTU simply because we don't have a remote site so the majority of our traffic is regular internet traffic.
As for our backend network, I do use jumbo frames on a couple VLANs for our storage.
That most important question for any sysadmin...vi or emacs? Vi improved.
Anand Shimpi and Dustin Sklavos had an interesting podcast on the merits of Haswell on the desktop. In short, Dustin echos the enthusiast community's frustration with overclocking headroom decreases from Sandy Bridge Ivy Bridge Haswell. It seems like IPC has gone up but maximum frequency has gone down so the ratio seems almost 1:1. Then there is the issue of the use of TIM and IHS glue cap that caused some to delid their CPUs (and void their warranties). Question 1: What are your thoughts on the overclocking headroom decreases that we've seen? Question 2: Is Intel doing enough to cater to the enthusiast community? Question 3: How do you feel about the delay in the release of Enthusiast parts by Intel (Sandy Bridge-E & Ivy Bridge-E) versus mainstream parts (Sandy, Ivy, and Haswell)? Intel makes good chips and they do keep pushing technology forward, but they will never do overclockers any favors. They will always be doing whatever they can to make money. AMD will also do the same thing. Intel seems to think enthusiast solely means "deep pockets". At the same time, there always seems to be a lot of "the sky is falling" reporting done by many tech journalists. Intel hasn't completely forgotten about overclockers and I don't think they ever will completely let that group disappear. And really, what incentive does Intel have to completely lock out overclockers? Sure, deny us our warranty, we'll go ahead and buy another chip and give you more money. How could you deny that as a company? as for overclocking headroom decreases, one can only hope that means we've got a whole new architecture coming out soon, something like the transition from Pentium 4 to Core.
Do you have a home lab setup to learn/test on? If so, what does it consist of? At home I've got a 1u dell poweredge sitting in a closet which is my main server. I run bageez.us off it which was supposed to be my way of giving back to the community, by running a Linux torrent site. Other than that I've got two htpcs running Debian, a desktop windows machine for gaming/reviewing hardware, and a file server with 8 tb running Debian and KVM with a few Debian VMS.
Do you still have that site going? I tried your link but it didn't work. Looks like I let the SSL cert expire. I'll fix that tomorrow. It works on my end but I think I want to recode a few things and possibly get it to work with other trackers. Right now the torrents will only work with my local tracker.
Need to monitor that ;D. Yeah it's one of those things where I seem to be the only one visiting the site, so why stress about it. I also set up owncloud, but again, i'm the only one that uses it. :(
Do you get to keep the hardware you review? - Do you prefer the black theme or the white theme? Most of the time, yes.
Black. I don't mind the white theme that much tho. edit: he's asking about the forum default skin at overclockers.com/forums
What is your #1 piece of advise for any linux sysadmin? That's a tough one. Do you mean someone looking to become a sysadmin or one that is already a sysadmin?
I guess I didn't specify that did I? I ask the question because I've been doing mostly Windows sysadmin duties for about 2 years and some linux admin stuff. I'm falling in love with Linux and I would love to have a job dedicated to just *nix What advise/suggestions would you give someone that is wanting to make the transition? I think what really got me the best knowledge was forcing myself to use a "less polished" distro as my main rig for a few years. Once you are forced to learn, you'll learn quickly. Picking up an rhcsa book will help too even if you don't plan on taking the exam. Go through it and do the exercises. Install a distro, set it up, then format and do it all over. You can use virtual box for the same result without killing your main rig.
Do you still use FreeBSD? If so, what exactly do you use it for now? No, but I wish I did. I stopped using it because the GPU support in Linux was better on my desktop, and now I work mostly with CentOS, and it would be a lot of work to change 100ish servers over to FreeBSD.
What did you use to train yourself in everything? Just break and fix? Pretty much just the experience of using it daily on my desktop for years. Running gentoo and Slackware really gets you used to doing things for yourself.
Configuration management of choice for those 18 servers? I'm just a jack of all trades sysadmin with a strong focus on problem solving. Are you trying to cure cancer with those 18 nodes or mining bitcoins? I started playing around with puppet but haven't really gotten the hang of it. Right now the cluster is running ROCKS with Grid Engine, and I just use the rocks commands to provision/wipe nodes.
What's the hardest part about getting started with puppet? I think its mostly just finding the time to sit down and have enough time to emerse myself in it.
700+ centos nodes across a few clusters here and I'm loving ansible. Nice. I've heard that ROCKS becomes a bear at scale, but for now it's pretty simple and quick. My plan is to keep adding another 18 nodes every year (one full blade cluster) every year, as long as I can get funding, so I'm keeping my eyes open for other solutions for provisioning. Bright cluster manager is another one I have on my radar.
Computer didn't work for 5 months (it started then after i downloaded skyrim from steam it shut off, then finally worked last month). Put my new graphics card in, then problems ensued. Here: Link to www.reddit.com. 1st step i'd do is remove all nonessential parts from the computer. Leave the cpu and 1 stick of ram. Pull out the graphics card, don't connect any hard drives or cd drives. On the back, connect the monitor to the on board video card and connect the keyboard. Does it power on? Do you get any error messages other than it saying there is no OS? Then power down and connect things one by one until you figure out what part is causing the problem. If you think it's the drivers, you can boot into safe mode (i hope windows 8 still has that, press f8 while booting), then run Driver Sweeper, to remove the graphics drivers. I haven't tried this on windows 8 so i'm not sure if it will run or not. I don't think you need to do a full format and reinstall.
I'll try this tomorrow after work for sure. Do you reddit enough that i could contact you for more advice for help if i run into anything else? (i did contact nvidia team for help, they just told me to delete old drivers without any other help then those words). I don't blame you if you don't want to say you are able to help me with this situation. Humans be humans. Was there a specific reason to go into a cancer research lab? Or was it just a job that came around? No I don't go into photoshopbattles. I pretty much just do what I need for websites and that's it.
How do you like your baked potatoes? (please get into specific detail). It just happened to be the job I found but I love the environment. Much different than a corporate job.
I'm not a fan of baked potatoes but I do love curly fries if that counts for something.
You should really join us in the BAPC IRC channel. I do hang out in the unofficial Overclockers.com irc channel quite a bit. I'll try to drop by.
Do you do any sort of automation for firmware updates? Firmware automation? Nope, and I don't think I'd ever want such a thing. I've been looking at puppet as a way to automatically update software though.
I saw below you guys have some Dell servers, what models and do you use their Lifecycle Controller? We have a couple r610 servers and an equallogic storage box. I haven't heard of this life cycle controller.
What are the specs of your personal rig? Intel i7 3770k @ 4ghz.
Zalman CNPS9900LED cooler.
Patriot ddr3 2x2gb @ 800mhz cas7 (rated for 1200mhz cas9 but I can't boot at that speed anymore for some reason)
MSI Z77A-G41.
ATI Radeon HD 6870.
OCZ Revodrive X2.
How come you have a 3770k but only 4GB of RAM and a 6870? Seems a little overpowered in the CPU category. For benchmarking, mainly. The 3770k was our standard platform for reviews when I bought it. The rest is leftovers from various reviews. We don't get paid, so basically we work for hardware when we write reviews, more or less.
Wait when you review hardware you get stuff? Yes, hardware vendors provide review samples.
Have you ever had an OEM send you equipment different from the consumer version? (Say a factory overclocked version) and claiming it was the standard. Nope. Even if they did, we'd certainly review it as the hardware is, not as they intended it to be.
What's the worst PC loadout you've ever seen? PC load letter? What the f does that mean?
[email protected] JK, doesn't work well on a cluster unfortunately. Unless you have any perls of wisdom on how to make it work on a cluster? Well, it would work just as it does on any other group of computers. I'd have to run one client on each computer and they'd all check back to get their own workloads, so it would really take out the "cluster" usage and turn them just into regular blade servers.
How old are you? Young 30s.
Have you gone to college and completed a bachelor's degree, if not, do you regret it? Yes, BS in Mechanical Engineering.
How did you prove yourself to be worthy of that initial Jr. Sys. Admin job? I listed everything I could think of that I've done that was computesysadmin related. I had administered several web servers over the years, and experimented with many different distributions as my daily driver on my main desktop, so I was very comfortable on the command line and with day to day tasks. I was asked a few 'test' questions on the interview but I think they were more to gauge exactly what i did and didn't have experience with, not so much to make or break me.
Lastly, congrats on doing what you love for a living. Cheers to your future. And thanks. i definitely wake up in the morning with a different attitude than i used to, and that makes a big difference.
Configuration Management / Vagrant / Clouds. I have start playing with configuration management, but haven't gotten anything in production yet. I only provision new VMs every once in a while, and once the computer nodes are up they are pretty stable.
What is your scripting language of choice? I use straight up bash for most things, and python for some. I'm trying to learn more python.
How do you feel about some distros moving away from init.d and going to systemd? I like init.d because it's what I know. Systemd is just a different way of doing things, I'm sure I'll like it once I learn it.
As a OCF Member I have to ask, What is the most extreme cooling you have dealt with?(LN2, Phase Change, Water, D-Ice, etc.) LN2, at the benching party in philly last year. We definitely need to get one of those on schedule again. Also, my work has LN2 and D-ice sitting around but I haven't asked if it's ok for me to play with those yet. One day, i'll ask, and it will be awesome if they say yes. fingers crossed.
So, can I have some of your left over gear? Joking, heh heh... Seriously though, got any gear that's collecting dust? Mostly by the time we're ready to part with gear, it's not worth much and is terribly outdated. Or, it's been burned up by pushing too many volts.
What do you do with the old gear? Do you scrap up a functional computer and donate it to a charity, or just proper e-waste recycling? If it's not on my computer or benching station, it's in my closet. And my wife doesn't like the amount of computer stuff in my closet, so I'm sure I'll start looking for some way to recycle stuff soon.
Where does a young grasshopper starts to learn all of these materials wise one? Well, you could get yourself a RHCSA prep book (linked to the one i have and found useful) and go through all of the exercises. The way I learned was basically to set up my own servers, either physical or virtual, at home, and run them. I think FreeBSD, Gentoo, and Slackware were the most beneficial to me in that they don't really make choices for you, so you have to configure things for yourself which forces you to read the documentation and learn. They all have excellent documentation, btw. If you want to go a step further, linux from scratch will really teach you about the operating system from the ground up.
From there, come up with little projects for yourself. Like making a home NAS, setup NFS and Samba shares, install XBMC on a HTPC and hook it up to your tv to stream movies and music. Setup a webserver and owncloud. Stuff like that.
Sorry I'm late but... how old were you when you first starting tinkering with Linux and such? I'd like to be a sysadmin or similar when I finish school so I figured you were the right person to ask. I was 19 when I first made that half life/counterstrike server. I didn't even know what ssh was and it took a good amount of explaining for me to finally understand. The freebsd documentation is amazing and will walk you through just about everything step by step. To get NAT configured I had to use another how to but setting up that server taught me a ton.
Are you an Nvidia or an AMD guy? It's changed several times over the years. I used to be solely Nvidia because of Linux, but AMD has been stepping up their game and getting their drivers usable, so I currently run all AMD.
How much of a PITA is it for you to be HIPAA compliant? It's not really that tough. Luckily there's only a couple projects going on right now that have special needs above and beyond regular security needs.
What do you use for storage? We have a few Jetstor SANs, a couple Promise RAID boxes, and an Equallogic box as our VMWare backend. But our main mass storage is Isilon X200.
Whoops my bad, meant 1.18 not 1.8 it'd be gone if it was 1.8. sorry. I am using a hyper 212 EVO in the standard push configuration. Well 1.18 is too low for 4.4ghz.
Only 4gigs of ram in your rig ? Yeah...I've got 16 in my work PC for running VMs, and 16 in my VM host at home too. I'll probably buy more soon.
Oh ok, what V would I go to? I was able to initially get 4.4 with 1.18 and 0 whea errors, what V would you recommend? This is my first oc btw. Bump it up one step at a time until you are stable. Be methodical about it. You can check out what values other people are getting on hwbot.org.
Ok Ill do that, thanks man, at what V if the errors dont go away should I stop advancing them? Most likely you will want to stay around 1.6v. I'm not very familiar with that chip specifically so I'd check hwbot to see what other people have posted and go by that. Obviously remember that not all chips are the same, so you can't expect to get exactly what other people get.
1.6, that seems a bit high for my 212 EVO, a few days ago I did have it at 1.18 without any WHEA 20 errors. That's why I'm saying take it slow, one step at a time.
What do you think of this quote by Richard J. Schwartz? "The impact of nanotechnology is expected to exceed the impact the electronics revolution has had on our lives." Sounds good to me. I can't wait to see what comes next.
Actually nodes, or are some of them VMs? Physical blade servers as nodes. with 144 GB ram each.
Zfsonlinux in use? No I haven't used zfs at all.
Hey... You're pretty cool. Thanks. You're not too bad yourself.
The answer should be ''i wish i could say the same to you'' I'm not like that.
Just how big is your hpc. Only 18 nodes :/ but its more what I do with it...
How'd you get your nickname. Back when I played CS in the dorm freshman year of college, I used to get killed all the time. So I started calling myself "jack splat", as a play on the nursery rhyme (jack sprat), then shortened it to 'splat' on most of the websites I signed up for.
Describe a SHTF moment at your work place. I can imagine it must be highly stressful being the sole responsible person to keep all that gear running. I definitely have a few and luckily they aren't that bad. One of my first few months, I decided to connect this wireless ap to the network to test it out one morning. As I was being awesome managing the cable to make it look clean, one of the security guards came into the server room and said they had no internet. I looked at our switches and they were all lit up solid. By hooking up the ap, which had spanning tree turned on, I took down the network of the entire building.
Ouch...that's definitely a SHTF moment. glad you came out unscathed. Luckily, all I had to do was unplug it and everything went back to normal. I then set up a spare switch at my desk and played with it before figuring out that STP needed to be disabled on the AP. Now it's been running for over a year without incident.
Would you rather fight 100 duck sized horses or 1 horse sized duck? I'd go for the horse sized duck. Seems like more of a challenge.
U mad? Nah, I'm feeling pretty good today.
Last updated: 2013-08-18 07:16 UTC
This post was generated by a robot! Send all complaints to epsy.
submitted by tabledresser to tabled [link] [comments]

I upgraded my Robinhood Trading Bot with Python - YouTube Building your own cryptocurrency trading bot using Python and the Poloniex API, Part 2 Tutorial: How to Automate Cryptocurrency Trading in ... Bitfinex websockets  How to create a cryptocurrency trading bot? - Part 16 Binance Bot Tutorial - Intro Python Auto Trading Software - Chapter 1

Node.js versus python-crypto trading bots. The programming language that you choose depends solely on the features and functions that you want the trading bot to have. Preferably, you would want to use a programming language that’s widely supported and has an active community in the cryptocurrency sphere. Also, you need to make sure that it can be easily scaled, adapted, and added to if the ... Building Crypto Trading Bots with Python. Check out our new platform: https://thecapital.io/ ShrimpyApp. Follow. Oct 3 · 14 min read. Developing trading bots doesn’t need to be complicated. You ... A bitcoin trading bot written in node - https://gekko.wizb.it/ ... ฿ Bitcoin trading bot with a real-time dashboard for Bitstamp. python bot automation bitcoin trading transaction trading-bot cryptocurrencies bitstamp trade speculation jakubroztocil Updated Jul 14, 2020; Python; je-suis-tm / quant-trading Star 1.2k Code Issues Pull requests Python quantitative trading strategies including ... Creating a cryptocurrency trading bot is a great exercise for improving your development experience. Furthermore, you can commercialize it and capitalize on the rapid growth of cryptocurrencies for increasing your wealth. This article will just scratch the surface of building a cryptocurrency trading bot in Node.js. python machine-learning telegram deep-learning bitcoin trading trading-bot cryptocurrency exchange technical-analysis arbitrage cryptocurrency-trading-bot backtesting octobot social-trading Updated Oct 13, 2020

[index] [11390] [16899] [42472] [44364] [6808] [23828] [34301] [46063] [12993] [25595]

I upgraded my Robinhood Trading Bot with Python - YouTube

What's up everyone, I upgrade my Robinhood trading bot that uses the RSI indicator to trade with support and resistance. Get my coding tips 👨‍💻: https://codi... Binance Bot Tutorial, Trading Bitcoin, Ethereum and other Cryptocurrencies on the Binance Exchange. Learn How To build an algorithmic cryptocurrency trading bot with Python - This tutorial will go through the process of creating a trading bot for Cryptocurrency using Node.js. The tutorial will focus on three Cryptocurrencies, Ether, Bitcoin & Litecoin. First, we’ll ... Brian walks you through a simple cryptocurrency trading bot in Python and using the Poloniex API. Part 1 of this series can be found here: https://youtu.be/f... Cryptocurrency can be a high-risk, high-reward game for those willing to deal with the volatility. Can we use AI to help us make predictions about Bitcoin's ...

#