Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Java GPU vs CPU Hashing Performance
Mid Sweden University, Faculty of Science, Technology and Media, Department of Information Systems and Technology.
2018 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

In the latest years, the public’s interest in blockchain technology has been growing since it was brought up in 2008, primarily because of its ability to create an immutable ledger, for storing information that never will or can be changed. As an expanding chain structure, the act of nodes adding blocks to the chain is called mining which is regulated by consensus mechanism. In the most widely used consensus mechanism Proof of work, this process is based on computationally heavy guessing of hashes of blocks. Today, there are several prominent ways developed of performing this guessing, thanks to the development of hardware technology, either using the regular all-rounded computer processing unit (CPU), or using the more specialized graphics processing unit (GPU), or using dedicated hardware. This thesis studied the working principles of blockchain, implemented the crucial hash function used in Proof of Work consensus mechanism and other blockchain structures with the popular programming language Java on various platforms. CPU implementation is done with Java’s built-in functions and for GPU I used OpenCL ’ s Java binding JOCL. This project gives a quantified measurement for hash rate on different devices, determines that all the GPUs tested advantage over CPUs in performance and memory consumption. Java’s built-in function is easier to use but both of the implementations are doing well in platform independent that the same code can easily be executed on different platforms. Furthermore, based on the measurements, I did in-depth exploration of the principles and proposed future work, analyzed their application values combined with future possibilities of blockchain based on implementation difficulties and performance.

Place, publisher, year, edition, pages
2018. , p. 51
Keywords [en]
Blockchain, SHA-256, CPU, GPU, Java, JOCL, PoW
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:miun:diva-33994Local ID: DT-V18-G3-007OAI: oai:DiVA.org:miun-33994DiVA, id: diva2:1228606
Subject / course
Computer Engineering DT1
Supervisors
Examiners
Available from: 2018-06-28 Created: 2018-06-28 Last updated: 2018-06-28Bibliographically approved

Open Access in DiVA

fulltext(2035 kB)77 downloads
File information
File name FULLTEXT01.pdfFile size 2035 kBChecksum SHA-512
e7d9226d631140de447fc48d058b60777deaf2edb77b1c160283b8578ef433372ee26561c49d138b8ba5f8785efde700be2e2a049d6a75b57e33986601dbee4d
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Fang, Zhuowen
By organisation
Department of Information Systems and Technology
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 77 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 95 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf