Proposal “bitgo-dash-implementation“ (Active)Back
|Title:||BitGo Dash Implementation|
|Monthly amount:||516 DASH (136412 USD)|
|Completed payments:||1 totaling in 516 DASH (2 month remaining)|
|Payment start/end:||2018-05-19 / 2018-08-16 (added on 2018-05-25)|
|Votes:||947 Yes / 107 No / 9 Abstain|
|Will be funded:||Yes|
Manually vote on this proposal (DashCore - Tools - Debugconsole):|
gobject vote-many bcd6235f62e064e5b3e7fe1e0b9e240a1d6a0f78f8939a27942b2b1fa81a6dbb funding yes
Please login or create a new DashCentral account for comfortable one button voting!
BitGo Dash Implementation
Software development proposal
At BitGo, we design hot and cold storage wallets which provide the highest level of security for Bitcoin and the world's most popular cryptocurrencies. Our APIs, online interface, and product features such as policies and webhooks have established our platform as the market's leading enterprise-grade wallet solution. This proposal outlines a path of buildup and integration for Dash support within BitGo's extensive product offering.
BitGo offers a suite of tools for managing wallets of multiple coin types, including the world's five largest cryptocurrencies. Our SDK and APIs are used by exchanges across the world to hold and process the currencies they support. Adding Dash support to BitGo makes it substantially easier for these exchanges and other business which have integrated with BitGo to not only add Dash to their platforms, but store and transact Dash using their wallets enabled with Dash’s InstantSend with unparalleled ease of use and security.We will be providing full support allowing BitGo customers the ability to send and receive InstantSend transactions. We anticipate that this will be well received by our customers, as it opens up possibilities of transacting at the point-of-sale as well as benefiting exchanges through instant liquidity.
Our platform processes over $10 billion in Bitcoin transactions per month, and has processed over $2 billion in Ethereum transactions since adding support late last year. In 2018, we expect volumes in other coins, such as Dash, to cross into the billions as well. Given our proven track record of support for both large transactional volume and secure handling of key material, institutional funds are turning to BitGo as a place to safely store large amounts of digital currency. Adding Dash to BitGo helps these funds to easily store their Dash alongside their other secure holdings, and greatly reduces the operational risk of holding the currency.
Bitstamp, Genesis, CME Group, The Royal Mint are only a few in an extensive list of customers and partners that trust in BitGo to solve today’s most complex business challenges in the digital currency market.
Many individuals also use BitGo to hold their cryptocurrency in wallets where they can have their own private key. Like all BitGo wallets, these wallets require 2 of 3 signatures to spend. The three keys are 1) a key controlled by BitGo unique to that wallet, 2) a user key kept offline or stored encrypted with a passphrase, and 3) a backup key stored offline or with a 3rd party. Together with our policy framework, this approach provides secure, easy access to funds and provides redundancy in the case of a lost or compromised key. Multisig is essential to BitGo's product offering and will be first-class within our Dash product as well.
In addition to the engineering, our solutions team will help onboard new customers and help them integrate Dash into their systems. Our support staff will handle inbound customer questions and help resolve any difficulties while working with Dash.
BitGo intends to use the acquired funds primarily to pay for the man-hours required for full-featured wallet integration. BitGo is a Silicon Valley company with engineers coming from Google, Microsoft, Facebook, Uber, and Tesla, and pays salaries competitive with those companies, which are some of the highest in the country. Having prioritized acquiring and retaining top talent, BitGo is positioned to build a Dash wallet with both unparalleled security and the most extensive feature set on the market.
Dash Core Group will provide escrow services for the project. The compensation is divided into three equal payments, tied to the completion of three major milestones described below.
First payment: Upon completion of Milestone 4. Dash will be implemented into BitGo’s API, provided with all the security features available to other supported currencies.
Second payment: Upon completion of Milestone 7. The Dash wallet will be accessible from the BitGo web application.
Third payment: Upon completion of Milestone 11. Dash will be fully integrated and deployed, including support for sending and receiving Dash InstantSend transactions.
A more detailed breakdown of the roadmap and man-hours required can be found in the Roadmap section of this proposal.
Advanced Security Features
BitGo makes available a set of advanced security features that will be available to Dash wallets, thanks to the highest level security afforded by multi-signature technology.
Multiple people and/or machines can work together to approve a given transaction on the wallet. BitGo’s multi-signature wallets allow enterprises to set up and maintain roles, policies, and rules on the wallet, making digital currencies usable for businesses.
Wallet and Enterprise level policies
When triggered, they perform an action that denies a transaction or generates a pending approval for other users on the wallet.
A velocity limit policy rule triggers when the amount spent within the specified time window exceeds the specified amount.
An address whitelist triggers whenever any destination address (non-change) of an outgoing transaction is not in the whitelist.
A webhook rule issues a callback to the HTTPS endpoint specified in the condition whenever a transaction is sent from the wallet. The rule triggers an action if the HTTPS endpoint returns a non-200 (status) response.
Webhooks may be setup up to programmatically receive callbacks from BitGo. These may be attached to wallets (in the case of transfers or pending approvals), or to a user (for block notifications). Webhook notifications are triggered when the specified event occurs, such as an incoming transaction. BitGo servers make a POST HTTP request to the URL defined with a JSON payload, and expect a HTTP 200 OK.
Activates when a transaction is seen/confirmed on any receiving address of a wallet.
Pending approval webhook
Activates when a pending approval on the user’s wallet is created, approved, or rejected.
Activates when a new block is seen on the coin network.
BitGo Web Application
The BitGo web application Dashboard will enable quick and easy access for users to store and spend their Dash, along with all the available security features listed above in a single user interface.
BitGo can store the user key encrypted with the user password so that the user can safely send and receive funds entirely in our web application.
When a user receives or sends Dash, we will send email notifications to the user.
Above is a mockup of the user wallet screen if Dash support is added to BitGo
We estimate approximately 30 man-weeks worth of engineering effort for initial support. After support is added we expect several weeks of effort each year will be necessary for maintenance and improvements.
|Milestone||Title / Description||Deliverables||Days|
Indexes the Dash Blockchain. Processes transactions from/to addresses owned by BitGo users.
|M1.1||Mainnet||Multiple Indexer servers for Mainnet (primary and backup).||9|
|M1.2||Testnet||Indexer server for Testnet.||6|
Internal microservice to provide access to the Platform to Blockchain data processed by the Indexer.
Handle requests for block, tx and wallet data.
|IMS API routes.||12|
Hardware security module to sign Dash transactions.
|M3.1||Signing||HSM configured to support Dash signing.||9|
RESTful API that allows managing multiple digital currencies and wallets through a single, unified interface.
|M4.1||Dash Transactions||Dash transaction building and signing on Platform API.||18|
|M4.3||Dash Fees||Fee estimates for sending Dash transactions.||3|
|M4.4||Dash Market data||Market data available for Dash transactions.||3|
Implements client-side wallet features and interfaces with the Platform API.
|M5.1||SDK Dash Transactions||SDK support for building and signing Dash transactions.||12|
|6.0||Admin CLI Tool|
Internal tools for data access for customer support.
|M6.1||Admin Tool Dash support||Admin tool support for Dash.||7|
Web interface to manage BitGo wallets for multiple digital currencies.
|M7.1||Web Application Dash support||Ability to manage Dash wallets, send Dash, view transactions, policies, pending approvals, reports.||15|
|M7.2||Wallet Keycard||Dash wallet Keycard for wallet recovery.||2|
|M7.3||Testnet Dash on web application||Web client support on test.bitgo.com for Dash testnet.||5|
|8.0||Dash InstantSendDash instant transactions||20|
|M8.1||InstantSend support on Indexer||Broadcast and process new block data with InstandSend transactions||4|
|M8.2||InstantSend support on Platform||Platform API support for InstantSend transactions.||11|
|M8.3||InstantSend support on Web client||Web client support for InstantSend transactions.||5|
|M9.1||API Documentation||API documentation at bitgo.com/api/v2 with Dash support.||2|
|10.0||Deployment and Integration|
Component monitoring and alerting.
|M10.1||Monitors and alerts||Monitoring and alerting for internal servers, HSM, Indexer, IMS, Transaction send queue.||5|
|M10.2||Fault tolerance||Fault tolerance plan. Ensuring redundant servers and failover succeeds.||5|
End-to-end and individual component testing
|M11.1||Indexer Testing||Indexing and notifications working properly.||2|
|M11.2||IMS Testing||Check Dash-specific data.||2|
|M11.3||Platform Testing||Framework to test signing in isolation.||4|
|M11.4||HSM Testing||Inclusion and auditing of NPM repositories required for Dash signing.||2|
|M11.5||SDK Testing||Half-signs transactions correctly. Client functions working.||4|
|M11.6||Web Application Testing||Dash on bitgo.com works as expected.||3|
The chart represents the breakdown of the estimated work in hours of the development process.
The budget for the project is $525,000, converted to the current DASH value.
The infrastructure required for the implementation, as well as the support and maintenance, are included in the project’s budget. The chart illustrates the breakdown by area.
Show full description ...
Discussion: Should we fund this proposal?
|No comments so far?
Be the first to start the discussion!