Skip to content

Commit

Permalink
Added the start of the final paper.
Browse files Browse the repository at this point in the history
  • Loading branch information
Romulus10 committed Oct 27, 2018
1 parent e6bd648 commit 0ae3ac7
Show file tree
Hide file tree
Showing 8 changed files with 269 additions and 0 deletions.
30 changes: 30 additions & 0 deletions docs/final/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
make:
pdflatex blockchain_message
makeindex blockchain_message
makeglossaries blockchain_message
biber blockchain_message
biber blockchain_message
pdflatex blockchain_message
pdflatex blockchain_message

clean:
rm -f *.aux
rm -f blockchain_message.glo
rm -f blockchain_message.idx
rm -f blockchain_message.log
rm -f blockchain_message.pdf
rm -f blockchain_message.synctex.gz
rm -f blockchain_message.toc
rm -f blockchain_message.ist
rm -f blockchain_message.glg
rm -f blockchain_message.gls
rm -f blockchain_message.ilg
rm -f blockchain_message.ind
rm -f blockchain_message.run.xml
rm -f blockchain_message.bcf
rm -f blockchain_message.bbl
rm -f blockchain_message.blg
rm -f blockchain_message.out
rm -f texput.log
rm -f blockchain_message.lof
rm -f blockchain_message.lot
89 changes: 89 additions & 0 deletions docs/final/bib.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
@report{yellowpaper,
author = {Dr. Gavin Wood},
title = {Ethereum: A Secure Decentralized Generalized Transaction Ledger},
type = {Yellow Paper},
institution = {Ethereum},
date = {2018-01-24},
}
@online{keybase,
title = {Understanding Following},
date = {2017},
url = {https://keybase.io/docs/server_security/following},
}
@online{gpg,
title={Building Your Web of Trust},
date={2018},
url={https://www.gnupg.org/gph/en/manual/x547.html},
}
@online{plasma,
author = {Alyssa Hertig},
title = {Ethereum + Lightning? Buterin and Poon Unveil `Plasma' Scaling Plan},
date = {2017-08-12},
url = {https://www.coindesk.com/ethereum-lightning-buterin-poon-unveil-plasma-scaling-plan/}
}
@online{yadql,
author = {Andrew I. Plaza Sean T. Batzel},
title = {A Blockchain Database Query Language},
date = {2018-01-06},
url = {https://www.github.com/ScrantonHacks/YADQL}
}
@online{reply,
author = {Reply},
title = {Blockcom},
date = {2018},
url = {http://www.reply.com/en/content/blokcom}
}
@online{vibeo,
author = {Vibeo Ltd.},
title = {Vibeo},
date = {2018},
url = {https://vibeo.io}
}
@online{web3-py,
author = {The Ethereum Project},
title = {web3.py},
date = {2018-04-07},
url = {https://github.com/ethereum/web3.py}
}
@online{ethereum,
author = {The Ethereum Project},
title = {The Ethereum Organization},
date = {2018-04-07},
url = {https://github.com/ethereum}
}
@online{blockchain,
author = {Ameer Rosic},
title = {What is Blockchain Technology? A Step-by-Step Guide for Beginners},
date = {2016},
url = {https://blockgeeks.com/guides/what-is-blockchain-technology/}
}
@online{simple-storage,
author = {valanterlab},
title = {Simple Storage Ethereum Contract with Truffle},
date = {2016-11-29},
url = {https://github.com/valanterlab/simple-storage}
}
@online{singer,
author = {Natasha Singer},
title = {What You Don't Know About How Facebook Uses Your Data},
date = {2018-04-11},
url = {https://www.nytimes.com/2018/04/11/technology/facebook-privacy-hearings.html}
}
@online{nakamoto,
author = {Satoshi Nakamoto},
title = {Bitcoin: A Peer-to-Peer Electronic Cash System},
date = {2008-10-31},
url = {https://bitcoin.org/bitcoin.pdf}
}
@online{timesharing,
author = {William Y. Arms},
title = {Early Timesharing},
date = {May 2014},
url = {http://www.cs.cornell.edu/wya/AcademicComputing/text/earlytimesharing.html}
}
@online{web3j,
author = {Conor Svensson},
title = {Lightweight Java and Android library for integration with Ethereum clients},
date = {2019},
url = {https://web3j.io/}
}
Binary file added docs/final/blockchain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 75 additions & 0 deletions docs/final/blockchain_message.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
\documentclass[titlepage]{report}

\usepackage[toc,page]{appendix}
\usepackage{glossaries}
\usepackage{makeidx}
\usepackage{biblatex}
\usepackage{graphicx}
\usepackage{float}

\makeglossaries{}
\loadglsentries{entries}

\makeindex
\addbibresource{bib.bib}

\title{blockchain\_message: A Peer-to-Peer Content-Sharing Service Built on the Ethereum Blockchain\\\large System Documentation}
\author{Sean T. Batzel\\Dr.\ Bishop}
\date{\today\endgraf\bigskip Submitted in partial fulfillment of the requirements of CMPS/IT 490 --- Computer Projects}

\begin{document}
\maketitle

\tableofcontents

\nocite{*}

\begin{abstract}

\end{abstract}

\input{proposal}
\input{justification}
\input{requirements}
\input{design}

\pagebreak

\section{Progress to Date}

\begin{table}[ht]
\begin{center}
\caption{Progress on Individual Project Elements}
\begin{tabular}{| l | p{5cm} |}
\hline
Proposed Project Specifications & \textbf{Complete} \\
\hline
Command-line Interface & \textbf{Complete} \\
Local Database Implementation & \textbf{Complete} \\
RSA\index{RSA} Encryption/Decryption & \textbf{Complete} \\
RSA\index{RSA} Signing and Verification & \textbf{Complete} \\
Smart Contract Message Handling & \textbf{Complete} \\
\hline
Identity and Cryptography Stretch Goals & \textbf{In Progress - Previous Goal Delayed} \\
\hline
Smart Contract Identity Assignment & \textbf{Debugging} \\
Public-key Sharing & \textbf{Currently manual} \\
Key Signing & \textbf{Not Started} \\
\hline
Client Implementation Stretch Goals & \textbf{Concept Goal} \\
\hline
Server Implementation & \textbf{Not Started} \\
HTML5 Interface & \textbf{Not Started} \\
Android Application & \textbf{In Progress} \\
\hline
\end{tabular}
\end{center}
\end{table}

\listoftables
\listoffigures
\printindex
\printglossaries{}
\printbibliography{}

\end{document}
Binary file added docs/final/diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 75 additions & 0 deletions docs/final/entries.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
\newglossaryentry{blockchain}{
name=blockchain,
description={A blockchain is a path through an acyclic, directed graph attaching transactions through cryptographic hashes}
}

\newglossaryentry{smart contract}{
name={smart contract},
description={A program designed and compiled for execution on a blockchain Multiple users may interact with the contract and may be assured that the contract will behave precisely as written between all participants}
}

\newglossaryentry{mesh network}{
name={mesh network},
description={A series of devices connected directly to one another by a service, intending to facilitate direct and simplified transfer of information between the devices}
}

\newglossaryentry{web of trust}{
name={web of trust},
description={A cryptographic concept where signatures on a key may be used to inform whether that key is valid and trustworthy}
}

\newglossaryentry{miner}{
name={miner},
description={A computer system tasked with mathematically validating transactions on the blockchain},
plural={miners}
}

\newglossaryentry{web3}{
name={web3},
description={A library of standardized functions which allow interaction with the Ethereum network from a client program}
}

\newglossaryentry{test RPC}{
name={test RPC},
description={A server application which resides on the local computer and creates a connection with a mock copy of an Ethereum blockchain. These are often used for testing and debugging purposes for clients and smart contracts}
}

\newglossaryentry{gas}{
name={gas},
description={In Ethereum, gas is a volume of Ether paid as a transaction fee which assigns an upper limit for the amount of time a transaction may take. This is particularly useful in preventing impratically long operations}
}

\newglossaryentry{transaction}{
name={transaction},
description={In the context of cryptocurrency, a cryptographically verifiable payload containing information, financial or otherwise, being transmitted between two parties}
}

\newglossaryentry{mainnet}{
name={mainnet},
description={As opposed to a test network, the actual Ethereum environment where exchanges of value and processing occur}
}

\newglossaryentry{node}{
name={node},
description={A computer which has downloaded and actively processes a full local copy of the entire blockchain.}
}

\newglossaryentry{light client}{
name={light client},
description={A minimal client that uses the much smaller cryptographical root rather than the entire contents of the blockchain.}
}

\newglossaryentry{Ethereum}{
name={Ethereum},
description={A decentralized computer built on a blockchain model.}
}

\newglossaryentry{Identity management}{
name={Identity Management},
description={The process of associating a human user with a Contact address, similar to how a person is associated with a given email address or phone number.}
}

\newglossaryentry{Ether}{
name={Ether},
description={Abbreviated ETH, Ether is the cryptocurrency that powers the Ethereum ecosystem. This asset can be used as a currency or store of value, or it can be used to fuel the execution of smart contracts.}
}
Binary file added docs/final/ethereum.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/final/message_storage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0ae3ac7

Please sign in to comment.