Theory Flashcards
What is Blockchain
A blockchain is a distributed database that is shared among the nodes of a computer network.
A blockchain collects information together in groups, known as blocks, that hold sets of information. forming a chain of data known as the blockchain. Where transactions are recorded, and cannot be modified
How Does a Blockchain Work?
https://www.investopedia.com/thmb/dERboL3dYS7NCsTY5NgB6b8thIQ=/750x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/dotdash_Final_Blockchain_Sep_2020-01-60f31a638c4944abbcfde92e1a408a30.jpg
In the case of the distributed network of blockchain architecture, each participant within the network maintains, approves, and updates new entries. The system is controlled not only by separate individuals, but by everyone within the blockchain network. Each member ensures that all records and procedures are in order, which results in data validity and security. Thus, parties that do not necessarily trust each other are able to reach a common consensus.
A hash is like a fingerprint (long record consisting of some digits and letters). Each block hash is generated with the help of a cryptographic hash algorithm (SHA 256). Consequently, this helps to identify each block in a blockchain structure easily. The moment a block is created, it automatically attaches a hash, while any changes made in a block affect the change of a hash too. Simply stated, hashes help to detect any changes in blocks.
The final element within the block is the hash from a previous block. This creates a chain of blocks and is the main element behind blockchain architecture’s security. As an example, block 45 points to block 46. The very first block in a chain is a bit special - all confirmed and validated blocks are derived from the genesis block.
Each new user (node) joining the peer-to-peer network of blockchain receives a full copy of the system. Once a new block is created, it is sent to each node within the blockchain system. Then, each node verifies the block and checks whether the information stated there is correct. If everything is alright, the block is added to the local blockchain in each node.
All the nodes inside a blockchain architecture create a consensus protocol. A consensus system is a set of network rules, and if everyone abides by them, they become self-enforced inside the blockchain.
Is Blockchain Secure?
When everyone else cross-references their copies against each other, they would see this one copy stand out, and that hacker’s version of the chain would be cast away as illegitimate.
Due to the size of many cryptocurrency networks and how fast they are growing, the cost to pull off such a feat probably would be insurmountable. This would be not only extremely expensive but also likely fruitless. Doing such a thing would not go unnoticed, as network members would see such drastic alterations to the blockchain. The network members would then hard fork off to a new version of the chain that has not been affected. This would cause the attacked version of the token to plummet in value, making the attack ultimately pointless, as the bad actor has control of a worthless asset.
Tell about Merkletrees
Блоки в биткойн-блокчейне — это перманентно записываемые файлы, которые содержат информацию о проведенных пользователями транзакциях. Дополнительно каждый блок содержит Generation Transaction (или Coinbase Transaction) — это транзакция с информацией об адресе с наградой за решение блока, которая всегда стоит первой в списке.
Все транзакции в блоке представлены как строки в шестнадцатеричном формате (raw transaction format), которые хешируются для получения идентификаторов транзакций (txid). На их основе строится хеш блока, который учитывается последующим блоком, обеспечивая неизменяемость и связность реестра. Единое хеш-значение блока собирается при помощи дерева Меркла, концепция которого была запатентована Ральфом Мерклом (Ralph Charles Merkle) в 1979 году.
Дерево Меркла, или хеш-дерево, — это двоичное дерево, конечные узлы которого — это хеши транзакций, а внутренние вершины — результаты сложения значений связанных вершин.
Построение дерева происходит следующим образом:
Вычисляются хеши транзакций, размещенных в блоке: hash(L1), hash(L2), hash(L3) и так далее.
Вычисляются хеши от суммы хешей транзакций, например hash(hash(L1) + hash(L2)). Так как дерево Меркла является бинарным, то число элементов на каждой итерации должно быть четным. Поэтому если блок содержит нечетное количество транзакций, то последняя дублируется и складывается сама с собой: hash (hash(L3) + hash(L3)).
Далее, вновь вычисляются хеши от суммы хешей. Процесс повторяется, пока не будет получен единый хеш — корень дерева Меркла (merkle root). Он является криптографическим доказательством целостности блока (то есть того, что все транзакции находятся в заявленном порядке). Значение корня фиксируется в заголовке блока.
In bitcoin and other cryptocurrencies, Merkletrees serve to encode blockchaindata more securely. Merkle tree is used to calculate block header hash. So every transaction is being hashed, then like in tree hashed transactions are summed, and those summs are summed with other transaction hash summs until there is one hash for the entire block
Merkle trees solve this problem by considerably reducing the amount of data that has to be maintained for verification purposes. They hash all the records in the ledger, which effectively separates the proof of data from the data itself. Users can verify individual blocks and can also check transactions by using hashes.
Blockchain DLT
Desetralized Distributed ledger technology (DLT) is a digital system for recording the transactions in which the transactions and their details are recorded in multiple places at the same time.
IPFS
IPFS — это аналог торрент-трекера, в котором некоторое количество узлов (компьютеров) свободно делятся хранящимися на них файлами, таким образом распространяя их по всей сети с возможностью получения свободного доступа.
IPFS (InterPlanetary File System, «Межпланетная файловая система») — это гипермедийный протокол связи с открытым кодом, с помощью которого компьютерные узлы осуществляют хранение и распространение данных в единой распределенной файловой системе.
Ключевое отличие IPFS от существующего интернет-протокола HTTP в том, что доступ к данным осуществляется не по местоположению сайта, а напрямую по адресу его содержимого (файлу, документу, изображению, папке).
Коины и токены: в чем разница?
Coin (коин) – это монета блокчейна.
Token (токен) – это монета, которая создается в сети блокчейна
Types of wallets
Hot and Cold Wallets
Custodial and Non-Custodial Wallets
https://crypto.com/university/crypto-wallets
Ассиметричное шифрование
Публичныйключ - это адрес кошелька
Приватный ключ - используется для подписи транзакций
Вместо одного кода в асимметричном шифровании или шифровании с открытым ключом используется пара ключей. В то время как отправитель шифрует сообщение открытым ключом, получатель использует свой закрытый ключ (также называемый секретным ключом) для его расшифровки.
Без закрытого ключа, даже если у кого-то есть соответствующий открытый ключ, невозможно расшифровать и прочитать сообщение отправителя.
Вот почему закрытый ключ должен храниться в секрете, так как предоставление его кому-то другому увеличивает риск несанкционированного доступа.
Hash functions in Blockchain
Хэш функции кодируют данные в блоках(хэш транзакции), которые потом с помошью дерева меркля образуют хэш блока
Что делаают майнеры?
Все биткоин-переводы записываются в общедоступный лог транзакций. По цепочке они передаются майнерам, чья работа состоит в том, чтобы подобрать из миллионов комбинаций один-единственный хэш, подходящий ко всем новым транзакциям и секретному ключу, который и обеспечит майнеру получение награды в 25 биткоинов за раз. Множество «добытчиков» одновременно борются за награду, пытаясь первыми угадать хэш. Как только хэш угадан, блок со всеми транзакциями закрыт, майнеры переходят к следующему.
Хэш, который ищут майнеры состоит из хэша предыдущего блока, суммы хэшей транзакций за последние 10 минут и случайного числа, которое майнеры меняют, чтобы итоговый хэш удовлетворял условиям системы. Именно изменение этих условий и определяет сложность нахождения хэша, они изменяются раз в 2016 закрытых блоков и автоматически подбираются так, чтобы расчёт каждых 2016 блоков занимал 2 недели.
Процесс майнинга в сети блокчейн
Each block has a unique hash associated with it. It is always a 64-digit number, regardless of transaction data.
The mining process is therefore nothing but the execution of algorithms (SHA-256 hashing algorithm for bitcoin mining) to hash the block headers to a value below the target.
Validating and encoding the blockchain is referred to as mining. Mining involves the use of computers to run hashing algorithms to process the most recent block; the information that a user needs to mine is found in the block’s header. The cryptocurrency network sets a target value for this hash—called the target hash—and miners try to determine what this value is by testing out all possible values.
The block header contains the block version number, a timestamp, the hash used in the previous block, the hash of the Merkle Root, the nonce, and the target hash. The block is generated by taking the hash of the block contents, adding a random string of numbers (the nonce), and hashing the block again.
If the hash meets the requirement of the target, then the block is added to the blockchain. Cycling through solutions in order to guess the nonce is referred to as proof of work (PoW), and the miner who is able to find the value is awarded the block and paid in cryptocurrency.
What is ERC-20?
The ERC-20 introduces a standard for Fungible Tokens
ERC-20 стал руководством по созданию заменяемых токенов (ориг. Fungible Tokens) — идентичных токенов, которые можно обменивать друг на друга.
Однако, до появления ERC-20 существовала проблема совместимости между различными токенами, ведь каждый из них имел уникальный смарт-контракт. Иными словами, для того, чтобы биржа или кошелек могли поддерживать токен, его создателям каждый раз нужно было писать совершенно новый код.
Таким образом, поддержка растущего число токенов становилась все более проблематичной, занимая слишком много времени. Для решения этой проблемы и был создан стандартный протокол для всех токенов.
ERC-20 значительно упростил и унифицировал выпуск токенов в рамках одной сети. Этот стандарт наряду со смарт-контрактами стал универсальным способом создания и монетизации приложений, использующих блокчейн. Так Ethereum стал первой в истории блокчейн-платформо
These tokens are:
💻 Fungible - The code of each individual token is the same as any other, though transaction histories can be used to identify and separate out the tokens involved.
🛫 Transferable - They can be sent from one address to another.
⛏️ Fixed supply - A fixed number of tokens must be created so that developers cannot issue more tokens and raise the supply.
What is ERC
Is a document that programmers use to write smart contracts on Ethereum Blockchain
The Ethereum community use EIP to review these documents, and developers may revise documents
This is how the document becomes an ERC
While there are several Ethereum standards. These ERC Ethereum standards are the most well-known and popular –
ERC - 20
ERC - 721
ERC - 1155
ERC - 777
What is ERC-721?
ERC-721 is a token standard on Ethereum for non-fungible tokens (NFTs). Fungible means interchangeable and replaceable; Bitcoin is fungible because any Bitcoin can replace any other Bitcoin. Each NFT, on the other hand, is completely unique. One NFT cannot replace another.
The main characteristic of ERC-721 tokens is that each one is unique. When an ERC-721 token is created, there is one and only one of those tokens in existence. These tokens, as NFTs, have spread the idea and application of unique assets on Ethereum.
What is ERC-1155 ?
ERC-1155 - Ethereum’s Flexible Token Standard
https://hsto.org/r/w1560/webt/ky/18/am/ky18amnutzngsgxlzhuc_cd4jm8.png
ERC-1155 solves for this by combining the two token standards. ERC-1155 is a token standard that enables the efficient transfer of fungible and non-fungible tokens in a single transaction.
The initial motivation behind ERC-1155 was to address challenges faced by blockchain game developers and players.
Massively multiplayer online games (MMOs) contain tens of thousands of items—armor, weapons, shields, skins, coins, badges, castles, etc—that players can collect and trade with one another. Some items like coins are fungible while others like a sword are non-fungible. On the blockchain, each one of these items is a token.
Prior to ERC-1155, each item required its own smart contract. In a game with 100,000 items that means 100,000 smart contracts!
With an ERC-1155 token, multiple items can be stored in a single smart contract and any number of items can be sent in a single transaction to one or more recipients. This means if you wanted to send a sword to one friend, a shield to another, and 100 gold coins to both, you could do so in only one transaction.