Proposal: Evolution Development - X11 Hash Port

Ryan Taylor

Well-known Member
Foundation Member
Jul 3, 2014
550
1,649
263
Scottsdale, AZ, USA
This is a cross-post from https://www.dashwhale.org/p/evo-X11-hash-port

As we wrap up Evolution specifications, we are very pleased to announce that initial plans for the development phase of Evolution are maturing, and we are ready to begin securing additional resources that will be required for the project.

What will this proposal fund?

Andy and other core team members have been planning the next phase of activities. One of the foundational components requiring development early in the project is porting the X11 hash algorithm from C to JavaScript. The JavaScript version is needed for the core Dash JS libraries which will be used across the Evolution front-end stack.

In addition to the work the core team is performing, we estimate requiring about a month of a programmer’s time. This task will require a strong understanding of C, JavaScript, and cryptographic hashing functions. This task was selected to outsource because it represents a stand-alone effort, allowing the team to focus on the design activities while accelerating the delivery of the project.

The work is expected to begin in August and be completed in September. We estimate the total funding required beyond the capacity of the core team to be $5,000.

Requested funding is as follows for the July 6th budget cycle:
Total: 609.45 Dash

Note: Should any funding remain after the project is complete, we will reserve those funds for future Evolution development projects

Manually vote YES on this proposal:
dash-cli mnbudget vote-many 9f822e346b7f09481141ff62dfd2e7a17d555af0b762f14fd18908298036f186 yes
OR from the qt console:
mnbudget vote-many 9f822e346b7f09481141ff62dfd2e7a17d555af0b762f14fd18908298036f186 yes

Manually vote NO on this proposal:
dash-cli mnbudget vote-many 9f822e346b7f09481141ff62dfd2e7a17d555af0b762f14fd18908298036f186 no
OR from the qt console:
mnbudget vote-many 9f822e346b7f09481141ff62dfd2e7a17d555af0b762f14fd18908298036f186 no
 

splawik21

Moderator
Dash Core Team
Foundation Member
Dash Support Group
Apr 8, 2014
1,946
1,306
1,283
Yes yes yes :) if we need a hash port then do it!
 
Last edited:
  • Like
Reactions: TheDashGuy

Comodore

Member
Nov 8, 2015
185
97
88
it will be easier to mine in future? I am unfortunately not able to grasp the rationale behind it as I did not see evo specs. Are we going to see evo papers (up-to-date) soon?
 

splawik21

Moderator
Dash Core Team
Foundation Member
Dash Support Group
Apr 8, 2014
1,946
1,306
1,283
it will be easier to mine in future? I am unfortunately not able to grasp the rationale behind it as I did not see evo specs. Are we going to see evo papers (up-to-date) soon?
I suppose this one does not have anything in common with mining.
 

UdjinM6

Official Dash Dev
Core Developer
Dash Core Team
May 20, 2014
3,639
3,537
1,183
@Comodore to put it simply x11 hash is used to hash block header (i.e. to verify block hashes are correct), same applies to mn ranking and probably can be used in few more different parts if you asking for specific applications
 

TheDashGuy

Well-known Member
Dec 16, 2015
1,228
1,010
183
@Comodore to put it simply x11 hash is used to hash block header (i.e. to verify block hashes are correct), same applies to mn ranking and probably can be used in few more different parts if you asking for specific applications
I think he means how will we see the value of such a project? Unless we are developers we won't understand the importance of this, maybe explaining it would help? Laymans terms?
 

UdjinM6

Official Dash Dev
Core Developer
Dash Core Team
May 20, 2014
3,639
3,537
1,183
I think he means how will we see the value of such a project? Unless we are developers we won't understand the importance of this, maybe explaining it would help? Laymans terms?
Oh, well, without this we can't verify x11 hashes on the client side which makes evo client insecure (it has to rely too much on server side, it also opens us to mitm attacks etc if I get it right) which is not an option basically.
 

TheDashGuy

Well-known Member
Dec 16, 2015
1,228
1,010
183
Oh, well, without this we can't verify x11 hashes on the client side which makes evo client insecure (it has to rely too much on server side, it also opens us to mitm attacks etc if I get it right) which is not an option basically.
there we go!

More of this type of wording is usually pretty helpful to the non-programming minded :D

Thanks! When are you getting a raise btw? ;]
 

Comodore

Member
Nov 8, 2015
185
97
88
@Comodore to put it simply x11 hash is used to hash block header (i.e. to verify block hashes are correct), same applies to mn ranking and probably can be used in few more different parts if you asking for specific applications
I never thought of it this way, thanks :)
 

AndyDark

Well-known Member
Sep 10, 2014
353
705
163
I think he means how will we see the value of such a project? Unless we are developers we won't understand the importance of this, maybe explaining it would help? Laymans terms?
Hello TDG! :)

This project will enable us to validate key info from the blockchain in internet browsers and other devices that use JavaScript.

This is key to enabling decentralized access to Dash from the web to make sure that the payment information you see in your browser is correct and that payments are going where they should be going.

It is especially important in Evolution because it will enable the first browser-based decentralized payment verification which will be used in everything from merchant web-interfaces to consumer web-clients to social plugins that tip Dash that will be able to connect directly to our Masternode network.

Please vote for this proposal and thank you for your support!
 

AndyDark

Well-known Member
Sep 10, 2014
353
705
163
Hi there

Happy to report this project is now working at beta stage and you can access the code here: https://github.com/QuantumExplorer/x11-hash-js.

We are currently testing and integrating into our other libraries and Evo projects. We will also be moving a lot of these libs to the official DashPay repo soon because they are split out over different team members own Github accounts currently.

This work was done by Quantum for a total cost of 300 DASH, 200 of which have been paid from the proposal by BabyGiraffe and 100 will be paid after any fixes are done that come up from review in the next 2 months.

The remainder will be used for external audit / performance improvement and/or carried forward to future Evo contract work.

Andy