Scalable overlay Networks
|
|
- Loren Moore
- 5 years ago
- Views:
Transcription
1 overlay Networks Dr. Samu Varjonen 1
2 Lectures MO C122 Introduction. Exercises. Motivation. TH DK117 Unstructured networks I MO C122 Unstructured networks II TH DK117 Bittorrent and evaluation MO C122 Privacy (Freenet etc.) and intro to power-law networks. TH DK117 Consistent hashing. Distributed Hash Tables (DHTs) MO C122 DHTs continued TH DK117 Power-law networks MO C122 Power-law networks and applications. TH DK117 Applications I MO C122 Applications II TH DK117 Advanced topics MO C122 Conclusions and summary TH DK117 Reserved 2
3 Summary 1 / 2 Summary Central index: Napster Flooding: Gnutella Selective flooding: Gnutella with ultra peers Efficiently sharing information: Bittorrent Anonymity/Privacy: Freenode Oneswarm 3
4 Summary 2 / 2 Structured overlays: DHTs: Chord Pastry Tapestry CAN Complex networks Milgram s experiment Random networks Rewiring model Scale free networks Preferential attachment Evolving copying model Strong clustering Error and fault tolerance (Scale free is good for random errors) Navigation Greedy routing Kleinberg s small world Complex networks (strong clustering in small worlds) Mathematics and Internet: A source of Enormous Confusion and Great potential 4
5 Contents What now? Trust 5
6 Byzantine generals problem Commander Commander Attack Attack Attack Retreat Lieutenant 1 Lieutenant 2 He said retreat Lieutenant 1 Lieutenant 2 He said retreat Byzantine refers to the Byzantine Generals' Problem, an agreement problem in which a group of generals, each commanding a portion of the Byzantine army, encircle a city. Described by Leslie Lamport, Robert Shostak and Marshall Pease in their 1982 paper, "The Byzantine Generals Problem" 6
7 Centralized trust One truth Power at the center Can be abused Deniability Alterations Non-resilient attacks Long delays on transactions You have to trust the authority 7
8 Decentralized trust: requirements Decentralized Transactions between anybody No central issuing or verification authority No fraudulent transactions The goods that the transaction refers to exist Network of random nodes but everyone maintains a copy of the chain So everyone knows everything Immutability Resilient Anonymity Fast Cheap Voluntary Micro-transactions A very small financial transaction conducted online 8
9 Bitcoin: A Peer-to-Peer Electronic Cash System We Propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power The network itself requires minimal structure. 9
10 Who? Satoshi Nakamoto 10
11 Bitcoin A protocol Unit of account Based on blockchain Transaction content is to who and how much All transactions are public and by default anonymous Transfer of bitcoins is not moving anything but storing that transaction to the blockchain Transfers secured by miners who create blocks that are easy for the clients to validate Miners get compensation of the work 11
12 Public vs Private Business Asset Supplier Permissionless Blockchain Private Blockchain Permissioned Vendor Product Inventory Slower Public ownership Open & Transparent Trust-free Allegal Faster Managed upkeep Private membership Trusted Legal 12
13 Bitcoin network A peer to peer network (P2P) a decentralised network with no central point of failure or command All the nodes, or computers, that participate in the network are equal there is no hierarchy No topology as the network is flat. A collection of nodes running the Bitcoin P2P protocol With other protocols such as stratum used for lightweight mobile wallets (where the full block chain is not downloaded) or for mining. Although the network is flat, and all nodes are equal, some nodes or computers can choose to perform a different task. 13
14 Node tasks A full node does: Routing holds a full copy of the blockchain database performs mining provides wallet services Any node has to provide the routing function to participate in the network. Routing is just another way of saying that the node validates and passes on transactions and block as well as discovering and maintaining connections to other nodes, whether they are full nodes or not. Other nodes: Mobile wallets however can t hold the entire blockchain through space requirements and are essentially simplified payment verification nodes or lightweight nodes. Mining only nodes 14
15 Transactions Let s make a payment Alice wants to give 1 BTC to Bob Alice: retrieves the Bob s address Generates own Public/Private key Builds a message with: Transaction of 1 BTC to Bob s address Transaction s signature Announces her public key for signature verification Broadcasts the message to the Bitcoin network Each transaction Unique signature Can be verified who signed it Any attempt to manipulate transactions invalidates the signature Input and output of the transaction must be equal 15
16 Transaction as double-entry bookkeeping Input Value (BTC) Ouput Value (BTC) Input Output Input Output Input Output Input Total inputs Inputs 0.55 outputs 0.5 Difference 0.05 The implied transaction fee Paying a transaction fee is optional. Miners can choose which transactions to process and prioritize those that pay higher fees. This means that to get your transaction processed quickly you will have to outbid other users. Fees are based on the storage size of the transaction generated, which in turn is dependent on the number of inputs used to create the transaction. The space available for transactions in a block is currently artificially limited to 1 MB. 16
17 Digital signatures Sender Receiver Msg Msg Digest algorithm Sender s private key Sender s public key Digest algorithm Msg digest Encryption algorithm Encryption algorithm Msg digest Msg digest Did these two match? 17
18 Why Public/Private key? Bob has the Alice s public key Only Alice knows the private key Bob verifies the transaction signature using the Alice s public key Only Bob is authorized because has the private key 18
19 Bitcoin transaction The transaction from B to C is signed with B s private key The B s public key is included in the transaction And so on... With this system, bitcoins are passed from address to address through a chain of transactions. Each step in the chain can be verified to ensure that bitcoins are being spent validly. Transactions can have multiple inputs and outputs in general, so the chain branches out into a tree. 19
20 Problem: ordering of transactions Whenever a user initiates a transaction, the transaction goes to an unconfirmed pool. Once they are confirmed and validated they are added to the Blockchain. This would result in two complications: If there is no particular order to transactions, then there could be several branches of the block as plenty of miners would mine transactions and add it to the block in parallel leading to a speculation of which chain blocks is the right one Double spending 20
21 Double spending problem 1. Alice wants buy stuff from Bob 2. Alice sends Bob some bitcoins 3. Takes the items 4. Alice sends herself some bitcoins referencing same inputs 5. Possibility that Alice s transaction to herself gets confirmed 6. All other users will reject Alice -> Bob transaction 7. Alice get s the stuff for free! 21
22 Solution: Double-Spending Problem Transaction details are sent and forwarded to all Bitcoin nodes A Block-Chain contains all transaction done Each blocks into chains must be valid and must include a proof-of-work Network You wait until validated and distributed 22
23 Transactions to the block Crypto hashes Merkle tree Signatures 23
24 Blockchain A transaction databases shared by all nodes (like a ledger) Each block must contain a Proof-of-Work Contains a reference (hash) to the previous block Blockchain avoids the double spending BUT WAIT: what if someone else solved the proof-of-work berofe me Switch to longest chain The longest chain represents the accumulated computational power of the network 24
25 Block chain vs. Tree 1 / 3 Bitcoin's block chain system is really two quite separate systems, and they are easily confused. The block tree The active chain The block tree consists of all valid blocks whose entire ancestry is known, up to the genesis block. The rules for validness include: No double spending Valid signatures No introduction of more currency than allowed, These are the network rules, and every full Bitcoin node verifies them. 26
26 Block chain vs. Tree 2 / 2 The active chain is one path from genesis block at the top to some leaf node at the bottom of the block tree. Every such path is a valid choice, but nodes are expected to pick the one with the most "work" in it they know about (where work is loosely defined as the sum of the difficulties). Relativity and technological constraints prevent us from doing instant communication across the globe, so two nodes can not be expected to pick the same chain as the active one. This is no problem: the mining mechanism makes sure that the chance two nodes disagree about blocks in the past decreases exponentially as they are older. So no, there is not one "right chain", there are many. Nodes choose for themselves, but the system is designed to make sure consensus arises quickly. 27
27 Block chain vs. Tree 3 / 3 The rules in practice are this: when a new block arrives, and it extends the previous active chain, we just append it to the active chain. If not, it depends on whether the branch it extends now has more work than the currently active branch. If not, we store the block and stop. If it does have more work, we do a so called "reorganisation": deactivating blocks from the old branch, and activating blocks from the new branch. 28
28 Anyone can add a block Yes but with some effort Proof-of-Work Miners Corresponds at time of computation The time is spent computing hash function The Proof-of-Work is built when the hash s output has a specific property A block with a Proof-of-Work about each 10 minutes The difficulty is established by a target The miners spends time to find a Proof-of-Work in order to receive a Block reward (now is 12.5 BTC) The reward reduces 50% every 4 years The mining process will end when 21 million bitcoins will be reached After that time the miners will earns imposing a transaction fee The block reward started at 50 BTC in block #1 and halves every 210,000 blocks. This means every block up until block #210,000 rewards 50 BTC, while block 210,001 rewards 25. Since blocks are mined on average every 10 minutes, 144 blocks are mined per day on average. At 144 blocks per day, 210,000 blocks take on average four years to mine. 29
29 Bitcoin tech The distributed algorithm dynamically adjusts ho much computing power it takes to find a valid block. This limits the block creation rougly block per 10 minutes The Block reward + transaction fees miners earn are compensations for securing the block How do they find this number? By guessing at random. The hash function makes it impossible to predict what the output will be. So, miners guess the mystery number and apply the hash function to the combination of that guessed number and the data in the block and the previous blocks hash. The resulting hash has to start with a pre-established number of zeroes. 30
30 Proof-of-work Easy to validate but hard to find Miner spends CPU cycles/power/time A single computer = years, Bitcoin network = ~10 minutes Incremental number Header of the most recent block New block Nonce Combine and hash these three Increment nonce Mining difficulty Hash Value Determine Target Value Is Hash < target Mining reward 31
31 Difficulty / target Difficulty A measure of how difficult it is to find a hash below a given target The Bitcoin network has a global block difficulty Valid blocks must have a hash below this target Difficulty changes every 2016 blocks difficulty = difficulty_1_target / current_target difficulty_1_target can be different for various ways to measure difficulty. Traditionally, it represents a hash where the leading 32 bits are zero and the rest are one (this is known as "pool difficulty" or "pdiff") The Bitcoin protocol represents targets as a custom floating point type with limited precision; as a result, Bitcoin clients often approximate difficulty based on this (this is known as "bdiff"). Target is a 256 bit number Not a set problem (like doing a million hashes), but more like a lottery 32
32 Bitcoin address 1454A2geTxaJwF8eqry7oLECdomgDSj6Zx Public Key ( Address ) 34 characters starting with 1 or 3 Represents a possible destination for payment 5JHkYd4mYkTsCsF5axnFj573PG6tqpeJ39Rz2M33v wbka4s1hu6 Private Key 51 characters starting with 5 Required to transfer value from the address 33
33 Bitcoin Address A Bitcoin-balance is associated to the Bitcoin address A Bitcoin Address (2^160 address space) is derived by a ECDSA Public Key by using hash functions 512 bit ECDSA Public Key with prefix SHA-256 of Public Key with prefix RIPEM1 60 of SHA-256 output Base58 Encoding (HASH + Checksum) = 1422cPZaPRiqeWL8njn87NjLwgZxxmZmKp 34
34 Bitcoin architecture 35
35 Messages Simple broadcast network to propagate transactions and blocks. All communications are done over TCP. Bitcoin is fully able to use ports other than 8333 via the -port parameter. IPv6 is supported with Bitcoind/Bitcoin-Qt v0.7. Messages version - Information about program version and block count. Exchanged when first connecting. verack - Sent in response to a version message to acknowledge that we are willing to connect. addr - List of one or more IP addresses and ports. inv - "I have these blocks/transactions:..." Normally sent only when a new block or transaction is being relayed. This is only a list, not the actual data. getdata - Request a single block or transaction by hash. getblocks - Request an inv of all blocks in a range. getheaders - Request a headers message containing all block headers in a range. tx - Send a transaction. This is sent only in response to a getdata request. block - Send a block. This is sent only in response to a getdata request. headers - Send up to 2,000 block headers. Non-generators can download the headers of blocks instead of entire blocks. getaddr - Request an addr message containing a bunch of known-active peers (for bootstrapping). submitorder, checkorder, and reply - Used when performing an IP transaction. ping - Does nothing. Used to check that the connection is still online. A TCP error will occur if the connection has died. 36
36 Bootstrapping The number one way that clients learn about other clients is by connecting to another client and issuing the 'getaddr' command The standard client has always had that ability However, there's a problem with this - how do you learn about client #1? IRC seeding This is something that's been in since the first version too It was simple to implement, but ultimately didn't scale The first version connected to freenode Then, bitcoin nodes started getting k-lined (IRC kill line temporary ban) Later versions connected to lfnet Then, lfnet went down, and IRC support was removed entirely DNS was around by this point IP addresses of well known nodes This has been in the client since June 2010 Still in the Bitcoin client, though the exact IP addresses change every so often. DNS seeding This has been in the client since March 2011 This is easier to scale, because DNS is already built to handle tens of thousands of connections 37
37 New node The new node must form new connections to the network As sometimes some nodes go offline from time to time as people switch their computers off Then the new node is meshed into the network and resilience is created 38
38 Connect To connect to a peer, you send a version message containing: your version number block count current time The remote peer will send back a verack message and his own version message if he is accepting connections from your version You will respond with your own verack if you are accepting connections from his version. The time data from all of your peers is collected, and the median is used by Bitcoin for all network tasks that use the time (except for other version messages). You then exchange getaddr and addr messages storing all addresses that you don't know about addr messages often contain only one address, but sometimes contain up to This is most common at the beginning of an exchange. 39
39 Getaddr The Satoshi client discovers the IP address and port of nodes in several different ways. Nodes discover their own external address by various methods. Nodes receive the callback address of remote nodes that connect to them. Nodes makes DNS request to receive IP addresses. Nodes can use addresses hard coded into the software. Nodes exchange addresses with other nodes. Nodes store addresses in a database and read that database on startup. Nodes can be provided addresses as command line arguments Nodes read addresses from a user provided text file on startup A timestamp is kept for each address to keep track of when the node address was last seen. The AddressCurrentlyConnected in net.cpp handles updating the timestamp whenever a message is received from a node. Handling Message "getaddr" When a node receives a "getaddr" request, it first figures out how many addresses it has that have a timestamp in the last 3 hours Then it sends those addresses, but if there are more than 2500 addresses seen in the last 3 hours, it selects around 2500 out of the available recent addresses by using random selection. The specification is unclear in this part 1000 or 2500? 40
40 "addr" advertisements Nodes may receive addresses in an "addr" message after having sent a "getaddr" request, or "addr" message may arrive unsolicited, because nodes advertise addresses gratuitously when they relay addresses when they advertise their own address periodically when a connection is made. If the address is from a really old version, it is ignored if from a not-so-old version it is ignored if we have 1000 addresses already. If the sender sent over 1000 addresses, they are all ignored Addresses received from an "addr" message have a timestamp, but the timestamp is not necessarily honored directly. For every address in the message: Check timestamps Existense of addr record Addition of address that are new and have no timestamp problems 41
41 Initial block download At the start of a connection Send a getblocks message containing the hash of the latest block you know about If the peer doesn't think that this is the latest block it will send an inv that contains up to 500 blocks ahead of the one you listed You will then request all of these blocks with getdata The peer will send them to you with block messages After you have downloaded and processed all of these blocks you will send another getblocks etc., until you have all of the blocks. 43
42 Heartbeat If thirty minutes or more has passed since the client has transmitted any messages it will transmit a message to keep the connection to the peer node alive. If ninety minutes has passed since a peer node has communicated any messages, then the client will assume that connection has closed. 45
43 Complex networks The underlying network structure of the bitcoin network Bitcoins, represented as addresses, form nodes, and edges correspond to transactions between them This makes the bitcoin interaction network into a graph, which is something we can quantify and study D. Kondor, M. Pósfai, I. Csabai, G. Vattay Do the Rich Get Richer? An Empirical Analysis of the Bitcoin Transaction Network PLoS ONE 9(2): e86197, 2014 D. Di Francesco Maesa, A. Marino, L. Ricci Data-driven analysis of Bitcoin properties: exploiting the users graph Int J Data Sci Anal, 2017 Their findings confirm that the bitcoin network is another example of a complex network which are large and evolve over time Examples of complex networks range from the web graph, social networks, and protein interaction networks Two key features of complex networks are: The small world property Power law degree distributions For the small world property The network should have short paths connecting randomly selected nodes High local clustering, so pairs of nodes with a common neighbor are more likely adjacent Power law degree distributions point to the networks having an undemocratic character Most nodes have the low degree, but some have high degree In other words, there is a small group of nodes which have most of the links The power law indegree distribution of the bitcoin network, from Do the Rich Get Richer? An Empirical Analysis of the Bitcoin Transaction Network. These properties and others were uncovered for bitcoin networks and networks of bitcoin users An interesting mathematical question is whether bitcoin networks are best fit by established network models like preferential attachement, or by other, as yet undiscovered models. 46
44 The power law indegree distribution of the bitcoin network Do the Rich Get Richer? An Empirical Analysis of the Bitcoin Transaction Network. 47
Computer 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 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 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 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 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 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 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 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 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. 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 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 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 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 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 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 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 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 informationBlockchain for Enterprise: A Security & Privacy Perspective through Hyperledger/fabric
Blockchain for Enterprise: A Security & Privacy Perspective through Hyperledger/fabric Elli Androulaki Staff member, IBM Research, Zurich Workshop on cryptocurrencies Athens, 06.03.2016 Blockchain systems
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 informationBitcoin (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 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 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 informationBitCoin Project. 1 Description. 1.1 Version exchange. 1.2 Ping-Pong. CMSC 417 Computer Networks Fall 2013
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
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. 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 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 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 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 informationLet's build a blockchain!
I'm Haseeb. That's me. Let's build a blockchain! A mini-cryptocurrency in Ruby I'm Haseeb Qureshi. I'm a software engineer. I'm working at a blockchain company called 21.co. Unless something terrible has
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 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 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 informationWhitepaper Rcoin Global
Whitepaper Rcoin Global SUMMARY 1. Introduction 2. What is Rcoin Global? 3. Transactions 4. Hybrid Network Concept 5. Keepers 6. Incentive 7. Smart Contract Token 8. Token Distribution 9. Rcoin Global
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 informationUnit 8 Peer-to-Peer Networking
Unit 8 Peer-to-Peer Networking P2P Systems Use the vast resources of machines at the edge of the Internet to build a network that allows resource sharing without any central authority. Client/Server System
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 informationAs a 3rd generation currency, not only are transactions secured, private and fast, you actually get paid for holding DigitalPrice coins.
Introduction With the circulation of cryptocurrency becoming common, there is a need for additional information. The scope of this white paper is to provide that information. If you are under the impression
More informationRadix - Public Node Incentives
Radix - Public Node Incentives Dan Hughes Piers Ridyard www.radix.global December 2017 Abstract In this paper we present a novel method for implementing a mechanism to reward work carried out across a
More informationDistributed Consensus Protocols
Distributed Consensus Protocols ABSTRACT In this paper, I compare Paxos, the most popular and influential of distributed consensus protocols, and Raft, a fairly new protocol that is considered to be a
More informationIntroduction to Cryptocurrency Ecosystem. By Raj Thimmiah
Introduction to Cryptocurrency Ecosystem By Raj Thimmiah How does a normal payment system work? Normal payment systems (generally) use ledgers Easy for servers to then check if someone is committing double
More informationBITCOIN PROTOCOL & CONSENSUS: A HIGH LEVEL OVERVIEW
BITCOIN PROTOCOL & CONSENSUS: A HIGH LEVEL OVERVIEW Rustie Lin Wang Move the area1 over the image a little inside and then right click, replace image to change the background. (and delete this box while
More informationIntroduction to Cryptography in Blockchain Technology. December 23, 2018
Introduction to Cryptography in Blockchain Technology December 23, 2018 What is cryptography? The practice of developing protocols that prevent third parties from viewing private data. Modern cryptography
More informationTelematics Chapter 9: Peer-to-Peer Networks
Telematics Chapter 9: Peer-to-Peer Networks Beispielbild User watching video clip Server with video clips Application Layer Presentation Layer Application Layer Presentation Layer Session Layer Session
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 informationBlockchains & Cryptocurrencies
1 Blockchains & Cryptocurrencies A Technical Introduction Lorenz Breidenbach ETH Zürich Cornell Tech The Initiative for CryptoCurrencies & Contracts (IC3) 2 Cryptocurrency Mania Market cap as of yesterday:
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 informationA Review on Blockchain Application for Decentralized Decision of Ownership of IoT Devices
Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 10, Number 8 (2017) pp. 2449-2456 Research India Publications http://www.ripublication.com A Review on Blockchain Application for
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes
More informationIntroduction to Cryptoeconomics
Introduction to Cryptoeconomics What is cryptoeconomics? Cryptoeconomics is about... Building systems that have certain desired properties Use cryptography to prove properties about messages that happened
More informationOpenbankIT: a banking platform for e- money management based on blockchain technology
OpenbankIT: a banking platform for e- money management based on blockchain technology Dr. Pavel Kravchenko, Sergiy Vasilchuk, Bohdan Skriabin pavel@distributedlab.com, vsv@atticlab.net, bohdan@distributedlab.com
More informationOverlay and P2P Networks. Unstructured networks: Freenet. Dr. Samu Varjonen
Overlay and P2P Networks Unstructured networks: Freenet Dr. Samu Varjonen 1.2.2015 Contents Last week Napster Skype Gnutella BitTorrent and analysis This week: Freenet Introduction to structured networks
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 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 informationBlockchain Certification Protocol (BCP)
Blockchain Certification Protocol (BCP) Fu Yong Quah fuyong@fyquah.me www.fyquah.me Abstract. A semi-decentralized certification system built above the existing 1 Bitcoin network, an innovative peer-to-peer
More informationBitcoin: A Peer-to-Peer Electronic Cash System
Bitcoin: A Peer-to-Peer Electronic Cash System Satoshi Nakamoto satoshi@vistomail.com www.bitcoin.org Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly
More informationInternational Journal of Computer Engineering and Applications, Volume XIII, Issue II, Feb. 19, ISSN
BLOCK-CHAIN: SURVEY ON PRIVACY, SECURITY AND CHALLENGES Monalisha Sinha ABSTRACT: Department of computer science & engineering Birla institute of technology Ranchi, India Blockchain has gained wide attention
More informationSecurity (and finale) Dan Ports, CSEP 552
Security (and finale) Dan Ports, CSEP 552 Today Security: what if parts of your distributed system are malicious? BFT: state machine replication Bitcoin: peer-to-peer currency Course wrap-up Security Too
More informationDistributed Algorithms Bitcoin
Distributed Algorithms Bitcoin Alberto Montresor Università di Trento 2018/12/18 Acknowledgment: Joseph Bonneau, Ed Felten, Arvind Narayanan This work is licensed under a Creative Commons Attribution-ShareAlike
More informationThis tutorial is aimed to give you a crisp understanding of the process of building your own blockchain.
i About the Tutorial Blockchain is the current buzz that is dominating the software development trends. The development and designing of Blockchain involves three major components: client, miner and blockchain.
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 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 informationDistributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201
Distributed Systems ID2201 peer-to-peer Johan Montelius 1 Idéa use resources in edge of network computing storage communication 2 Computing 3 seti@home central server millions of clients hundred of thousands
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 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 informationBitcoin: A Peer-to-Peer Electronic Cash System
Bitcoin: A Peer-to-Peer Electronic Cash System Satoshi Nakamoto satoshin@gmx.com www.bitcoin.org Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly
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 informationA Blockchain-based Mapping System
A Blockchain-based Mapping System IETF 98 Chicago March 2017 Jordi Paillissé, Albert Cabellos, Vina Ermagan, Fabio Maino jordip@ac.upc.edu http://openoverlayrouter.org 1 A short Blockchain tutorial 2 Blockchain
More informationDarkcoin: Peer to Peer Crypto Currency with Anonymous Blockchain Transactions and an Improved Proof of Work System
Darkcoin: Peer to Peer Crypto Currency with Anonymous Blockchain Transactions and an Improved Proof of Work System Introduction Evan Duffield, Kyle Hagan (evan@darkcoin.io, kyle@darkcoin.io) 18 March 2014
More informationAbout cryptocurrencies and blockchains part 1. Jyväskylä 17th of April 2018 Henri Heinonen
About cryptocurrencies and blockchains part 1 Jyväskylä 17th of April 2018 Henri Heinonen (henri.t.heinonen@jyu.fi) What is a blockchain? BitTorrent is a famous example of a peer-to-peer network (P2P)
More informationDistributed Ledger Technology & Fintech Applications. Hart Montgomery, NFIC 2017
Distributed Ledger Technology & Fintech Applications Hart Montgomery, NFIC 2017 Let s consider a common scenario: Banks want to trade some asset class Participants in the market want to be able to efficiently
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 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 informationSecurity: Focus of Control
Security: Focus of Control Three approaches for protection against security threats a) Protection against invalid operations b) Protection against unauthorized invocations c) Protection against unauthorized
More informationCRUDE COINS. https://crudecoins.net
CRUDE COINS https://crudecoins.net In this whitepaper we have presented Crude Coins is a brand new technology for securely transferring money between anonymous peers. Introduction: Launch story: CrudeCoins
More informationReliability, distributed consensus and blockchain COSC412
Reliability, distributed consensus and blockchain COSC412 Learning objectives Encourage you to always design for failure Appreciate how decentralised consensus is useful to support principles of security
More informationUsing Chains for what They re Good For
Using Chains for what They re Good For Andrew Poelstra usingchainsfor@wpsoftware.net Scaling Bitcoin, November 5, 2017 1 / 14 On-Chain Smart Contracting Bitcoin (and Ethereum, etc.) uses a scripting language
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 informationThe Blockchain. Josh Vorick
The Blockchain Josh Vorick Bitcoin is a currency. Blockchain is a technology. What is a blockchain? A decentralized database that anyone can add to and no one can delete from The Bitcoin blockchain Agenda
More informationCS 251: Bitcoin and Crypto Currencies Fall 2015
CS 251: Bitcoin and Crypto Currencies Fall 2015 Final Exam The exam is open book and open notes. You have 2 hours. Please answer all five questions. All questions are weighted equally. You may use course
More informationBlockchain! What consultants should know about it. Daniel
Blockchain! What consultants should know about it. Daniel Karzel @ Workshop Overview Quick overview of what is planned for the workshop. What you get out of this workshop Workshop goals Understand what
More informationApplied cryptography
Applied cryptography Electronic Cash Andreas Hülsing 29 November 2016 1 / 61 Classical Cash - Life Cycle Mint produces money (coins / bank notes) Sent to bank User withdraws money (reduces account balance)
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 informationHyperledger fabric: towards scalable blockchain for business
Marko Vukolić, IBM Research - Zurich Hyperledger fabric: towards scalable blockchain for business Trust in Digital Life The Hague, Netherlands, June 17 2016 Blockchain shared, replicated, ledger Consensus
More informationGRADUBIQUE: AN ACADEMIC TRANSCRIPT DATABASE USING BLOCKCHAIN ARCHITECTURE
San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Fall 12-14-2018 GRADUBIQUE: AN ACADEMIC TRANSCRIPT DATABASE USING BLOCKCHAIN ARCHITECTURE Thinh Nguyen
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 informationprimechain building blockchains for a better world
primechain building blockchains for a better world The nuts and bolts of blockchain technology Rohas Nagpal, Primechain Technologies Pvt. Ltd. The nuts and bolts of blockchain technology Depending upon
More informationTable of contents. Technical Features. Our approach. Technical Overview. Stage 1 (Using Ethereum blockchain) Participants. Data Owner.
Table of contents Technical Features Our approach Technical Overview Stage 1 (Using Ethereum blockchain) Participants Data Owner Data Verifier Marketplace Data Buyer Creditor Data Platform Architecture
More informationDigital Currencies: Algorithms and Protocols
Digital Currencies: Algorithms and Protocols Élise Alfieri , Emmanuel Fleury LaBRI, Université de Bordeaux, France March 7, 2017 Alfieri, Fleury
More informationEthereum. Campbell R. Harvey* Duke University and NBER. Ashwin Ramachandran Duke University. Brent Xu ConsenSys. Innovation and Cryptoventures
Innovation and Cryptoventures Ethereum Campbell R. Harvey* Duke University and NBER Ashwin Ramachandran Duke University Brent Xu ConsenSys February 12, 2018 1 2 Overview Ethereum Basics Under the hood
More informationRadix - Tempo. Dan Hughes Abstract
Radix - Tempo Monday 25 t h September, 2017 Dan Hughes www.radix.global Abstract In this paper we present a novel method for implementing a Distributed Ledger that preserves total order of events allowing
More informationCryptography and Cryptocurrencies. Intro to Cryptography and Cryptocurrencies
Intro to Cryptographic Hash Functions Hash Pointers and Data Structures Block Chains Merkle Trees Digital Signatures Public Keys and Identities Let s design us some Digital Cash! Intro to Cryptographic
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 informationILCOIN White Paper. In ILCOIN We Trust ILCOIN
ILCOIN White Paper In ILCOIN We Trust ILCOIN ILCOIN Development Team September 2017 TABLE OF CONTENTS WHAT IS ILCOIN WE NEED THINGS THAT DRAW ON THE REVOLUTION OF BITCOIN, BUT BITCOIN ALONE IS NOT GOOD
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 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 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 informationThe power of Blockchain: Smart Contracts. Foteini Baldimtsi
The power of Blockchain: Smart Contracts Foteini Baldimtsi The Blockchain at the heart of a cryptocurrency Alice sends 2 John sends 1 Dave sends 5 to Bob to Eve to Alice Bob sends 1 Eve sends 4 to Dave
More informationRealization and Addressing Analysis In Blockchain Bitcoin
IOP Conference Series: Materials Science and Engineering PAPER OPEN ACCESS Realization and Addressing Analysis In Blockchain Bitcoin To cite this article: Raja Sakti Arief Daulay et al 2017 IOP Conf. Ser.:
More informationYada. A blockchain-based social graph
Yada A blockchain-based social graph January 2018 Abstract The goal of Yada is to achieve an acceptable level anonymity, privacy, and freedom of expression while making available to the public a structure
More information