Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
федеральное государственное бюджетное образовательное учреждение
высшего образования
«Московский государственный технологический университет «СТАНКИН»
(ФГБОУ ВО «МГТУ «СТАНКИН»)
Доклад
по дисциплине: «Менеджмент высокотехнологичного бизнеса»
на тему: «Пиринговые платежные системы»
1
00 ВВЕДЕНИЕ
3
00 ВВЕДЕНИЕ
4
00 ВВЕДЕНИЕ
6
01 Рейтинг криптовалют
Общее число криптовалют на март 2015 года превышало 2000. Следующие криптовалюты по
состоянию на май 2018 года обладают наибольшей капитализацией
Note: В России криптовалюты как таковые не подпадают под запрет или ограничения на владение, но не
могут использоваться как средство платежа, так как незаконно покупать товары на любую валюту, кроме
как за рубли.
7
02 Bitcoin
introduction
9
01 Bitcoin
10
01 Bitcoin
Основные преимущества и недостатки платежной системы Bitcoin
• Secure
– Single use
– Reliable
• Low inflation
• Privacy-preserving
E-Cash Crypto Protocols
Chaum82: blind signatures for e-cash
Chaum88: retroactive double spender identification
Brandis95: restricted blind signatures
Camenisch05: compact offline e-cash
Authentication
Integrity
Non-repudiation
Cryptographic Hash Functions
• Consistent: hash(X) always yields same
result
• One-way: given Y, hard to find X s.t. hash(X)
=Y
• Collision resistant: given hash(W) = Z,
hard to find X such that hash(X) = Z
Fixed Size
Message of arbitrary length Hash Fn Hash
24
Back to BitCoin
• Validation
– Is the coin legit? (proof-of-work) Use of Cryptographic
Hashes
– How do you prevent a coin from double-spending?
Broadcast to all nodes
• Creation of a virtual coin/note
– How is it created in the first place? Provide incentives for
miners
– How do you prevent inflation? (What prevents anyone from
creating lots of coins?) Limit the creation rate of the
BitCoins
Bitcoin
• Electronic coin == chain of digital signatures
• BitCoin transfer: Sign(Previous transaction + New owner’s public key)
• Anyone can verify (n-1)th owner transferred this to the nth owner.
• Anyone can follow the history
Given a BitCoin
Bitcoin Transactions
Public key
0xc7b2f68...
Public key 0xa8fc93875a972ea
Signature 0xa87g14632d452cd
Use of Cryptographic Hashes
Proof-of-work
Block contains transactions to be validated and previous hash value.
Pick a nouce such that H(prev hash, nounce, Tx) < E. E is a variable that
the system specifies. Basically, this amounts to finding a hash value
who’s leading bits are zero. The work required is exponential in the
number of zero bits required.
Verification is easy. But proof-of-work is hard.
Preventing Double-spending
• The only way is to be aware of all transactions.
• Each node (miner) verifies that this is the first
spending of the Bitcoin by the payer.
• Only when it is verified it generates the proof-
of-work and attach it to the current chain.
Bitcoin Network
• Each P2P node runs the following algorithm:
– New transactions are broadcast to all nodes.
– Each node (miners) collects new transactions into a block.
– Each node works on finding a proof-of-work for its block. (Hard to do.
Probabilistic. The one to finish early will probably win.)
– When a node finds a proof-of-work, it broadcasts the block to all
nodes.
– Nodes accept the block only if all transactions in it are valid (digital
signature checking) and not already spent (check all the transactions).
– Nodes express their acceptance by working on creating the next block
in the chain, using the hash of the accepted block as the previous
hash.
Tie breaking
• Two nodes may find a correct block simultaneously.
– Keep both and work on the first one
– If one grows longer than the other, take the longer one
Two different
block chains (or
blocks) may
satisfy the
required proof-
of-work.
Reverting is Hard
• Reverting gets exponentially hard as the chain
grows.
2. Recompute 3. Recompute
nonce the next nonce
823848273471012983
Commitments 812...
812..
Zerocoins: where do they come from?
• Anyone can make one
• Choose a random serial number and commit to it
• Mint a zerocoin by putting a mint transaction in the
block chain which “spends” a bitcoin and includes the
commitment
• Spending a zerocoin gives the recipient a bitcoin
Zerocoins: ...and where do they go?
• The “spent” bitcoins end up escrowed
• To spend a zerocoin
– You reveal the serial number
– Prove it is from some zerocoin in the block chain
– Put the spent serial number in the block chain
Zero-knowledge proofs
• Zero-knowledge [Goldwasser, Micali 1980s, and
beyond]
• Prove knowledge of a witness satisfying a
statement
• Specific variant: non-interactive proof of
knowledge
• Here we prove we know:
1. The serial number of a zerocoin
2. That the coin is in the block chain
Zero-knowledge proof
• Inefficient approach
– Identify all valid zerocoins in the block chain
(call them )
– Prove that S is the serial number of a coin C and
where is prime
• Attacks on Zerocoin?