What Research Will I Propose?

I’ve been studying Ethereum, Solidity and AngularJS when there is spare time to do so, but it’s not exactly easy trying to learn new coding languages and complex concepts when stressing about everything else.

And even with all this, and the desire to build a blockchain voting app, what research would I be doing? I’m doing heaps of research on actually building the damn thing, but that doesn’t really count as “what new knowledge is the world getting, and what research methods – with attended statistic measures – are you applying to gain that knowledge?”

Research Methods Revisited

Here are the given research methods, and my rationale for possibly implementing them (or not):

Action research:

Not really, unless I’m gauging how people use my application whilst it’s being built?

Experimental method:

No, there’s nothing very scientific to be learnt (or rather, there’s no variables of independence and statistical testing that I can be bothered coming up with)

Case study:

This is closer to the mark, but it would going off the results of using other systems. I’d need to find an electronic-voting system, and then gather as much information about it as possible. What I really want to study/implement, though, is a blockchain voting app, and I’m not aware of any that has been implemented in an actual political election. Perhaps a smaller, commercial scale case study?

But again, I want to build something, so not this.

Laboratory experiment:

testing a theory. Hmmm. Would that include “testing” whether the bloody thing works? No; although that is a quantifiable result, that is not a laboratorical (I made that word up!) experiment

Form survey:

Now this is promising, IMO. It still requires that I build – or bootstrap – a blockchain voting application, but it will also answer some crucial questions, like whether it’s actually worth building blockchain voting applications (for national votes, in particular; I’ve no doubt that blockchain voting at a corporate level is completely viable).

Form survey would be an easy way to get impressions about the system, and the culture surrounding the system.

Self Reporting:

not sure what this is. UPDATE – a form of questionnaire/reporting; the subjects provide their answers (self-report). This might more accurately reflect methodology I’m thinking of for above (form survey). Has the potential problem of mis-self-reporting due to biases etc.

Implementation Research:

This sounds good, but from the little I’ve looked up, it seems to be testing relationships of existing systems and how they’ve been implemented. This is probably an inaccurate assessment.

Some pertinent quotes on implementation research (although it’s about medical implementation research, from here):

Implementation research seeks to understand and work within real world conditions, rather than trying to control for these conditions or to remove their influence as causal effects. This implies working with populations that will be affected by an intervention, rather than selecting beneficiaries who may not represent the target population of an intervention (such as studying healthy volunteers or excluding patients who have comorbidities).

Implementation research is especially concerned with the users of the research and not purely the production of knowledge. 

Implementation outcome variables describe the intentional actions to deliver services. These implementation outcome variables—acceptability, adoption, appropriateness, feasibility, fidelity, implementation cost, coverage, and sustainability—can all serve as indicators of the success of implementation

The last quote is a gold mine: it presents lots of variables that can be tested or measured to demonstrate success or failure, or whatever about how the system was implemented.

Definitely leaning towards this as the primary methodology, with Form Survey or Self Reporting as methods for gathering data on those variables (e.g. with acceptability).

If this is the methodology of choice, then the next question is…

What is my hypothesis?

a supposition or proposed explanation made on the basis of limited evidence as a starting point for further investigation

Full Stack Hello World Voting Ethereum Dapp Tutorial 

This post will chronicle my attempts to follow the instructions of an article by Mahesh Murthy that does what the title suggests: implement an Ethereum-based voting app.

As of now, it seems like most development will take place in the command line. I’ve downloaded a Solidity extension for Visual Studio, but I feel the relative “newness” of Ethereum/Solidity/Blockchain means that it will be sometime before the IDE will be as mature as say C# development is in Visual Studio. The latest tools and methods will typically start at the command line, so that’s where I will start.

NB: remember to open command line with admin privileges. Had to restart an installation because of insufficient write privilege.

Above is the setup of a fake blockchain environment for running the voting dapp on.

And this is the fake ethereum host, ready & waiting for contracts (I believe!)

Next, open another console to act as compiler and client, and enter node to open node console. The second circle shows as api connection to the given port number of the server, as seen in the circle of the above picture.

 

NOTE: Forgot to post or keep this updated whilst I continued…, so posting this unfinished version now, may update with further results.

The main result was: “Wow, this is pretty complicated. Looks like I can’t just pick up Solidity and blockchain away, I’m gonna have to learn AngularJS – a derivation of Javascript, which thankfully I have some experience with – but still will need more time than I’m afforded right now.”

Assessment 3 (so far)

Excerpt from my part of class-wide Google Doc

1. Construct 10 (interesting!) questions about your topic

  1. Is “the work” necessary for all blockchains? Seems like it is from my research
  2. For blockchains that are “open source”, how can natural monopolies be avoided that do all “the work”?
  3. What happens when blockchains start getting too big? How can accurate records be kept, whilst being scalable?
  4. What industries could use blockchain technology that aren’t yet researching blockchain?
  5. Can blockchain be used to create records of evidence? In particular, could it be used to maintain credibility of video/audio recordings when the technology for fake recorded media synthesis is possible?
  6. Would a reliable blockchain voting system be desirable for national elections?
  7. Who, or what, is Satoshi Nakamoto?

2. Identifying a possible project

Construct 10 (interesting!) questions about your topic

Identify three good questions/ideas  

  1. A blockchain voting application
  2. What are the most promising distributed applications?
  3. Can electronic voting combined with ‘direct democracy’ restore faith in worldwide political institutions?

For each of these 3 suggest what you could do to answer/explore it.

What is the fundamental goal underlying each of the 3 questions?

 

I really got bogged down with just exploring the first idea.

Assignment 3 proposal ideas.

To land on a good proposal, I first have to refine my focus on a research area, and then come up with 3 good questions/ideas in that area.

Idea 1: Implementing a blockchain voting application

My assessment 2 looked at a proposal for a blockchain-voting app, but it was unfortunately short on implementation details. So implementing said app would be a great achievement for me.

I’ve been interested in politics and democracy for a while, and have created a mock up of a voting application for a referendum. One of the major hurdles to voting applications is providing anonymity and verification simultaneously; sport betting is simpler, because both parties want to be able to confirm their identity to get their money. With voting, you want to be able to confirm that you’re voting (and so can’t vote twice/have someone steal your vote), but you don’t want ANYONE to know who you voted for.

I want to learn how to develop a voting application using Ethereum. Before delving into a voting app, it would be instructive to learn how to make any kind of app using ethereum, and so that’s this article: ‘Ethereum for web developers’, which is also the subject of a separate blog post.

Below is someone else’s DAPP with blockchain voting:

View story at Medium.com

Idea 2:

Developing Web Apps Using Ethereum

To learn how to use blockchain myself, I’ve started researching ethereum in greater detail. It especially interests me because it is more decoupled from a currency than bitcoin, and because Claire pointed out that this blockchain framework has moved away from the “proof-of-work”, towards a “proof-of-stake”, and imo this is necessary for blockchain/bitcoin to remain viable and scalable.

Ethereum for web developers

(link)

This is a great article that highlights how Ethereum/blockchain fits into the web development stack.

The architecture of web apps is client-server: client browser/api interfaces with web techs (HTML/JS/CSS), that interfaces with server side languages (PHP, JSP, etc.) which then interfaces with databases for CRUD operations:

    BROWSER <-> WEB TECH (HTML/JS/CSS) <-> SERVER-SIDE TECH (PHP/JSP/PHYTHON/ETC.) <-> DATABASE

Ethereum and blockchain use in this picture is mainly at the database side of the equation, and is exciting for the following reason given in the article:

This architecture works very well most of the times. However, there are certain applications where it would be really helpful if that database was publicly and securely accessible by everyone and you don’t have to rely on this webapp owner for your data.

The example given in this article is ebay sellers having their reviews stored in a decentralised manner, so that they could migrate from eBay whilst retaining their prestige. Applications that use a decentralised database/ledger (just say blockchain) as their data back end are called decentralised applications (DAPPS).

For this database to have any relevance, it has to be verifiable and secure, and so that’s why it’s a blockchain. Everyone using the apps that use this blockchain would need their own copies of the blockchain.

Courtesy. M Murthy

 

So each user of the dapp will need a copy of the blockchain. This could be a problem that I need to follow up on.

So that is my first basic introduction to how to develop web apps with the ethereum framework. But this still hasn’t given me that much of an idea of the details. Solidity is the contract-oriented language that underpins it, so that’s the next stop.

http://solidity.readthedocs.io/en/develop/introduction-to-smart-contracts.html

To be continued…

 

More Blockchain

TED Talks

Watched 2 TED talks recently that would be good gateways towards understanding blockchain. This correlates with 1 of my given research questions, namely how could the concept become popularized, or even better, the implementation?

Don Tapscott’s talk:

Don’s talk was about how blockchain can be used to increase prosperity for many, perhaps where the information revolution has failed.

Below is a screenshot that outlines 5 possible transformations:

I was aware of 1, 3 and a little bit of 4. But 2 and 5 have amazing potential I was completely unaware of, and are actually quite closely linked.

What they both intimate at, is a democratisation of the spoils of the Internet revolution. And the problem of where content comes and how it’s paid for, is something that seems to be mostly ignored in the general consciousness; there’s ads and horribly scammy-looking ads on everything, and that’s just how it is. But now blockchain seems to provide a possible avenue for sharing the wealth, in way that’s proportional to effort, not just investment.

Bettina Warburg’s talk:

Bettina’s talk was interesting because it raised the idea of value, and how Blockchain is transformative to the very idea of value.

This touches on 4 of above, but also using this digital profile for other identification.

Proof-of-work vs proof-of-stake

One of my concerns about blockchain has been scalability and redundant computation, manifested by “proof of work”. It turns out that this wasn’t some great insight, but is an ongoing discussion since 2011, and with several alternative implementations since 2012.

Below are some articles with notes on proof-of-stake – the main alternative – as well as on Ethereum – a blockchain that started using proof-of-stake half a year ago.

Proof of Work vs Proof of Stake: Basic Mining Guide

(Link)

  • At the time of writing, Ethereum developers wanted to migrate from the proof-of-work to proof-of-stake.
  • Has been implemented before (doesn’t mention success yet).
  • “Forgers”, not “Miners”
  • No block reward
  • Analogous to bets

Okay, I’m pretty not sure what this means yet, but cool that it’s a thing, and that its been a thing for years.

OMG, Ethereum Is So Hard Forked

(Link)

  • (to be continued)

 

 

Academic Paper Reading Exercise

Title

‘Where Is Current Research on Blockchain Technology?—A Systematic Review’

Authors

Jesse Yli-Huumo, Deokyoon Ko, Sujin Choi4, Sooyong Park, Kari Smolander

Did the abstract tell you the three things I said it should? If not, what did it tell you?

1.What the research/paper/article topic is

Yes. It immediately summarized blockchain and why it is interesting.

2. What the authors/researchers did and

Yes. It says that this paper is a “systematic mapping study with the goal of collecting all relevant research on Blockchain technology”.

3. What they discovered/or created/or concluded.

Yes. It provides an insight into the conclusions of the mapping study, with some useful headline figures of the results.

What seems to be the research question(s) they were trying to answer?

The given goal of the paper is:

“Our objective is to understand the current research topics, challenges and future directions regarding Blockchain technology from the technical perspective.”

The paper presents 4 research questions to achieve this goal:

RQ1: What research topics have been addressed in current research on Blockchain?

RQ2: What applications have been developed with and for Blockchain technology?

RQ3: What are the current research gaps in Blockchain research?

RQ4: What are the future research directions for Blockchain?

What method(s) did they use to answer the question(s)

In the vernacular of the research methods we explored in week 6, this paper used secondary research and meta-analysis to answer the questions.

How credible do you think the paper is? (hint: look at who authors are and where and when it is published also compare what they were asking with what they did)

The paper seems very credible to me. The author’s work, or are attached to, university computer science departments. The paper is well presented and seems thoroughly researched. The journal is fairly reputable.

All factors considered, I think the paper is very credible.

Did you agree, or not, with what they wrote in their conclusion? Why?

Yes, I agreed with their conclusion. The research and discussion leading up to the conclusion was very thorough and well presented. This leads me to believe that the identified research gaps are real, and that the authors are correct in their conclusions.

Briefly describe two things that you learnt from the paper.

  1. At the time of the paper’s publication, academic research into blockchain is quite limited, and mostly focused on the most famous application: Bitcoin.
  2. That usability, throughput and scalability are three areas of research that need to be addressed for Blockchain/Bitcoin continued adoption.

In no more than 250 of your own words (i.e. a paraphrase), describe what the paper is about – you could start with “This paper describes……….”

This paper describes a mapping-study of existing academic research on Blockchain technology: the innovative data storage system that underpins Bitcoin. The paper describes the collation of all/most existing academic papers on Blockchain, then organizes this research into useful categories. The paper then attempts to describe the direction of current research, how any of that research has been applied, and identify where more rigorous academic work is needed to further Blockchain technology.

Academic Paper Searching Exercise

Some Background

I’ve been researching blockchain and Bitcoin more and more. Many of the sources or papers I’ve read were not, in fact, academic journal articles; whitepapers by businesses (Google, Barclays Bank, etc.), websites, and community and general news articles.

Here I’ll present information for 2 academic articles. The second article I would like to use for my assignment 2, but it is over 10 pages long, and so Claire may not accept it (will ask).

Article 1

Title

‘Where Is Current Research on Blockchain Technology?—A Systematic Review’

Authors

Jesse Yli-Huumo, Deokyoon Ko, Sujin Choi4, Sooyong Park, Kari Smolander

APA reference

Yli-Huumo, J., Ko, D., Choi, S., Park, S., & Smolander, K. (2016). Where is current research on blockchain technology?–A systematic review. PLoS One, 11(10) doi:http://dx.doi.org/10.1371/journal.pone.0163477

How you found the article and what keywords you used

Retrieved using ProQuest database.

Keywords were ‘blockchain e voting’, with Peer Reviewed checkbox ticked

What kind of article it is

The article is a systematic review.

all the reasons that you think it is an academic article

  • Authors are experts or highly skilled in the relevant field, namely computer science
  • Peer-reviewed
  • Published in an academic journal, albeit an open access journal (PLOS one)

how well it fits the ‘structure of an academic article’

Has an Abstract, Introduction, Discussion, Conclusion and references.

how many references

58

how many citations

1

URL

http://dx.doi.org/10.1371/journal.pone.0163477


Is it interesting to me?

Yes. The article seems comprehensive vis challenges and implementations of blockchain, it has many references for further research, and seems to have interesting diagrams on the subject (eg. Fig 11. Summary of the Identified challenges and solutions of Blockchain).

Article 2

Title

BITCOIN WILL BITE THE DUST

Authors

Kevin Dowd, Martin Hutchinson

APA reference

Dowd, K., & Hutchinson, M. (2015). BITCOIN WILL BITE THE DUST. Cato Journal, 35(2), 357-382.

How you found the article and what keywords you used

Retrieved using ProQuest database.

Keywords were ‘blockchain e voting’, with Peer Reviewed checkbox ticked

What kind of article it is

Journal paper

all the reasons that you think it is an academic article

  • It is a peer-reviewed article from an academic institution.
  • It is well referenced

how well it fits the ‘structure of an academic article’

It lacks an abstract, introduction or discussion. It instead reads like a lengthy, well-referenced article. It does feature a conclusion

how many references

19

how many citations

1

URL

https://object.cato.org/sites/cato.org/files/serials/files/cato-journal/2015/5/cj-v35n2-12.pdf

Is it interesting to me?

It is an interesting article, that mainly tries to expand on the conclusions of other papers. It’s made clear at the beginning of the paper that the conclusions are contested, which to me demonstrates a willingness to be wrong, which I feel is a good trait to have.

I also find it interesting because the article clearly hopes to elucidate the major problems of Bitcoin, and in order to fix or utilize a technology, it is helpful to know it’s weaknesses.

Finally, the headline is pretty click-bait-y, and that it worked in my case.