Bitcoin full node and query server

Dec 17, 2018

View in context in the libbitcoin Slack #general mirror.

phitsc20:07
Hello Everyone I posted to this Slack channel a while ago about the research I am currently conducting related to the usability of Bitcoin APIs. As I had mentioned, I am specifically looking into libbitcoin. This mainly for two reasons: on the one hand, C++ is the programming language I am most familiar with. On the other hand, the other noteworthy C++ implementation, i.e. Bitcoin Core, does not offer a C++ API per se (but an RPC JSON API, as I am sure all of you know). Although I am also planning to evaluate Bitcoin Core's C++ implementation if time allows, my research is primarily focusing on libbitcoin. I am studying for a Master in Computer and Information Security at the University of Liverpool and this is my final research project. This is an online programme; I am actually living in Switzerland. My project requires me to have an expert review my findings. I am, therefore, asking if one of the libbitcoin contributors among you would be willing to spend one to two hours of your time to review the relevant chapters of my dissertation and provide written feedback for me to cite in the dissertation report. My dissertation is due 6th of March 2019. I am planning to finish the chapters related to the libbitcoin API evaluation sometime in January 2019 but should be able to provide a draft by the end of the year. Your review would be required to reach me towards the end of January 2019. While I cannot offer any compensation for your help, I can offer to send pull requests related to any of my findings for you to merge or ignore at your discretion. Please let me know if you have further questions about my research. Thanks! Philipp
👍 2
8 replies · neillm, jungly, phitsc, evoskuil +1 · last Dec 18, 2018
neillm20:14
I could probably help out. Keep me posted.
😌 1
jungly20:17
Count me in too @phitsc. If you want to share any ideas on the methodology, I'll be happy to give some feedback on it too.
😌 1
phitsc20:40
This is just great guys! I really appreciate it!
phitsc20:40
As for the methodology, I am evaluating libbitcoin's API in relation to a subset of the API usability heuristics and guidelines defined by Mosqueira-Rey et al. (see reference further down). To help with this, I have implemented some of the guidelines in a static code analysis tool built using Clang Libtooling. As my hypothesis was (or is) that supporting usable security in Bitcoin APIs would help to protect against potential vulnerabilities in SW that uses such APIs, I had initially planned to analyse client SW that uses libbitcoin. However, I have not found many open source applications suitable for analysis, so I am focusing on the API and its usability now. I still have to analyse its use, as this is what my proposal says I will do, but I'll have to do with what's available, which is basically what comes with libbitcoin, i.e. libbitcoin-explorer, libbitcoin-node and libbitcoin-server. I think I found one or two others. Mosqueira-Rey, Eduardo, David Alonso-Ríos, Vicente Moret-Bonillo, Isaac Fernández-Varela, and Diego Álvarez-Estévez. “A Systematic Approach to API Usability: Taxonomy-Derived Criteria and a Case Study.” Information and Software Technology 97 (May 2018): 46–63. https://doi.org/10.1016/j.infsof.2017.12.010.
evoskuil21:18
Happy to help!
phitsc21:34
Thanks evoskuil! Very much appreciated!
vdeurzen10:45
also happy to contribute, although I'm primarily a user of libbitcoin, not a developer (yet) 🙂
phitsc20:22
Thanks vdeurzen. Your help is just as appreciated! 🙂