Deep Diving into PRBMath, a Library for Advanced Fixed-Point Math

@paulrberg Thanks for the clarification and effort put in the explanation. All is clear :)

Still, if you allow me, I would like to follow-up on the first question you had in your post (questions 2 & 3 are sort of by-products):

I think this is a great project and the value is there. Not only it brings more functionality than ABDK, but it is also more gas-efficient for certain operations. However, ABDK’s library has been extensively used by now, and since ABDK is itself an auditing company, there is some level of assumed trust. Hence, as you acknowledge yourself, the next step is to make sure your code is secure as best as you can. Consider setting up a crowd-funding arrangement to get an audit for this library. Without such an audit in place, adoption could be hindered.

Also, you mentioned using Echidna to fuzz test and bring more security guarantees/confidence that the implementation is not buggy:

Note: Scribble could potentially be an alternative; @maurelian wrote a nice post on SCRF about it. In a nutshell, “Scribble is a specification language and runtime verification tool that translates high-level specifications into Solidity code” (ref: Scribble | Consensys Diligence). Following their website, “[…] after writing properties, developers can use tools such as Diligence Fuzzing to automatically test smart contracts and ensure all is working as planned!”. Their fuzzing as a service tool is currently being released as an early access style, but should be something to be considered.

Hope that helps. Once again thanks for your post and welcome to SCRF :slight_smile:

2 Likes