IB Computer Science Case study 2020-21: A local economy driven by blockchain

Good luck besties <3

39 flashcards · Computer Science · by 5umrr

  1. 51 % Attack

    hypothetical - by a group of miners controlling more than 50% of the network's mining hashrate, or computing power. - prevent new transactions from gaining confirmations, allowing them to halt payments between some or all users. - able to reverse transactions that were completed while they were in control of the network, meaning they could double-spend coins. - able to create a new coins or alter old blocks, so a 51% attack would probably not destroy bitcoin or another blockchain-based currency…

  2. Block

    Files where data pertaining to the network is permanently recorded. In cryptocurrency, a block some or all of the most recent transactions that have not been enter prior to it. like a page of a ledger/record book Each time a block is 'completed', it gives way to the next block in the blockchain. A block is thus a permanent store of records which, once written, cannot be altered or removed.

  3. Blockchain

    A growing list of records, called blocks, that are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a Merkle tree).

  4. Block header

    Used to identify a particular block on an entire blockchain -is hashed repeatedly to create proof of work for mining rewards.

  5. Candidate block

    a block that a mining node (miner) is trying to mine in order to receive the block reward. a temporary block that will be either validated or discarded by the network. Miners compete with each other to validate the next block and add it to the blockchain, but first, they have to create a candidate block to participate in the mining competition. created by miners by collecting and organizing multiple unconfirmed transactions from the memory pool. The transactions are then hashed to form a Merkle…

  6. Collision resistance

    The collision resistance property requires that two different input messages should not hash to the same output. In other words, h(x) != h(z). This property is also known as strong collision resistance.

  7. Cryptocurrency

    A type of digital currency that uses cryptography for security and anti-counterfeiting measures. Public and private keys are often used to transfer cryptocurrency between individuals. Users must reach a consensus about cryptocurrency's value and use it as an exchange medium. However, because it is not tied to a particular country, its value is not controlled by a central bank, only by market forces.

  8. Cryptographic hash

    A mathematical function used in cryptography. Unlike typical hash functions that take inputs of variable length to return outputs of fixed length, a cryptographic hash function combines the message-passing capabilities of hash functions with security properties.

  9. Determinism

    A hash procedure must be deterministic—meaning that for a given input value it must always generate the same hash value. This requirement excludes hash functions that depend on external variable parameters, such as pseudo-random number generators or the time of day. It also excludes functions that depend on the memory address of the object being hashed in cases that the address may change during execution (as may happen on systems that use certain methods of garbage collection), although someti…

  10. Non-repundiation

    the assurance that someone cannot deny the validity of something it provides the proof of the origin of data + integrity meaning someone could not deny if they had sent a message. Nonrepudiation is a method of guaranteeing message transmission between parties via digital signature and/or encryption. It is one of the five pillars of information assurance (IA). The other four are availability, integrity, confidentiality and authentication. Nonrepudiation is often used for digital contracts, signa…

  11. China's crypto dominance (from wall street journal)

  12. Digital signature

    A digital signature is a mathematical technique used to validate the authenticity and integrity of a message, software or digital document. The digital equivalent of a handwritten signature or stamped seal, a digital signature offers far more inherent security, and it is intended to solve the problem of tampering and impersonation in digital communications. Digital signatures can provide the added assurances of evidence of origin, identity and status of an electronic document, transaction or me…

  13. Distributed consensus

    Distributed consensus refers to the elaborate, largely mathematically-based game that the members of the bitcoin network use to keep in sync their tens of thousands of individual duplicate copies of the entire set of transactions that ever happened in the blockchain. Some basic facts you need, in order to understand the general idea: - Nobody, or rather every member, is in charge of the bitcoin network. - There are about 24,000 full nodes in the bitcoin network. - Each "full node" keeps a compl…

  14. Double-spend problem

    Double-spending is a problem in which the same digital currency can be spent more than once. In other words, double-spending is an instance in which a transaction uses the same input as another transaction that has already been broadcast on the network. This is a flaw that is unique to digital currencies because digital information is something that can be reproduced rather easily. - Digital currencies such as Bitcoin, can be thought of as being a digital file. If, for example, Bob has a file t…

  15. Entropy

    In cryptography, entropy is a measure of true randomness. - An n-bit number chosen uniformly at random with a perfect random number generator has n bits of entropy, and entropy of other things can be computed in comparison to this case. For example, 4 words chosen uniformly at random from a wordlist of 1024 words has 40 bits of entropy because you can represent each word by 10 bits (2^10 = 1024) and stick the 4 groups of 10 bits together to get a 40-bit number chosen uniformly at random. - When…

  16. Genesis block

    A genesis block is the first block of a block chain. Modern versions of Bitcoin number it as block 0, though very early versions counted it as block 1. The genesis block is almost always hardcoded into the software of the applications that utilize its block chain. - It is a special case in that it does not reference a previous block, and for Bitcoin and almost all of its derivatives, it produces an unspendable subsidy.

  17. Immutable transactions

    Immutability — the ability for a blockchain ledger to remain a permanent, indelible, and unalterable history of transactions — is a definitive feature that blockchain evangelists highlight as a key benefit. Immutability has the potential to *transform the auditing process into a quick, efficient, and cost-effective procedure, and bring more trust and integrity to the data businesses use and share every day.

  18. Key pair generation

    Key generation is the process of generating keys for cryptography. The key is used to encrypt and decrypt data whatever the data is being encrypted or decrypted. Modern cryptographic systems include symmetric-key algorithms (such as DES and AES) and public-key algorithms (such as RSA). Symmetric-key algorithms use a single shared key; keeping data secret requires keeping this key secret. Public-key algorithms use a public key and a private key. The public key is made available to anyone (often…

  19. Ledger

    Ledger generally refers to the the bill of quantities made in accounts. Same in cryptoworld, it makes sense with the record of transactions being done among Bitcoin users. e.g Blockchain, Ethereum etc. Also it is a secured database which stores and holds the money of people in the form of bitcoins.

  20. Merkle proof

    Merkle proofs are used to decide upon the following factors: - If the data belongs in the merkle tree - To concisely prove the validity of data being part of a dataset without storing the whole data set - To ensure the validity of a certain data set being inclusive in a larger data set without revealing either the complete data set or its subset.

  21. Merkle tree

    A Merkle tree is a hash-based data structure that is a generalization of the hash list. It is a tree structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. Typically, Merkle trees have a branching factor of 2, meaning that each node has up to 2 children. Merkle trees are used in distributed systems for efficient data verification. They are efficient because they use hashes instead of full files. Hashes are ways of encoding files that ar…

  22. Miner

    Miners can be defined as accountants who records every transactions to the blockchain. The concept is simple, a proof of payment is important if you want your payment to be valid. The miners are the ones who keep the record of your payment. Hence they are record keepers who keep the system updated of new payments and existing ones.

  23. Mining

    Bitcoin mining is the process of creating, or rather discovering, bitcoin currency. Unlike real-world money that is printed when more is needed, bitcoin cannot simply be willed into existence, but has to be mined through mathematical processes. Bitcoin maintains a public ledger that contains past transactions, and mining is the process of adding new transactions to this ledger.

  24. Nonce

    A nonce ("number only used once") is a number added to a hashed block that, when rehashed, meets the difficulty level restrictions. The nonce is the number that blockchain miners are solving for.

  25. Non-invertibility

    Non-invertibility is another feature that's often desirable, depending on the intended usage of the algorithm. This says that it should be impossible, or at least prohibitively difficult, to work out the input that led to any given hash. Ideally, it should be easy to transform data into a hash, and practically impossible to go the other way.

  26. One-way function

    A hash is designed to act as a one-way function — you can put data into a hashing algorithm and get a unique string, but if you come upon a new hash, you cannot decipher the input data it represents. A unique piece of data will always produce the same hash.

  27. Proof of work

    A proof of work is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and which satisfies certain requirements. Producing a proof of work can be a random process with low probability so that a lot of trial and error is required on average before a valid proof of work is generated. Bitcoin uses the Hashcash proof of work system.

  28. PuTTYgen

    PuTTYgen is a key generator. It generates pairs of public and private keys to be used with WinSCP. PuTTYgen generates RSA, DSA, ECDSA, and Ed25519 keys.

  29. Self-referential data structure

    A self-referential class contains a reference member that refers to a class object of the same class type. Self-referential objects can be linked together to form useful data structures such as lists, queues, stacks and trees.

  30. SHA256

    The SHA (Secure Hash Algorithm) is one of a number of cryptographic hash functions. A cryptographic hash is like a signature for a text or a data file. SHA-256 algorithm generates an almost-unique, fixed size 256-bit (32-byte) hash. Hash is a one way function - it cannot be decrypted back. This makines it suitable for password validation, challenge hash authentication, anti-tamper, digital signatures. SHA-256 is one of the successor hash functions to SHA-1, and is one of the strongest hash func…

  31. Takeover attack

    Account takeover is a form of identity theft where a fraudster illegally gets access to a victim's bank or online e-commerce account using bots. A successful account takeover attack leads to fraudulent transactions and unauthorized shopping from the victim's compromised account.

  32. Transaction pool

    The transaction pool (or mempool, as it's usually called) is not a network-wide pool. Each node maintains its own mempool. When a node receives your transaction, it will validate and add it to its own mempool, and possibly broadcast it further on.

  33. China bypasses SWIFT (The Economist)

    SWIFT is a transaction network that financial institutions use to securely transmit information and instructions through a standardized system of codes. As 80% of the system is dominated by $, the system is highly reliant on US financial services, making it biased. The US can withhold transactions, causing the system to be disrupted. As a growing global superpower, China counteracts this by targeting consumer payments. Chinese tech companies developed digital wallets (eg. Alipay) without money…

  34. 2018 Verge 51% attack (Altcoins Bitcoin News)

    -a bug in code made it such that timestamp in the block could be manipulated such that they can be hashed faster -250,000 verge were stolen, dissenters have claimed that as many as 3.9 million coins may have been taken. Verge Is Forced to Fork After Suffering a 51% Attack - Altcoins Bitcoin News. (2018) from https://news.bitcoin.com/verge-is-forced-to-fork-after-suffering-a-51-attack/

  35. CipherTrace 2019 summary (Cointelegraph)

    - criminals used bitcoin in 76% of dark market cases - United Nations: "NK netted $2B from exchanges" The theft of cryptocurrency is a big and growing business. In the first six months of 2018, some $761 million worth of cryptocurrency was stolen, according to the US cybersecurity firm CipherTrace. That's over three times more than in the same period the year before. The inability to track stolen funds efficiently is part of the attraction for cybercriminals. A common tactic, for example, is to…

  36. Tracing stolen coins (MIT Tech review)

    The new algorithm is called Taintchain, and it has the potential to give law enforcement agencies an entirely new and powerful way to track the proceeds of cryptocurrency crime for the first time. We're getting closer to being able to track stolen bitcoins. (2021). from https://www.technologyreview.com/2019/01/18/137797/were-getting-closer-to-being-able-to-track-stolen-bitcoins/

  37. Credential stuffing

    Type of cyberattack where stolen account credentials typically consisting of lists of usernames and/or email addresses and the corresponding passwords are used to gain unauthorized access to user accounts through large-scale automated login requests directed against a web application. Solution: - two/multifactor factor identification

  38. Forbes: How cryptocurrencies are empowering cyber criminals

    With the ever-growing popularity of peer-to-peer markets like Silk Road and AlphaBay, cybercriminals have been buying and selling virtual currencies whilst remaining anonymous. Without being about to track the source to the ill-gotten gains, governments and law enforcement agencies cannot possibly prevent this activity. We have also seen peer-to-peer platforms such as Uber and Airbnb exploited by cybercriminals. Hidden amongst a wealth of honest transactions, innovative criminals are able to ma…

  39. NFT

    A non-fungible token (NFT) is a unit of data on a digital ledger called a blockchain, where each NFT can represent a unique digital item, and thus they are not interchangeable. NFTs can represent digital files such as art, audio, videos, items in video games and other forms of creative work. The idea is that unlike an analog asset, like a painting, which is one-of-a-kind by design, digital works can be endlessly duplicated. So the NFT creates a certificate of ownership that proves that it's the…