BitCoin Project. 1 Description. 1.1 Version exchange. 1.2 Ping-Pong. CMSC 417 Computer Networks Fall 2013
|
|
- Hubert Bertram Cummings
- 5 years ago
- Views:
Transcription
1 CMSC 417 Computer Networks Fall 2013 BitCoin Project Assigned: Nov 20th Due: around Dec 16th 1 Description In this project you will develop a rudimentary BitCoin client. As your initial codebase you will be using CBitcoin, an open-source C library for working with blockchain data written by Matthew L. Mitchell. For the purpose of this project we have removed the networking code from the version of the CBitCoin provided. You may work in a group of two. Your code must be written in C, and use either select or poll to multiplex network connections. 1.1 Version exchange Connect to a BitCoin client. Your goal is to send a version message within the first 60 seconds of the connection. Failure to send the message will cause a disconnect from the other end. Upon successful of transmission of the version message the other end will reply back with its own version message along with a version acknowledgment message: verack. Within the sample code you will find examples that implement a request-reply version exchange. The filename is pingpong.c and is located under the examples folder. Before you do anything else for this project you must make sure you understand the code template we provided. Note: To create a version message you should use the CBNewVersion. Something that we don t cover in the example is that for every CBNew* function you have to call the appropriate CBRelease* function. If you don t call the release functions your implementation will leak memory. The header of every message that you have to construct is always 24 bytes. The library does not provide an predefined way to construct the headers; you have to construct them manually. The experience you have from the distance vector assignment will help you construct the headers. You need to construct a checksum for every message you send; the examples demonstrate this for the version message. Make sure to take advantage of all the provided functionality from the library. Functions like CBNewByteArrayFromString, CBInt32ToArray will be useful. Therefore, study the provided code very carefully. 1.2 Ping-Pong A standard BitCoin (e.g, satoshi) client send you ping messages. Upon the reception of a ping message your client should respond with a pong message. You client should be sending pings to the satoshi client as well. You should ping each peer every 60 seconds. 1
2 1.3 Interactive client interface You should have a way to interactively send each command you implement. Consider using the GNU readline library to implement your command line. Note: You have to use select or poll functions for all the I/O operations. Furthermore, you need to make sure that you properly handle concurrent actions. 1.4 Multiple Connections and connection bookkeeping You should implement the correct data structures (feel free to use the ones provided) to keep track of the peer addresses your client learns. Your goal should be to connect to as many of them as you can. When a node sends you an Addr message containing peer addresses it knows about, add only the new ones to your address data structure. A good strategy to quickly learn as many nodes as possible is to send a GetAddr messages to the initial set of nodes you will retrieve from the initial node you connect. Do not add private addresses to the address data structure. We have created a fork of the BitCoin network called umdnet, and we are running a public node you can connect to at kale.cs.umd.edu: You should also try connecting to two other forks: the Bitcoin mainnet, and the testnet. The different forks are distinguished in three ways: a) different ports (28333 for umdnet, for testnet, and 8333 for mainnet); b) a 4-byte netmagic code that is sent at the very beginning of each message: 0xf9beb4d0 for umdnet, 0x B for testnet, 0xf9beb4d9 for mainnet; and c) a unique genesis block (look in CBBlock.c to see how the mainnet and umdnet blocks are initialized). Advertise your client s address by sending Addr messages to the nodes you learn about. When nodes connect to you, accept the incoming connections and always wait for a version message that will initiate the version-verack exchange. After the initial version exchange you can treat the node the same as the peers that you are already connected to. 1.5 Download and serve blocks In order to validate transactions, you will need to maintain a representation of the current state of the ledger also known as the set of Unspent TX Outputs as well as forks for validation. You can use the blockchain database and validation library provided with cbitcoin. This library keeps track of the current main chain (the valid chain with the most cumulative work) as well as orphan blocks and side branches, and will automatically reorganize if the main chain needs to switch. The subset of the BitCoin messages you need to use: Version, Verack: initial handshake Ping, Pong: checks if a node is still connected GetAddr, Addr: announce or ask for node ip addresses GetBlocks: ask for block hashes Inv, GetData: announce or ask for blocks and transactions Block, Tx: block and transaction data In order to download blocks, you will need to construct a GetBlocks message. The GetBlocks message includes a block locator (i.e., CBChainDescriptor), which is built by enumerating backwards from the most recent block in the main branch. Follow the procedure described in the bitcoin wiki: 2
3 If you receive an Inv message containing blocks, you should check each one to see if you already have it. Collect all the ones you do not have and ask for them with a GetData message. If you receive a Block message, pass it to the ProcessBlock function in the library so that it will be checked and stored. The GetData message contains the same data as an Inv message: a serialized CBInventoryBroadcast. The Block and Transaction messages just consist of a serialized CBBlock and CBTransaction respectively. If you receive a GetBlocks message, then you should return an Inv message containing the list of blocks starting right after the last known hash in the block locator object, up to hash stop or 500 blocks, whichever comes first. Note that it is allowed to send in fewer known hashes down to a minimum of just one hash. If the peer detects that you are off the main chain, it will send in block hashes which are earlier than your last known block. So if you just send in your last known hash and it is off the main chain, the peer starts over at block #1. If a node asks for block data with GetData message, send a Block message for every one of them you have. 1.6 Transactions: Creation and broadcast Use the tool provided under the examples folder to create a new address for yourself. Scan each block in the blockchain database to find coins you can spend with that address. Construct a transaction that spends your coins and broadcasts it to the network. We will send you some umdnet coins you can spend. The broadcast works in two stages. First, you send everyone an Inv message containing the hash of the transaction. Add the transaction to a collection of transactions you know about. 1.7 Relay: Transactions and blocks When your client receives a new block or information about a new transaction, send an Inv message to every node you re connected to. Respond to GetData requests for both transactions and blocks. You must relay only valid blocks and transactions. You will have to write additional logic to validate transactions that are not yet in blocks. 2 Mine for new blocks Construct a new block out of any transactions that you know about. Create a coinbase transaction that pays the reward (block bonus + any fees from the transactions) to an address you own. Try different values for the nnonce field until the hash of the block falls below the difficulty threshold. Broadcast an Inv message as soon as you find a winning one. 3 Build a Distributed Hash Table (DHT) Rather than each node storing the whole blockchain, we would like to split the task across multiple nodes. Add your own communication layer between two or more of your own nodes such that when a GetData message is received, if you dont have it on disk but you know who might, then request it from that node and relay the response. More details about DHTs in forthcoming class. 1. Chord: 2. Pastry: 3. Kadmelia: 3
4 4 Remarks If you work on linuxlab in order to compile the provided code you should follow these steps: 1. Download the latest open-ssl from the following link: 2. To download use the command : wget 3. Create a folder in your account lex_openssl. (You can use any name you want. Make sure you use the same name in the following steps). 4. Execute the following command to decompress the openssl source code you downloaded in step 1. The command is: tar xvzf openssl-1.01e.tar.gz 5. Step inside the openssl directory and run the following sequence of commands:./configure --prefix=~/cs4170xx/lex_openssl; make; make install. Make sure to change the cs4170xx to the number of your linuxlab account. At the end of this step the newest openssl version will be installed in your linuxlab account at the folder lex_openssl. 6. Enter the cbitcoin directory and change the file Makefile.in to include the local directory that you installed openssl in the previous step. In this step you should replace the directives /usr/local/ssl/include and /usr/local/ssl/lib with the ones in your lex_openssl folder. 7. Run the following sequence:./configure; make Access your code by from the following repository: Understand the BitCoin protocol. Read the specification thoroughly: Read Satoshi s original paper for more information: Understand the provided code. This is part of the work you have to do for this project. Treat the example code as a template. The examples use libev. Your code must use select/poll. However, in order to run the examples follow these steps: 1. Download libev: 2. To download use the command : wget 3. Create a folder in your account lex_libev. (You can use any name you want. Make sure you use the same name in the following steps). 4. Execute the following command to decompress the libev source code you downloaded in step 1. The command is: tar xvzf libev-4.15.tar.gz 5. Step inside the openssl directory and run the following sequence of commands:./configure --prefix=~/cs4170xx/lex_libev; make; make install. Make sure to change the cs4170xx to the number of your linuxlab account. At the 4
5 end of this step the newest libev version will be installed in your linuxlab account at the folder lex_libev. 6. Enter the cbitcoin directory and change the file Makefile.in to include the local directory that you installed openssl in the previous step. In this step you should add the directives -I/afs/csic.umd.edu/class/cmsc417/0101/cs417XXX/lex_libev/include and -I/afs/csic.umd.edu/class/cmsc417/0101/cs417XXX/lex_libev/lib in the CFLAGS and LFLAGS respectively. 7. Run the following sequence:./configure; make examples-build 5
Bitcoin (Part I) Ken Calvert Keeping Current Seminar 22 January Keeping Current 1
Bitcoin (Part I) Ken Calvert Keeping Current Seminar 22 January 2014 2014.01.22 Keeping Current 1 Questions What problem is Bitcoin solving? Where did it come from? How does the system work? What makes
More informationScalable overlay Networks
overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent
More informationENEE 457: E-Cash and Bitcoin
ENEE 457: E-Cash and Bitcoin Charalampos (Babis) Papamanthou cpap@umd.edu Money today Any problems? Cash is cumbersome and can be forged Credit card transactions require centralized online bank are not
More informationConsensus & Blockchain
Consensus & Blockchain S P Suresh Chennai Mathematical Institute Formal Methods Update Meeting IIT Mandi July 17, 2017 The Bitcoin revolution is upon us What is Bitcoin? Bitcoin: an exciting new currency
More informationICS 421 & ICS 690. Bitcoin & Blockchain. Assoc. Prof. Lipyeow Lim Information & Computer Sciences Department University of Hawai`i at Mānoa
ICS 421 & ICS 690 Bitcoin & Blockchain Assoc. Prof. Lipyeow Lim Information & Computer Sciences Department University of Hawai`i at Mānoa Accepted by: Overstock.com Expedia.com Newegg.com Tigerdirect.com
More informationComputer Security. 14. Blockchain & Bitcoin. Paul Krzyzanowski. Rutgers University. Spring 2019
Computer Security 14. Blockchain & Bitcoin Paul Krzyzanowski Rutgers University Spring 2019 April 15, 2019 CS 419 2019 Paul Krzyzanowski 1 Bitcoin & Blockchain Bitcoin cryptocurrency system Introduced
More informationMechanics of Bitcoin
Mechanics of Bitcoin Minsoo Ryu Hanyang University Outline Bitcoin Transactions Bitcoin Scripts Bitcoin Blocks Bitcoin Network Limitations and Improvements For more information, visit https://bitcoin.org/en/developer-reference#
More informationBitcoin (and why it uses SO much energy)
Bitcoin (and why it uses SO much energy) David Malone Hamilton Institute / Dept Maths&Stats Maynooth University. 2018-11-08 Bitcoin Background Bitcoin is a cryptocurrency that started around 2008 2009.
More informationBLOCKCHAIN Blockchains and Transactions Part II A Deeper Dive
BLOCKCHAIN Blockchains and Transactions Part II A Deeper Dive www.blockchaintrainingalliance.com Blockchain Page 3 Blockchain is NOT Bitcoin Page 4 Transactions Page 5 Multi-Signature Addresses An Address
More informationbitcoin allnet exam review: transport layer TCP basics congestion control project 2 Computer Networks ICS 651
bitcoin allnet exam review: transport layer TCP basics congestion control project 2 Computer Networks ICS 651 Bitcoin distributed, reliable ("hard to falsify") time-stamping network each time-stamp record
More informationChapter 13. Digital Cash. Information Security/System Security p. 570/626
Chapter 13 Digital Cash Information Security/System Security p. 570/626 Introduction While cash is used in illegal activities such as bribing money laundering tax evasion it also protects privacy: not
More informationSmalltalk 3/30/15. The Mathematics of Bitcoin Brian Heinold
Smalltalk 3/30/15 The Mathematics of Bitcoin Brian Heinold What is Bitcoin? Created by Satoshi Nakamoto in 2008 What is Bitcoin? Created by Satoshi Nakamoto in 2008 Digital currency (though not the first)
More informationHow Bitcoin achieves Decentralization. How Bitcoin achieves Decentralization
Centralization vs. Decentralization Distributed Consensus Consensus without Identity, using a Block Chain Incentives and Proof of Work Putting it all together Centralization vs. Decentralization Distributed
More informationSecurity Analysis of the Lightning Network
Security Analysis of the Lightning Network Laolu Osuntokun @roasbeef Lightning Labs BPASE 2017 State of the Hash-Lock In-progress Lightning Network specifications (lighting-rfc) Basis of Lightning Technology
More informationUniversity of Duisburg-Essen Bismarckstr Duisburg Germany HOW BITCOIN WORKS. Matthäus Wander. June 29, 2011
University of Duisburg-Essen Bismarckstr. 90 47057 Duisburg Germany HOW BITCOIN WORKS June 29, 2011 Overview Electronic currency system Decentralized No trusted third party involved Unstructured peer-to-peer
More informationJan Møller Co-founder, CTO Chainalysis
Jan Møller Co-founder, CTO Chainalysis How Does Bitcoin Actually Work? This talk is not about the poli:cal or economical impact of Bitcoin. This talk is not about how to buy, sell, spend, or secure your
More informationBlockchain. CS 240: Computing Systems and Concurrency Lecture 20. Marco Canini
Blockchain CS 240: Computing Systems and Concurrency Lecture 20 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Bitcoin: 10,000 foot view New bitcoins
More informationBitcoin Transaction Fee Estimation Using Mempool State and Linear Perceptron Machine Learning Algorithm
San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 2018 Bitcoin Transaction Fee Estimation Using Mempool State and Linear Perceptron Machine Learning
More informationEnsimag - 4MMSR Network Security Student Seminar. Bitcoin: A peer-to-peer Electronic Cash System Satoshi Nakamoto
Ensimag - 4MMSR Network Security Student Seminar Bitcoin: A peer-to-peer Electronic Cash System Satoshi Nakamoto wafa.mbarek@ensimag.fr halima.myesser@ensimag.fr 1 Table of contents: I- Introduction: Classic
More informationBiomedical Security. Cipher Block Chaining and Applications
1 Biomedical Security Erwin M. Bakker 2 Cipher Block Chaining and Applications Slides and figures are adapted from: W. Stallings, Cryptography and Network Security 4 th Edition and 7 th Edition 1 3 Block
More informationWhat is Proof of Work?
What is Proof of Work? Educational Series September 18, 2018 Overview There are many protocols that regulate how nodes on a blockchain achieve consensus, and currently the most popular is proof-of-work.
More informationECC: Peer-to-Peer Electronic Cash with Trustless Network Services
ECC: Peer-to-Peer Electronic Cash with Trustless Network Services Greg Griffith October 2017 (griffith@cryptounited.io) https://www.ecc.network ECC: Peer-to-Peer Electronic Cash with Trustless Network
More informationSpaceMint Overcoming Bitcoin s waste of energy
Bitcoin Overcoming Bitcoin s waste of energy Georg Fuchsbauer joint work with S Park, A Kwon, K Pietrzak, J Alwen and P Gaži Digital currency Decentralized (no bank issuing coins) Pseudonymous Controled
More informationTOPPERCASH TOPPERCASH WHITEPAPER REFORM THE BEST OF BLOCKCHAIN
TOPPERCASH TOPPERCASH WHITEPAPER REFORM THE BEST OF BLOCKCHAIN ABSTRACT A PEER-TO-PEER CRYPTO-CURRENCY DESIGN DERIVED FROM SATOSHI NAKAMOTO S BITCOIN. PROOF- OF-STAKE REPLACES PROOF-OF- WORK TO PROVIDE
More informationEECS 498 Introduction to Distributed Systems
EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Today Bitcoin: A peer-to-peer digital currency Spark: In-memory big data processing December 4, 2017 EECS 498 Lecture 21 2 December
More informationProgramming Assignment 0
CMSC 17 Computer Networks Fall 017 Programming Assignment 0 Assigned: August 9 Due: September 7, 11:59:59 PM. 1 Description In this assignment, you will write both a TCP client and server. The client has
More informationProblem: Equivocation!
Bitcoin: 10,000 foot view Bitcoin and the Blockchain New bitcoins are created every ~10 min, owned by miner (more on this later) Thereafter, just keep record of transfers e.g., Alice pays Bob 1 BTC COS
More informationHijacking Bitcoin: Routing Attacks on Cryptocurrencies
Maria Apostolaki 1, Aviv Zohar 2, Laurent Vanbever 1 Presented by Pascal Blöchlinger 1 ETH Zürich, 2 The Hebrew University Motivation Money Security Rising interest Lacking knowledge of participants Overview
More informationBiomedical Security. Some Security News 10/5/2018. Erwin M. Bakker
Biomedical Security Erwin M. Bakker Some Security News October 03, 2018 - Hackers attacking healthcare through remote access systems and disrupting operations is the number one patient safety risk, according
More informationHow to clone ABCCoin in to another SHA256 coin. By shakezula.
How to clone ABCCoin in to another SHA256 coin. By shakezula. Step 1: Search and replace the entire source tree for the terms ABCCoin and abccoin and replace them with your coin s name. Be sure to use
More informationBlockchain-enabled peer-to-peer marketplaces
Blockchain-enabled peer-to-peer marketplaces Creating the infrastructure and UX to enable mainstream commercial transactions on Ethereum Matthew Liu Cofounder Company Overview 2 Origin will enable decentralized
More informationIntroduction to Bitcoin I
Introduction to Bitcoin I P Peterlongo 1 A Tomasi 1 1 University of Trento Department of Mathematics June 10, 2013 Outline 1 Fiat and online payments Functions of Online payments and cost of clearing 2
More informationWOLFCOIN MASTERNODE MANUAL
WOLFCOIN MASTERNODE MANUAL Contents Introduction... 3 About Wolfcoin Blockchain... 3 Download the Wolfcoin Wallet... 4 Installation of your Wallet... 5 Make a receiving address... 12 Closing the Wolfcoin
More informationFruitchains: A Fair Blockchain?
Fruitchains: A Fair Blockchain? Kyrylo Voronchenko Supervised by Michal Zajac June 4, 2018 Abstract This report is an overview of the paper [PS16] in which authors introduced a new protocol called FruitChain
More informationBurstcoin Technical information about mining and block forging
Burstcoin Technical information about mining and block forging Table of contents 1. Introduction 2. Algorithms and Acronyms 3. Mining process 4. Block forging process Introduction With most cryptocurrencies
More informationFeathercoin s 51% Attack Double Spending case study
1.1 Bitcoin Structure - Double Spending Feathercoin s 51% Attack Double Spending case study BTC Donations LTC Donations Corrections, Additions, Technical Revisions or comments are welcome: max_miner
More informationCS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University
CS 4770: Cryptography CS 6750: Cryptography and Communication Security Alina Oprea Associate Professor, CCIS Northeastern University March 30 2017 Outline Digital currencies Advantages over paper cash
More informationFiiiCOIN. Yellow Paper. FiiiCOIN Yellow Paper v0.01. A versatile, scalable and energy efficient blockchain technology. Authors.
FiiiCOIN A versatile, scalable and energy efficient blockchain technology Yellow Paper Authors Sylvester Lee CTO & Founder John Liu Solutions Architect 1 P a g e Abstract FiiiCoin is a transaction network
More informationBLOCKCHAIN CADEC Pär Wenåker & Peter Larsson
BLOCKCHAIN CADEC 2018 - Pär Wenåker & Peter Larsson BITCOIN BITCOIN PAPER Posted 31/10 2008 Bitcoin v0.1 released Satoshi Nakamoto satoshi at vistomail.com Thu Jan 8 14:27:40 EST 2009 Previous message:
More informationP2P BitCoin: Technical details
ELT-53206 Peer-to-Peer Networks P2P BitCoin: Technical details Mathieu Devos Tampere University of Technology Department of Electronics & Communications Engineering mathieu.devos@tut.fi TG406 2 Outline
More informationTampering with the Delivery of Blocks and Transactions in Bitcoin
Tampering with the Delivery of Blocks and Transactions in Bitcoin Arthur Gervais, Hubert Ritzdorf, Ghassan O. Karame and Srdjan Čapkun ETH Zurich, Switzerland, NEC Laboratories Europe, Germany firstname.lastname@inf.ethz.ch,
More informationLecture 6. Mechanics of Bitcoin
Lecture 6 Mechanics of Bitcoin Bitcoin transactions time An account-based ledger (not Bitcoin) Create 25 coins and credit to Alice ASSERTED BY MINERS SIMPLIFICATION: only one transaction per block time
More informationAnupam Datta CMU. Spring 2017
Anupam Datta CMU Spring 2017 A rational reconstruction of Bitcoin 1. Start with straw man design 2. Identify weaknesses 3. Augment design and iterate Alice: I, Alice, am giving Bob one coin Alice digitally
More informationBlockchain (a.k.a. the slowest, most fascinating database you ll ever see)
Blockchain (a.k.a. the slowest, most fascinating database you ll ever see) GOTO Amsterdam 13 June, 2017 Stefan Tilkov, @stilkov I don t know Blockchain and so can you 1. Bitcoin > Practical application
More informationVersion 0.7. GoldCoin Patch Announcement. What is a 51% attack. The impossible made possible
Version 0.7 www.gldcoin.com www.gldtalk.org October 11 2013 GoldCoin Patch Announcement Welcome to the GoldCoin minor version 7 announcement. We have some fantastic news for you folks today. We have at
More informationTechnical Analysis of Established Blockchain Systems
Technical Analysis of Established Blockchain Systems Florian Haffke, 20.11.2017, Munich Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität
More informationLecture 3. Introduction to Cryptocurrencies
Lecture 3 Introduction to Cryptocurrencies Public Keys as Identities public key := an identity if you see sig such that verify(pk, msg, sig)=true, think of it as: pk says, [msg] to speak for pk, you must
More informationProof-of-Stake Protocol v3.0
Proof-of-Stake Protocol v3.0 Abstract Proof of Stake's security has proven itself reliable & effective over years of testing while at the same time solving Bitcoin s issues caused by the Proof of Work
More informationGENESIS VISION NETWORK
GENESIS VISION NETWORK Contents 1. Description of the problem 7 11. Trust management 15 2. The problem with smart contracts 8 12. GVN Token 16 3. Centralised exchanges against decentralised 8 13. Deposit
More informationOn the impact of propogation delay on mining rewards in Bitcoin. Xuan Wen 1. Abstract
On the impact of propogation delay on mining rewards in Bitcoin Xuan Wen 1 Abstract Bitcoin 2 is a decentralized digital currency that is rapidly gaining in popularity. The Bitcoin system relies on miners
More informationSecurity Analysis of Bitcoin. Dibyojyoti Mukherjee Jaswant Katragadda Yashwant Gazula
Security Analysis of Bitcoin Dibyojyoti Mukherjee Jaswant Katragadda Yashwant Gazula Security Analysis of Bitcoin Introduction How Bitcoin works? Similar peer-to-peer systems Vulnerabilities and solutions
More informationBitcoin, a decentralized and trustless protocol
Bitcoin, a decentralized and trustless protocol Thomas Sibut-Pinote Inria Saclay February 12, 2015 Thomas Sibut-Pinote Bitcoin, a decentralized and trustless protocol 1 / 42 Introduction Questions 1 Introduction
More informationWho wants to be a millionaire? A class in creating your own cryptocurrency
DEVNET-3626 Who wants to be a millionaire? A class in creating your own cryptocurrency Tom Davies, Sr. Manager, DevNet Sandbox Vallard Benincosa, Software Engineer Cisco Spark How Questions? Use Cisco
More informationDOUBLE SPENDING PREVENTION IN BITCOINS NETWORK
International Journal of Computer Engineering and Applications, Volume IX, Issue VIII, August 2015 www.ijcea.com ISSN 2321-3469 DOUBLE SPENDING PREVENTION IN BITCOINS NETWORK Mandar Kadam, Praharsh Jha,
More informationUpgrading Bitcoin: Segregated Witness. Dr. Johnson Lau Bitcoin Core Contributor Co-author of Segregated Witness BIPs March-2016
Upgrading Bitcoin: Segregated Witness Dr. Johnson Lau Bitcoin Core Contributor Co-author of Segregated Witness BIPs 141-143 16-March-2016 Topics A short introduction to Bitcoin transactions What is transaction
More informationPrelude. The notes within this Whitepaper publication are intended to formally document the concepts and features of the Aegeus cryptocurrency.
Prelude The notes within this Whitepaper publication are intended to formally document the concepts and features of the Aegeus cryptocurrency. This document will explain methodically, the details of the
More informationBitcoin, Security for Cloud & Big Data
Bitcoin, Security for Cloud & Big Data CS 161: Computer Security Prof. David Wagner April 18, 2013 Bitcoin Public, distributed, peer-to-peer, hash-chained audit log of all transactions ( block chain ).
More informationCSC 2209: CLOUD STORAGE FINAL PROJECT
CSC 2209: CLOUD STORAGE FINAL PROJECT DAVID SOLYMOSI AND JIMMY ZHU 1. High Level Overview We implemented a backup and sync service with a focus on minimizing network traffic at the cost of local storage
More informationBitcoin. CS6450: Distributed Systems Lecture 20 Ryan Stutsman
Bitcoin CS6450: Distributed Systems Lecture 20 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University. Licensed for
More informationContents. Crave Masternode Setup Guides. Single / Multiple Local Masternode(s) Single Masternode using a VPS. Multiple Masternodes using a VPS
Contents Crave Masternode Setup Guides Single / Multiple Local Masternode(s) 1 Requirements...1 2 Preparing Masternodes...1 3 Preparing Controller Wallet...2 4 Masternode Configuration...3 5 Starting Masternodes...3
More informationBiomedical and Healthcare Applications for Blockchain. Tiffany J. Callahan Computational Bioscience Program Hunter/Kahn Labs
Biomedical and Healthcare Applications for Blockchain Tiffany J. Callahan Computational Bioscience Program Hunter/Kahn Labs Network Analysis Working Group 01.25.2018 Outline Introduction to bitcoin + blockchain
More informationBitcoin Mining. A high-level technical introduction. Konstantinos Karasavvas
Bitcoin Mining A high-level technical introduction Konstantinos Karasavvas Outline PoW / Hashcash Transaction propagation Block mining Block propagation Mining Profitability Proof of Work From wikipedia:
More informationCatena: Preventing Lies with
November 28th, 2016 Catena: Preventing Lies with Alin Tomescu alinush@mit.edu MIT CSAIL Srinivas Devadas devadas@mit.edu MIT CSAIL New England Security Day (NESD), Fall '16 The problem: Equivocation The
More informationAnupam Datta CMU. Fall 2015
Anupam Datta CMU Fall 2015 A rational reconstruction of Bitcoin 1. Start with straw man design 2. Identify weaknesses 3. Augment design and iterate Alice: I, Alice, am giving Bob one coin Alice digitally
More informationErgo platform overview
December 2018 Dmitry Meshkov Ergo platform overview Outline Ergo vision Decentralization Survivability Applicability Roadmap 2 Part 1 Ergo vision 3 History Research and Scorex framework development Testnet
More informationA Gentle Introduction To Bitcoin Mining
A Gentle Introduction To Bitcoin Mining Table of Contents Title...3 How Do Bitcoin Transactions Work?...4 Why Is Mining Needed In Bitcoin?...5 Why Do Miners Mine?...6 What Is This Computationally Expensive
More informationDecentralized prediction game platform, powered by public
Decentralized prediction game platform, powered by public Table of Contents Overview 3 1.Secured Scalability 3 1.1.Blockchain network delay and Blockbuster attack 3 1.2.Blockchain Transaction Monitoring
More informationA Lightweight Blockchain Consensus Protocol
A Lightweight Blockchain Consensus Protocol Keir Finlow-Bates keir@chainfrog.com Abstract A lightweight yet deterministic and objective consensus protocol would allow blockchain systems to be maintained
More informationIPFS Data Storage Blueprint
AEGEUS IPFS Data Storage Blueprint When you have IPFS, you can start looking at everything else in one specific way and you realize that you can replace it all Juan Benet V2.0 September 2018 1 Contents
More informationCS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University
CS 4770: Cryptography CS 6750: Cryptography and Communication Security Alina Oprea Associate Professor, CCIS Northeastern University April 9 2018 Schedule HW 4 Due on Thu 04/12 Programming project 3 Due
More informationCS 390 Software Engineering Lecture 3 Configuration Management
CS 390 Software Engineering Lecture 3 Configuration Management Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved.
More informationElphyrecoin (ELPH) a Private, Untraceable, ASIC-Resistant CryptoCurrency Based on CryptoNote
Elphyrecoin (ELPH) a Private, Untraceable, ASIC-Resistant CryptoCurrency Based on CryptoNote This is the First Version of the Elphyrecoin s White Paper Please Check the Website for Future Updates White
More informationTechnical White Paper of. MOAC Mother of All Chains. June 8 th, 2017
Technical White Paper of MOAC Mother of All Chains June 8 th, 2017 [Abstract] MOAC is to design a scalable and resilient Blockchain that supports transactions, data access, control flow in a layered structure.
More informationFormally Specifying Blockchain Protocols
Formally Specifying Blockchain Protocols 1 IOHK company building blockchain applications research focused invested in functional programming built Cardano network, Ada cryptocurrency 2 Blockchain Protocols
More informationDeanonymisation of clients in Bitcoin P2P network
Deanonymisation of clients in Bitcoin P2P network Alex Biryukov University of Luxembourg alex.biryukov@uni.lu Dmitry Khovratovich University of Luxembourg dmitry.khovratovich@uni.lu Ivan Pustogarov University
More informationIBLT and weak block propagation performance. Kalle Rosenbaum (Popeller) & Rusty Russell (BlockStream)
IBLT and weak block propagation performance Kalle Rosenbaum (Popeller) & Rusty Russell (BlockStream) Invertible Bloom Lookup Tables (IBLT) Credit Gavin Andresen Based on the work of Michael T. Goodrich
More informationBitcoin and Blockchain Technology: Addresses, Transactions, and Blocks. Ferdinando M. Ametrano
Bitcoin and Blockchain Technology: Addresses, Transactions, and Blocks Ferdinando M. Ametrano https://www.ametrano.net/about/ Table of Contents 1. Addresses and Wallet Import Formats 2. TxIns, TxOs, UTxOs
More informationProof-of-Work & Bitcoin
CS 220: Introduction to Parallel Computing Proof-of-Work & Bitcoin Lecture 19 Bitcoin: Mining for Heat https://qz.com/1117836/bitcoin-mining-heatshomes-for-free-in-siberia/ 4/25/18 CS 220: Parallel Computing
More informationMore on Address Translation. CS170 Fall T. Yang Some of slides from UCB CS162 by Kubiatowicz
More on Address Translation CS170 Fall 2018. T. Yang Some of slides from UCB CS162 by Kubiatowicz Topics Review of last lecture on pagetable based address translation One-level page table Muti-level paging
More informationPascalCoin - A Comprehensive Guide for Noobs
PascalCoin - A Comprehensive Guide for Noobs What/who/when/why by: Jason Knapp (donations welcome - 291000-95), date: Aug 16, 2017 PascalCoin (PASC) was created by Albert Molina in 2016. It is written
More informationBlockchain Frameworks
TechWatch Report Blockchain Frameworks Date: March 2018 Contributors: Hemant Sachdeva, Subhrojit Nag Contents 1 Objective... 3 2 Capabilities... 3 2.1 Consensus and Incentive Mechanism... 3 2.2 Limitation
More informationErgo platform: from prototypes to a survivable cryptocurrency
January 2019 Dmitry Meshkov Ergo platform: from prototypes to a survivable cryptocurrency Outline Ergo Consensus Light Storage vision protocol clients fee Voting Smart Monetary Roadmap system contracts
More informationCatena: Efficient Non-equivocation via Bitcoin
Catena: Efficient Non-equivocation via Bitcoin Alin Tomescu MIT CSAIL Srinivas Devadas MIT CSAIL Abstract We present Catena, an efficiently-verifiable Bitcoin witnessing scheme. Catena enables any number
More informationAlternative Consensus Algorithms. Murat Osmanoglu
Alternative Consensus Algorithms Murat Osmanoglu Bitcoin Block i-1 Block i Block i+1 Hash i-2 Nonce i-1 Hash i-1 Nonce i Hash i Nonce i+1 tx tx tx tx tx tx tx tx tx tx tx tx Do you really need a Blockchain?
More informationEVALUATION OF PROOF OF WORK (POW) BLOCKCHAINS SECURITY NETWORK ON SELFISH MINING
EVALUATION OF PROOF OF WORK (POW) BLOCKCHAINS SECURITY NETWORK ON SELFISH MINING I Gusti Ayu Kusdiah Gemeliarana Department of Electrical Engineering University of Indonesia Depok, Indonesia i.gusti79@ui.ac.id
More informationPA 4: Hash Table and Triton Blockchain, 100 pts
PA 4: Hash Table and Triton Blockchain, 100 pts Final Submission Due: Thursday, Nov. 8th, 2018 11:59 pm Overview 1. In Programming Assignment 4, you will be implementing a Hash Table class. 2. You will
More informationI. Introduction. II. Security, Coinage and Attacks
Abstract Proof of Stake's security has proven itself over years of testing. Advances in this technology in Blackcoin's Proof-of-Stake 3.0 have solved the issues faced with Coin-Age, Block Reward and Blockchain
More informationMaster Node Setup Guide
Introduction Welcome to this step by step guide that will take you through the process of creating your own Masternode. This guide is aimed at the casual Windows 10 PC user who has purchased Satoshi Coin
More informationAnalyzing Bitcoin Security. Philippe Camacho
Analyzing Bitcoin Security Philippe Camacho philippe.camacho@dreamlab.net Universidad Católica, Santiago de Chile 15 of June 2016 Bitcoin matters Map Blockchain Design Known Attacks Security Models Double
More informationGraph-based forensic investigation of Bitcoin transactions
Graduate Theses and Dissertations Graduate College 2014 Graph-based forensic investigation of Bitcoin transactions Chen Zhao Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/etd
More informationWhat is Bitcoin? How Bitcoin Works. Outline. Outline. Bitcoin. Problems with Centralization
What is Bitcoin? How Bitcoin Works Kai Brünnler Research Institute for Security in the Information Society Bern University of Applied Sciences Bitcoin an open-source software a peer-to-peer network a decentralized
More informationBCH-SV Professional Stress Test
BCH-SV Professional Stress Test After the successful creation of the first blocks larger than 32MB, the stress test team identified a number of changes to the architecture of the Satoshi Shotgun to better
More informationBitcoin and Blockchain
Bitcoin and Blockchain COS 418: Distributed Systems Lecture 18 Zhenyu Song [Credit: Selected content adapted from Michael Freedman. Slides refined by Chris Hodsdon and Theano Stavrinos] Why Bitcoin? All
More informationWEB SECURITY: WEB BACKGROUND
WEB SECURITY: WEB BACKGROUND CMSC 414 FEB 20 2018 A very basic web architecture Client Server Browser Web server (Private) Data Database DB is a separate entity, logically (and often physically) A very
More informationShadow-Bitcoin: Scalable Simulation via Direct Execution of Multi-threaded Applications
Shadow-Bitcoin: Scalable Simulation via Direct Execution of Multi-threaded Applications Workshop on Cyber Security Experimentation and Test August 10 th, 2015 Andrew Miller, University of Maryland amiller@cs.umd.edu
More informationTransactions as Proof-of-Stake! by Daniel Larimer!
Transactions as Proof-of-Stake by Daniel Larimer dlarimer@invictus-innovations.com November, 28 th 2013 Abstract The concept behind Proof-of-Stake is that a block chain should be secured by those with
More informationUNIT V. Computer Networks [10MCA32] 1
Computer Networks [10MCA32] 1 UNIT V 1. Explain the format of UDP header and UDP message queue. The User Datagram Protocol (UDP) is a end-to-end transport protocol. The issue in UDP is to identify the
More informationBYZANTINE CONSENSUS THROUGH BITCOIN S PROOF- OF-WORK
Informatiemanagement: BYZANTINE CONSENSUS THROUGH BITCOIN S PROOF- OF-WORK The aim of this paper is to elucidate how Byzantine consensus is achieved through Bitcoin s novel proof-of-work system without
More informationThe Mini-Blockchain Scheme
The Mini-Blockchain Scheme J.D. Bruce July 2014. Rev 2. www.cryptonite.info Abstract Almost all P2P crypto-currencies prevent double spending and similar such attacks with a bulky blockchain scheme, and
More informationIACA Discussion List Guidelines, Use and Subscription Management
IACA Discussion List Guidelines, Use and Subscription Management Instructions... 2 Posting Guidelines... 2 Managing your Subscription... 3 Frequently Asked Questions... 4 I sent a request to iacalist@iaca.net
More information