Cardano Transaction Fees

Size: px
Start display at page:

Download "Cardano Transaction Fees"

Transcription

1 Cardano Transaction Fees Lars Brünjes May Introduction From the point of view of us, the creators of Cardano, we have two motivations for fees: Prevention of DDoS (distributed denial of service) attacks by making it prohibitively expensive for an attacker to spam the network with thousands of transactions. Providing incentives to slot leaders and input endorsers (see [3, 5.4]) to be online when the protocol requires them to be and to do their best to make the system run efficiently. These two items align nicely with the technical point of view of two degrees of freedom for the system: It can either lose a transaction or delay it, thus influencing the Q 1 of the system. This suggests that there should be two components to fees: A minimum fee for each transaction (which can be computed using the ideas from my document, looking at things like the transaction size and the past of the blockchain) and premium fees for better service. In order to prevent DDoS attacks, it will not be enough to use fees to prevent excessive block size growth, because even if spam transactions are prevented from getting into a block, they could still clog the network and/or the mempools. Therefore, fees should not only be considered when accepting a transaction into an endorsed input, but also when accepting a transaction into a mempool (and then relaying it to other nodes). Note that minimum fees must be non-zero in order to prevent DDoS attacks. Note also that minimum fees by themselves are not sufficient to prevent DDoS attacks in addition we need an explicit maximum lifetime of transactions, to guard against unintended flaws in the system (no system is perfect... ). 1 The term Q denotes the improper probability distribution of transaction processing times in the system, where improper refers to the fact that probabilities do not necessarily sum up to 1, allowing for the possibility of lost transactions 1

2 Such a maximum lifetime has the additional benefit of preventing transactions from getting stuck in the system forever without ever being included into a block. This could for example happen if the minimum fee level of the system rises, so that input endorsers always prefer newer transactions with higher fees and never include the old transaction with its lower fees into any block they create. The relation between the two degrees of freedom of the system and minimumand premium fees is that transactions whose fees are below the minimum get lost/ dropped from the system, and transactions with premium fees get better service / less delay, i.e. nodes do their best to get them into the blockchain quickly. Nodes will not relay transactions with insufficient fees, and slot leaders will try to maximize the amount of fees contained in the blocks they build. In addition to that, nodes will also try relaying transactions containing higher fees quicker. How nodes actually do that is an implementation detail. They could for example relay premium transactions to more of their peers. Our hope is that it will be an emergent property of the system that fees incentivize nodes to increase efficiency, throughput and performance. Note that there is a relation between the minimum fees and the maximum lifetime of a transaction: The minimum fees should be calculated in such a way that they are low enough to guarantee inclusion into the blockchain during the transaction s lifetime with a fixed, high probability. 2 How fees work technically Let us briefly review how fees work technically: A transaction contains a list of inputs and a list of outputs (where the inputs are normally outputs from previous transactions). The sum of amounts in the inputs must never be smaller than the sum of amounts in the outputs. It may be bigger, though, and the difference by definition is the transaction fee. Distribution of fees works as follows: All transactions in all blocks of a certain period (an epoch!?) are examined for their fees, and all of those fees are added up and put into a virtual pool. This pool is then divided equally (see 5.4 for details) between the slot leaders of that period. Note that in the Ouroboros paper [3], there is also the concept of input endorsers, who will also get part of the fee pool, but in the first iteration of Cardano, we will not have input endorsers their job is done by the slot leaders. How do the slot leaders actually get their share of the fee pool? This is implicit: There will be a new type of transaction input, which references a period (epoch) and which the slot leaders can use as input for their transactions. Every participant can check whether they are actually entitled to use that input by inspecting the blocks of that period and doing the fee calculation. 2

3 3 Refunds An exciting novel idea 2 is to give a refund on premium fees if premium service was not provided. This refund should depend smoothly on the premium paid and on the lateness of service. The difference between paid fee and refund may be allowed to drop below the minimum fee, but it must never be allowed to drop to zero. The beautiful thing here is that we think this can actually be done on a technical, system level, thus building ethics into the system : When calculating the transaction pool, each participant of the system can compare fees, issue dates and block creation dates to see whether a premium was paid and whether the transaction was included into a block swiftly enough. Thus one can subtract premium fees from the fee pool in case of delayed service, and only distribute the rest amongst the slot leaders. Even better, one can use the same mechanism as for the slot leaders (special input type which references the period/epoch) to allow transaction submitters to claim their refund. No transactions need to be created for this, refunds will just work implicitly by inspecting the data. 4 How other cryptocurrencies handle it 4.1 Bitcoin When building a block, the fee rate (in BTC/kB) of all available transactions is considered. Transactions with a fee rate below BTC/kB are dropped, the others are added to the block in decreasing order of fee rate until the maximum block size of 750 kb has been reached [1]. 4.2 Ethereum Classic Each transaction specifies a maximum number of gas and a maximum price for gas. Miners can decide freely whether they want to accept a transaction or not. If they do, they will execute the transaction and charge fees depending on the number of execution steps, provided those fees do not exceed the limits specified in the transaction [2]. 4.3 Litecoin The minimum transaction fee is LTC/kB, where the size of a transaction is rounded up to the next kb. Additionally, there is a penalty of LTC for each transaction output of less than LTC [4]. 2 Thank you, Neil Davies, for this excellent idea! 3

4 4.4 Monero It seems that transaction fees work similarly to Bitcoin (see 4.1), because they depend on transaction priority and size. However, in contrast to Bitcoin, there is no maximum block size in Monero, so that transactions are not competing with each other for inclusion in the next block [5]. 4.5 NEM The fee for a transaction is 0.1 % of the transaction amount [6]. 4.6 Ripple In Ripple, transaction fees are not paid to anybody, but instead burnt, thus decreasing the total amount of coins in the system on each transaction. There is a minimum transaction fee of XRP for standard transactions (the minimum fee is higher for non-standard transactions). Each Ripple node calculates a Load Cost, which depends on the current server load. If a transaction includes fees that are below this Load Cost, the node will reject the transaction and not propagate it to other nodes. Furthermore, there is an Open Ledger Cost, which equals the minimum fee, as long as the number of transactions included in the current block stays below an (adaptively changing) threshold. Once the threshold is reached, fees increase exponentially. If a transaction s fees are below the Open Ledge Cost, the transaction will not be included in the block. In that case, the node decides heuristically whether to reject or keep the transaction, based on the transaction s chances of being included in a later block [7]. 5 Mathematical Model 5.1 Notation and Definitions Definition 5.1. We will use the following notations: 1. Let N be the set of nodes in the system. 2. Let C be the set of all possible blockchains, i.e. the set of consistent, valid blocks starting at the genesis block g. 3. Let B g be the set of (potential) blocks, where a block consists of zero or more (but usually one) endorsed inputs. We have a function i : B N, which gives the slot in which a block was issued (note that i(g) = 0), and we have a function C P(B), c B c, mapping a chain to the contained blocks. 4

5 4. For c C and t, t N, let B c [t,t ] := { b B c t i(b) t } be the set of blocks from c issued between slots t and t. 5. Let I the set of (potential) (endorsed) inputs, where an input contains of an ordered collection of transactions. We have a function i : I N, which gives the slot in which an input was issued, and we have a function B P(I), b I b, mapping a block to the contained inputs. Note that b B : i I b : i(i) i(b). 6. For t N, let C t C be the subset of chains that contain blocks issued not later than in slot t: Note that we obviously have C t := { c C i(b c ) {0... t} }. C = t N C t. We also define C t for t < 0 by setting it to {{g}} in that case. With this extension, we still have C = t Z C t. 7. For N t t, we have a map C t C t, c c t := { b B c i(b) t }, induced by restricting chains to blocks that have been issued at slot t or earlier. We extend this map to t < 0 by setting c t := {g} in that case. 8. For n N and t N, let C n t C t be the blockchain actually observed by node n at slot t. 9. Let T be the set of (potential) transactions. We have maps s : T N, c : T [1, ), f : T (0, ) and i : T N, which give a transactions s size (in bytes), complexity (in multiples of the simplest possible transaction), contained fees (in ADA) and the slot it was issued in, respectively. 10. For t N, let T t := {tx T i(tx) = t} be the set of transaction issued in slot t. We then have T = t N T t. 5

6 11. For i I, let T i T i(b) be the set of transactions contained in i, and for b B, let T b T i(b) be the set of transactions contained in b. Note that T b i I b T i, but that this in general will not be an equality, because there may be conflicting transactions in the inputs of a block, in which case only the lexicographically first transaction counts as being in the block. 5.2 Minimum Fees Functions First of all, we need a function to calculate the minimum fees for a given transaction. Such a function should be allowed to depend on the blockchain, but it should also be computable by each node (which only sees its own, individual version of the blockchain). Definition 5.2. For N, define the set CT := t N C t T t, and consider the family of functions { } MF := mf : CT (0, ). Intuitively, a function in MF can look at the transaction and at the blockchain blocks in the past to determine the minimum transaction fees. For such a function mf MF and a node n N, define by mf n : T (0, ) mf n (tx) := mf(c n i(tx) i(tx), tx). (5.1) (Thus to evaluate mf n, node n looks at its local version of the blockchain, truncates it to slots before the transaction was issued, and then applies mf.) Remark 5.3. Note that mf n is computable by n, because it only uses data available to the node, namely the local blockchain and the transaction, as input. Note also that strictly speaking mf n is only well-defined for slots t which are not in the future, but we ignore this issue, because future transactions are by definition invalid and will be rejected and never processed further. Theorem 5.4. Let 0 be sufficiently large, let mf MF, let n, n N be nodes, and let tx T be a transaction. Then with high probability mf n (tx) = mf n (tx). 6

7 Proof. Because 0, the Common Prefix property of the system implies with high probability that C n t t = C n t t, and the desired equality follows from definition 5.2. In light of theorem 5.4, functions mf from the set MF (for sufficiently large ) and the induced local functions {mf n } n N are the right candidates for defining minimal fees functions that exhibit the properties we expect of such functions: They are sufficiently rich by being able to evaluate the blockchain, but they can also be independently computed locally by each node. To make such functions more tractable, we will consider a subset of MF : Definition 5.5. For N, let MF MF be the subset of functions mf that factorize as follows: 1 (s,c) CT C N (1, ) mf mf (0, ) (5.2) Those are functions which only look at a transaction s size and complexity (and at the blockchain) to determine the minimum fees. The set MF contains very interesting and highly sophisticated functions that use complex economical models and moving averages, but there are also very simple functions there: Definition 5.6. Let m (0, ) be a price per byte in ADA, and let mf m MF (for all ) be defined by mf m (c, s, x) := m s, which completely ignores the blockchain and transaction complexity, and which induces mf m : T (0, ), tx m s(tx). Picking a function from the family {mf m } m (0, ) as minimum fees function could be a good, pragmatic starting point for the first phase of Cardano. Definition 5.7. Minimum fee functions become more interesting when they actually do look at the blockchain (from slots in the past): 1. Let M be the following set of functions: M := { f : [0, 1] [1, ) f is monotonically increasing } 7

8 2. For a chain c C and slots t, t N, define 1 if B c [t,t ] = s c [t,t ] := b B c [t,t min 1, tx T s(tx) ] b, s max #B c otherwise [t,t ] where s max is the maximum input size. So s c [t,t ] [0, 1] is the ratio of actual block size to maximum block size in time interval [t, t ]. Note that we are taking the minimum, because it is sometimes possible for there to be more inputs than blocks. 3. Let δ, N, let m M, and let mf MF. Then we define a modified minimum fees function mf δ,m MF by ( ) mf δ,m (c, tx) := m s c [i(tx) δ,i(tx) ] mf(c, tx). This means that the block size ratio of a sliding time window of δ slots is used to modify the underlying fees function, increasing fees when that ratio was high. The more complicated minimum fees functions defined in definition 5.7 add a dynamic aspect to fee calculation, allowing fees to dynamically adapt to fluctuating block sizes. 5.3 Node Policies From now on, let us fix a sufficiently large 0 and a minimum fees function mf MF. By definition 5.2 and theorem 5.4, we get induced local functions { mf n : T (0, ) } n N, which agree on any given transaction with very high probability. Definition 5.8. For a node n N, let T n valid := { tx T f(tx) mf n (tx) } be the subset of valid transactions, i.e. the subset of those transactions whose included fee is at least as high as the minimum fee given by mf n. We call a transaction tx n-valid iff tx T n valid. Remark 5.9. Note that theorem 5.4 implies that for n, n N and tx T, transaction tx is n-valid if and only if it is n -valid with high probability. We are now ready to formulate our first policy, which all nodes should enforce: 8

9 Policy Honest nodes n should only accept and relay n-valid transactions, and they should only accept blocks in which all transactions are n-valid. This policy will (hopefully) prevent DDoS attacks by ensuring that transactions with insufficient fees will not be included in mempools, will not be relayed to other nodes and will not be written into the blockchain. Remark Note, however, that policy 5.10 may not be enough to prevent mempools from growing too fast. To prevent transactions from being trapped in the mempools for a long time without ever being incorporated into a block, we should consider an additional policy of removing a transaction from the mempools when it is older than a given number of slots. To address our second reason for introducing transaction fees, namely giving incentives to input endorsers, we pick a maximum input size and additionally propose the following policy: Policy When building an (endorsed) input, node n should choose the input amongst the set of all valid inputs which maximizes the sum of transaction fees contained in the input, while keeping the sum of transaction sizes below the maximum input size. Note that a valid input in policy 5.12 is in particular valid in the sense of policy 5.10, i.e. all contained transactions will contain at least the minimum fees. Remark Policy 5.12 is only a first approximation to maximizing a slotleader s and input endorser s profit, because it considers only the transaction fees they gain, but ignores the costs (which are incurred by costs for resources like memory and CPU time). Therefore, instead of choosing the input that maximizes transaction fees, it would be more accurate to instead maximize the difference between transaction fees and costs. If at some later time, we will develop a good model for the costs associated with a transaction, we will be able to take those costs into account and refine the policy accordingly. Remark It may be computationally impractical to efficiently calculate the maximum in policy Instead, a node n can try to approximate that maximum, for example using the following greedy heuristic. Algorithm Let n be a node and M n s mempool, containing only n- valid transactions (by policy 5.10). Then an input B, which approximates the maximum-fee input from policy 5.12, can be constructed as follows: I {} loop C {tx M tx could be added to I} if C = {} then return I else 9

10 c arg max tx C I I {c} M M \ {c} end if end loop f(tx) s(tx) Remark Note that we cannot simply sort all transactions in the mempool by descending order of fees per size ratio and then keep adding transactions to the input until we reach the maximum input size, because there may be precursor relations between inputs in the mempool, i.e. transactions that use the output of another transaction in the mempool as transaction input. 5.4 Fee Distribution Now that we have determined ways to calculate minimum fees for transactions and policies regarding relay of transactions and building endorsed inputs, it remains to clarify how to actually distribute fees amongst stakeholders. We propose to follow the method described in [3, 7]: Let c C be the blockchain, and consider an epoch [t, t := t + d 1] N with slot leaders L 1,..., L d, blocks B := B c [t,t ], endorsed inputs I := b B Ib, input endorsers E 1,..., E r who contributed at least one input from I and total fees F := b B tx T f(tx). b Then each stakeholder U can claim ( { } # j {1... r} U = E j + #{ j {1... d} }) U = L j F. (5.3) 2r 2d. Note that at a later point, (5.3) can be replaced by a more sophisticated distribution scheme which for example rewards input endorsers for endorsing more valuable transactions, which punishes slot leaders that did not actually create a block, or which rewards other stakeholders like the participants in the coin-tossing protocol as well. We must however be careful to ensure that [3, Proposition 7.1] still holds, at least if we do not want to give up the game-theoretic guarantees provided by that proposition. 10

11 6 Haskell Implementation In this section, we want to look at a simple Haskell implementation of the ideas discussed in section 5. It favours simplicity over efficiency. We define some type synonyms... type Size = Int type Complexity = Double type Ada = Int type Slot = Int... and a simple typeclass for things that know in which slot they have been created : class HasSlot a where slot :: a Slot Now we define a type class BCS a for an abstract blockchain system. For the time being, this will just contain the methods that we need to write down the algorithms from section 5. An instance of the class will have three associated types, Tx a for transactions, Input a for endorsed inputs and Block a for blocks. class (HasSlot (Tx a), HasSlot (Input a), HasSlot (Block a), Eq (Tx a), Eq (Input a), Eq (Block a) ) BCS a where data Tx a :: data Input a :: data Block a :: previousblock :: Block a Maybe (Block a) genesis :: Block a emptyinput :: Slot Input a transactionsi :: Input a [Tx a ] transactionsb :: Block a [Tx a ] inputs :: Block a [input a ] wellformed :: Tx a Bool size :: Tx a Size fees :: Tx a Ada complexity :: Tx a Complexity tryadd :: Input a Tx a Maybe (Input a) 11

12 Function previousblock returns Just the block previous to this one in the blockchain (or Nothing in the case of the genesis block), emptyinput creates an empty input in the specified slot, transactionsi gives the transactions contained in an input, transactionsb gives those contained in a block (see 5.1(11)), inputs gives the inputs contained in a block, wellformed checks whether a transaction is well-formed (has the required signatures etc.), and tryadd tries to add the transaction to the input and returns Just the resulting input or Nothing if the transaction can not be added (for example because of insufficient input or because the resulting input size would be too large). We define type synonyms for mempools and blockchains: type Mempool a = [Tx a ] type Chain a = Block a In our implementation, a (block-)chain has the same datatype as a block, where the chain given by a block is simply the path from the block back to the genesis block (using previousblock). We can easily define function c B c from definition 5.1(3), which gives the blocks contained in a chain: blocks :: BCS a Chain a [Block a ] blocks c = case previousblock c of Nothing [c ] Just c c : blocks c And for a chain c and slots t and t, we can compute B c [t,t ] from definition 5.1(4): blocksslots :: BCS a Chain a Slot Slot [Block a ] blocksslots chain t t = filter intime $ blocks chain where intime block = let i = slot block in t i i t Now that these preliminary definitions are out of the way, we can start implementing some of the things we discussed in section 5. Let us start with the restriction function c c t from definition 5.1(7): restrictchain :: BCS a Slot Chain a Chain a restrictchain s c c genesis slot c s = c otherwise = restrictchain s $ fromjust $ previousblock c We define the type MF of minimum fees functions from definition 5.2 that look at the blockchain blocks in the past (note that is not visible in the type). We also define the corresponding function mf n from (5.1), which takes such a minimal fees function,, the current blockchain and a transaction and returns the minimal fees for that transaction: 12

13 type MF a = Chain a Tx a Ada mfn :: BCS a MF a Slot Chain a Tx a Ada mfn f delta chain tx = f (restrictchain (slot tx delta) chain) tx For a minimum price per byte m, we can also define the simple function mf m MF from definition 5.6: mfm :: BCS a Ada MF a mfm m = (m ) size Let us now turn to the dynamic fee functions from definition 5.7! type M = Double Double ratio :: BCS a Size Chain a Slot Slot Double ratio maxsize chain t t = case blocksslots chain t t of [ ] 1 bs min 1 $ fromintegral (sum [size tx b bs, tx transactionsb b ])/ fromintegral (maxsize length bs) dynamic :: BCS a Size M Slot Slot MF a MF a dynamic maxsize m del delta mf chain tx = let t = slot tx delta t = t del in round $ m (ratio maxsize chain t t ) fromintegral (mf chain tx) Type M is used for functions from M (definition 5.7(1)), ratio calculates the ratio s c [t,t ] from definition 5.7(2), and dynamic gives us the dynamic modification mf δ,m from definition 5.7(3). The validity of a transaction from the point of view of a node (see definition 5.8) is determined by the following Haskell predicate: isvalidtx :: BCS a MF a Slot Chain a Tx a Bool isvalidtx f delta chain tx = wellformed tx fees tx mfn f delta chain tx Function isvalid allows us to implement policy For policy 5.12, we can now implement algorithm 5.15 in Haskell: createinput :: forall a BCS a Slot Mempool a Input a createinput sl = go (emptyinput sl) where go :: Input a [Tx a ] Input a go input pool = case candidates input pool of [ ] input 13

14 cs let c = maximumby (comparing feesperbyte) cs cs = filter ( c) cs in go (fromjust $ tryadd input c) cs candidates :: Input a [Tx a ] [Tx a ] candidates b = filter (isjust tryadd b) feesperbyte :: Tx a Double feesperbyte tx = fromintegral (fees tx) / fromintegral (size tx) Function createinput takes the current slot and the mempool as input and creates an approximately optimal input. 7 Open Questions How do we pragmatically start with this? We probably do not need premium fees and refunds at first, but we definitely do need minimum fees and an explicit finite transaction lifetime. How simple can the formular for the calculation of minimum fees be? Are minimum fees that are proportional to the transaction size enough for the first iteration? What is the incentive for nodes, which are not slot leaders, to actually give better service to transactions with high fees? (For that matter, what is the incentive for such nodes to follow the protocol anyway?) Does the theorem about the approximate Nash equilibrium [3, Proposition 7.1] still hold in the presence of premium fees and refunds? (It should, because refunds can just be looked at as resulting in a smaller pool, so the proof should still work.) How to prevent transaction submitters from lieing about the issue date? If a node sees a transaction with transaction date in the future, it can drop the transaction, but if it sees a transaction with a past date, it does not know for how long the transaction has really been in the system... References [1] Bitcoin Transaction fees. fees. Accessed: [2] Ethereum Classic Account Types, Gas, and Transactions. contracts-and-transactions/account-types-gas-and-transactions. html. Accessed:

15 [3] Aggelos Kiayias, Alexander Russell, Bernardo David, and Roman Oliynykov. Ouroboros: A provably secure proof-of-stake blockchain protocol. Cryptology eprint Archive, Report 2016/889, /889. [4] Litecoin Transaction fees. Accessed: [5] How much are Monero transactions? monero-transaction-fees. Accessed: [6] NEM a Pol cryptocurrency. Accessed: [7] Ripple Transaction Cost. transaction-cost/. Accessed:

Formally Specifying Blockchain Protocols

Formally 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 information

Alternative Consensus Algorithms. Murat Osmanoglu

Alternative 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 information

CONSENSUS PROTOCOLS & BLOCKCHAINS. Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente)

CONSENSUS PROTOCOLS & BLOCKCHAINS. Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente) CONSENSUS PROTOCOLS & BLOCKCHAINS Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente) 2 Consensus protocols & blockchain 3 Consensus protocols & blockchain 4 Consensus protocols

More information

How Bitcoin achieves Decentralization. How Bitcoin achieves Decentralization

How 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 information

ENEE 457: E-Cash and Bitcoin

ENEE 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 information

OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS

OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS PROOF-OF-STAKE BLOCKCHAIN Bernardo David Tokyo Tech & IOHK Peter Gaži IOHK Aggelos Kiayias U. Edinburgh & IOHK Eurocrypt 2018 Alexander Russell U.

More information

On 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 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 information

Proof of Stake Made Simple with Casper

Proof of Stake Made Simple with Casper Proof of Stake Made Simple with Casper Olivier Moindrot ICME, Stanford University olivierm@stanford.edu Charles Bournhonesque ICME, Stanford University cbournho@stanford.edu Abstract We study the recent

More information

Chapter 13. Digital Cash. Information Security/System Security p. 570/626

Chapter 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 information

Incentives and Trade-offs in Transaction Selection in DAG-based Protocols. Yonatan Sompolinsky and Yoad Lewenberg Scaling Bitcoin, Stanford

Incentives and Trade-offs in Transaction Selection in DAG-based Protocols. Yonatan Sompolinsky and Yoad Lewenberg Scaling Bitcoin, Stanford Incentives and Trade-offs in Transaction Selection in DAG-based Protocols Yonatan Sompolinsky and Yoad Lewenberg Scaling Bitcoin, Stanford Background Directed Acyclic Graph of blocks (blockdag) Inclusive

More information

Security Analysis of Bitcoin. Dibyojyoti Mukherjee Jaswant Katragadda Yashwant Gazula

Security 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 information

Radix - Public Node Incentives

Radix - 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 information

hard to perform, easy to verify

hard to perform, easy to verify Proof of Stake The Role of PoW Bitcoin, Ethereum and similar systems are open, permissionless networks Anyone can participate The system must agree on some canonical order of transactions Think of this

More information

Computer Security. 14. Blockchain & Bitcoin. Paul Krzyzanowski. Rutgers University. Spring 2019

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 information

Introduction to Cryptoeconomics

Introduction 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 information

A Lightweight Blockchain Consensus Protocol

A 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 information

Algorand: Scaling Byzantine Agreements for Cryptocurrencies

Algorand: Scaling Byzantine Agreements for Cryptocurrencies Algorand: Scaling Byzantine Agreements for Cryptocurrencies Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, Nickolai Zeldovich Presented by: Preet Patel and Umang Lathia Outline Overview of Distributed

More information

Bitcoin and Blockchain

Bitcoin 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 information

BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April

BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April 2018 @storecoin What are the most desirable features in a blockchain? Scalability (throughput) and decentralization (censorship resistance),

More information

Lecture 3. Introduction to Cryptocurrencies

Lecture 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 information

What is Proof of Work?

What 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 information

Welfare Navigation Using Genetic Algorithm

Welfare Navigation Using Genetic Algorithm Welfare Navigation Using Genetic Algorithm David Erukhimovich and Yoel Zeldes Hebrew University of Jerusalem AI course final project Abstract Using standard navigation algorithms and applications (such

More information

Candidates Day Modeling the Energy Consumption of. Ryan Cole Liang Cheng. CSE Department Lehigh University

Candidates Day Modeling the Energy Consumption of. Ryan Cole Liang Cheng. CSE Department Lehigh University Candidates Day 2016 Modeling the Energy Consumption of Blockchain Consensus Algorithms Daniel Lopresti, Interim Dean P.C. Rossin College of Engineering and Applied Science July 30, April 15,2018 2016 Ryan

More information

SmartPool: practical decentralized pool mining. Loi Luu, Yaron Velner, Jason Teutsch, and Prateek Saxena August 18, 2017

SmartPool: practical decentralized pool mining. Loi Luu, Yaron Velner, Jason Teutsch, and Prateek Saxena August 18, 2017 SmartPool: practical decentralized pool mining Loi Luu, Yaron Velner, Jason Teutsch, and Prateek Saxena August 18, 2017 Mining pools Miners role in cryptocurrencies Definition: A cryptocurrency is a decentralized

More information

Lecture 12. Algorand

Lecture 12. Algorand Lecture 12 Algorand Proof-of-Stake Virtual Mining Proof of Stake Bitcoin uses proof of work to address sybil attacks and implement consensus Philosophy: Chance of winning in a block mining round proportional

More information

Overview & White Paper.

Overview & White Paper. Overview & White Paper www.phantomx.co CONTENT 2. Introduction 7. Scalability and Network 3. Summary 3. About PhantomX 3. Our mission 4. The team behind PhantomX 5. Specification 8. Proof-of-Work 9. Proof-of-Stake

More information

Prices and Auctions in Markets with Complex Constraints

Prices and Auctions in Markets with Complex Constraints Conference on Frontiers of Economics and Computer Science Becker-Friedman Institute Prices and Auctions in Markets with Complex Constraints Paul Milgrom Stanford University & Auctionomics August 2016 1

More information

Whitepaper Rcoin Global

Whitepaper 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 information

Ergo platform. Dmitry Meshkov

Ergo platform. Dmitry Meshkov Ergo platform Dmitry Meshkov Prehistory Motivation Theory Practice Provably secure 1000 currencies New features Ad-hoc solutions Impractical Security issues Motivation Theory Provably secure New features

More information

Optimization I : Brute force and Greedy strategy

Optimization I : Brute force and Greedy strategy Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean

More information

CCP: Conflicts Check Protocol for Bitcoin Block Security 1

CCP: Conflicts Check Protocol for Bitcoin Block Security 1 CCP: Conflicts Check Protocol for Bitcoin Block Security Chen Yang Peking University, China yc900@pku.edu.cn Abstract In this work, we present our early stage results on a Conflicts Check Protocol (CCP)

More information

Blockchains & Cryptocurrencies

Blockchains & 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 information

CS 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 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 information

Decentralized prediction game platform, powered by public

Decentralized 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 information

Introduction to Cryptocurrency Ecosystem. By Raj Thimmiah

Introduction 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 information

Blockchain, Cryptocurrency, Smart Contracts and Initial Coin Offerings: A Technical Perspective

Blockchain, Cryptocurrency, Smart Contracts and Initial Coin Offerings: A Technical Perspective SESSION ID: LAB3-R09 Blockchain, Cryptocurrency, Smart Contracts and Initial Coin Offerings: A Technical Perspective Tom Plunkett Consulting Solutions Director Oracle Captain Brittany Snelgrove United

More information

Lecture 16. Today: Start looking into memory hierarchy Cache$! Yay!

Lecture 16. Today: Start looking into memory hierarchy Cache$! Yay! Lecture 16 Today: Start looking into memory hierarchy Cache$! Yay! Note: There are no slides labeled Lecture 15. Nothing omitted, just that the numbering got out of sequence somewhere along the way. 1

More information

Consensus & Blockchain

Consensus & 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 information

Sustainable Computing: Informatics and Systems 00 (2014) Huangxin Wang

Sustainable Computing: Informatics and Systems 00 (2014) Huangxin Wang Sustainable Computing: Informatics and Systems 00 (2014) 1 17 Sustainable Computing Worst-Case Performance Guarantees of Scheduling Algorithms Maximizing Weighted Throughput in Energy-Harvesting Networks

More information

Sharding. Making blockchains scalable, decentralized and secure.

Sharding. Making blockchains scalable, decentralized and secure. Sharding Making blockchains scalable, decentralized and secure. The Scalability Triangle Scalability Decentralization Semi-formally defining these properties Assume the total computational/bandwidth capacity

More information

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents E-Companion: On Styles in Product Design: An Analysis of US Design Patents 1 PART A: FORMALIZING THE DEFINITION OF STYLES A.1 Styles as categories of designs of similar form Our task involves categorizing

More information

Greedy algorithms is another useful way for solving optimization problems.

Greedy algorithms is another useful way for solving optimization problems. Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These

More information

Technical 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 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 information

Bitcoin. CS6450: Distributed Systems Lecture 20 Ryan Stutsman

Bitcoin. 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 information

Greedy Algorithms CLRS Laura Toma, csci2200, Bowdoin College

Greedy Algorithms CLRS Laura Toma, csci2200, Bowdoin College Greedy Algorithms CLRS 16.1-16.2 Laura Toma, csci2200, Bowdoin College Overview. Sometimes we can solve optimization problems with a technique called greedy. A greedy algorithm picks the option that looks

More information

CS224W: Analysis of Networks Jure Leskovec, Stanford University

CS224W: Analysis of Networks Jure Leskovec, Stanford University HW2 Q1.1 parts (b) and (c) cancelled. HW3 released. It is long. Start early. CS224W: Analysis of Networks Jure Leskovec, Stanford University http://cs224w.stanford.edu 10/26/17 Jure Leskovec, Stanford

More information

Problem: Equivocation!

Problem: 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 information

Hyperledger fabric: towards scalable blockchain for business

Hyperledger 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 information

SpaceMint Overcoming Bitcoin s waste of energy

SpaceMint 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 information

CS 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 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 information

Proof-of-Work & Bitcoin

Proof-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 information

I. Introduction. II. Security, Coinage and Attacks

I. 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 information

Blockchain. CS 240: Computing Systems and Concurrency Lecture 20. Marco Canini

Blockchain. 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 information

CS 251: Bitcoin and Crypto Currencies Fall 2015

CS 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 information

A Scalable Proof-of-Stake Blockchain in the Open Setting

A Scalable Proof-of-Stake Blockchain in the Open Setting A Scalable Proof-of-Stake Blockchain in the Open Setting (or, How to Mimic Nakamoto s Design via Proof-of-Stake) Lei Fan Shanghai Jiao Tong University fanlei@sjtu.edu.cn Hong-Sheng Zhou Virginia Commonwealth

More information

Hybrid Consensus. Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin 1/65

Hybrid Consensus. Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin 1/65 Hybrid Consensus Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin Hybrid Consensus: Efficient Consensus in the Permissionless Model, 2017, Rafael Pass and Elaine Shi CornellTech, Cornell, Initiative

More information

SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains

SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek Saxena National University of Singapore Bitcoin

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

Hijacking Bitcoin: Routing Attacks on Cryptocurrencies

Hijacking 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 information

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras (Refer Slide Time: 00:17) Lecture No - 10 Hill Climbing So, we were looking

More information

Alternatives to Blockchains. Sarah Meiklejohn (University College London)

Alternatives to Blockchains. Sarah Meiklejohn (University College London) Alternatives to Blockchains Sarah Meiklejohn (University College London) fully decentralized cryptocurrencies 2 fully decentralized cryptocurrencies tx tx(addra addrb) 2 fully decentralized cryptocurrencies

More information

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}. Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Transactions as Proof-of-Stake! by Daniel Larimer!

Transactions 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 information

Enhanced Immutability of Permissioned Blockchain Networks by Tethering Provenance with a Public Blockchain Network

Enhanced Immutability of Permissioned Blockchain Networks by Tethering Provenance with a Public Blockchain Network Enhanced Immutability of Permissioned Blockchain Networks by Tethering Provenance with a Public Blockchain Network Abstract Azeem Ahmed (azeem.ahmed@consensys.net) Jim Zhang (jim.zhang@consensys.net) Permissioned

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

Burstcoin Technical information about mining and block forging

Burstcoin 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 information

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion Today s video will talk about an important concept in computer science which is

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Group Strategyproof Mechanisms via Primal-Dual Algorithms. Key Points to Discuss

Group Strategyproof Mechanisms via Primal-Dual Algorithms. Key Points to Discuss Group Strategyproof Mechanisms via Primal-Dual Algorithms Martin Pál and Éva Tardos (2003) Key Points to Discuss The Cost-Sharing Problem Metric Facility Location Single Source Rent-or-Buy Definition of

More information

Worst-case Ethernet Network Latency for Shaped Sources

Worst-case Ethernet Network Latency for Shaped Sources Worst-case Ethernet Network Latency for Shaped Sources Max Azarov, SMSC 7th October 2005 Contents For 802.3 ResE study group 1 Worst-case latency theorem 1 1.1 Assumptions.............................

More information

Proof-of-Stake Protocol v3.0

Proof-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 information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Adapting Blockchain Technology for Scientific Computing. Wei Li

Adapting Blockchain Technology for Scientific Computing. Wei Li Adapting Blockchain Technology for Scientific Computing Wei Li weili@weililab.org Abstract Blockchain stores information into a chain of s, whose integrity is usually guaranteed by Proof of Work (PoW).

More information

BLOCKCHAIN Blockchains and Transactions Part II A Deeper Dive

BLOCKCHAIN 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 information

In the real world, light sources emit light particles, which travel in space, reflect at objects or scatter in volumetric media (potentially multiple

In the real world, light sources emit light particles, which travel in space, reflect at objects or scatter in volumetric media (potentially multiple 1 In the real world, light sources emit light particles, which travel in space, reflect at objects or scatter in volumetric media (potentially multiple times) until they are absorbed. On their way, they

More information

Ergo platform: from prototypes to a survivable cryptocurrency

Ergo 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 information

GENESIS VISION NETWORK

GENESIS 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 information

TOPPERCASH TOPPERCASH WHITEPAPER REFORM THE BEST OF BLOCKCHAIN

TOPPERCASH 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 information

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

More information

Formal Expression of BBc-1 Mechanism and Its Security Analysis

Formal Expression of BBc-1 Mechanism and Its Security Analysis Formal Expression of BBc-1 Mechanism and Its Security Analysis Jun KURIHARA and Takeshi KUBO kurihara@ieee.org t-kubo@zettant.com October 31, 2017 1 Introduction Bitcoin and its core database/ledger technology

More information

NON-TECHNICAL WHITEPAPER Version 1.0

NON-TECHNICAL WHITEPAPER Version 1.0 NON-TECHNICAL WHITEPAPER Version 1.0 Abstract Decentralization in Cryptocurrency Standard blockchain environments contain many centralization vulnerabilities, such as monolithic development, consensus

More information

Ensimag - 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 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 information

14.1 Encoding for different models of computation

14.1 Encoding for different models of computation Lecture 14 Decidable languages In the previous lecture we discussed some examples of encoding schemes, through which various objects can be represented by strings over a given alphabet. We will begin this

More information

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017 COMPSCI 632: Approximation Algorithms August 30, 2017 Lecturer: Debmalya Panigrahi Lecture 2 Scribe: Nat Kell 1 Introduction In this lecture, we examine a variety of problems for which we give greedy approximation

More information

This tutorial is aimed to give you a crisp understanding of the process of building your own blockchain.

This 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 information

Using Chains for what They re Good For

Using 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 information

DEV. Deviant Coin, Innovative Anonymity. A PoS/Masternode cr yptocurrency developed with POS proof of stake.

DEV. Deviant Coin, Innovative Anonymity. A PoS/Masternode cr yptocurrency developed with POS proof of stake. DEV Deviant Coin, Innovative Anonymity A PoS/Masternode cr yptocurrency developed with POS proof of stake. CONTENTS 03 Overview 06 Pre-mine phase 07 Privacy 08 Basic parameters 09 Proof-of-stake The benefits

More information

Some Problems of Fuzzy Modeling of Telecommunications Networks

Some Problems of Fuzzy Modeling of Telecommunications Networks Some Problems of Fuzzy Modeling of Telecommunications Networks Kirill Garbuzov Novosibirsk State University Department of Mechanics and Mathematics Novosibirsk, Russia, 630090, Email: gartesk@rambler.ru

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we

More information

As a 3rd generation currency, not only are transactions secured, private and fast, you actually get paid for holding DigitalPrice coins.

As 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 information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

(67686) Mathematical Foundations of AI July 30, Lecture 11

(67686) Mathematical Foundations of AI July 30, Lecture 11 (67686) Mathematical Foundations of AI July 30, 2008 Lecturer: Ariel D. Procaccia Lecture 11 Scribe: Michael Zuckerman and Na ama Zohary 1 Cooperative Games N = {1,...,n} is the set of players (agents).

More information

DEGENERACY AND THE FUNDAMENTAL THEOREM

DEGENERACY AND THE FUNDAMENTAL THEOREM DEGENERACY AND THE FUNDAMENTAL THEOREM The Standard Simplex Method in Matrix Notation: we start with the standard form of the linear program in matrix notation: (SLP) m n we assume (SLP) is feasible, and

More information

Blockchain! What consultants should know about it. Daniel

Blockchain! 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 information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

EC422 Mathematical Economics 2

EC422 Mathematical Economics 2 EC422 Mathematical Economics 2 Chaiyuth Punyasavatsut Chaiyuth Punyasavatust 1 Course materials and evaluation Texts: Dixit, A.K ; Sydsaeter et al. Grading: 40,30,30. OK or not. Resources: ftp://econ.tu.ac.th/class/archan/c

More information