Transaction: b8d3af22a3271fd39ca45a9f1cea1044c816e105

Included in block 19,615,197 at 2018/02/05 22:12:51 (UTC).

Transaction overview

Loading...
Transaction info
transaction_id b8d3af22a3271fd39ca45a9f1cea1044c816e105
ref_block_num 19,915
block_num19,615,197
ref_block_prefix 563,934,955
expiration2018/02/05T22:22:45
transaction_num 20
extensions[]
signatures 1f45f0e4dbadaa5e88557c34d65f38a4078eeede7d26818cad40d4f857aa0dfecf272460f5764b047ced74253b59119e580c53f08c2bee59a00ce36cace77c31c2
operations
comment
"parent_author":"",<br>"parent_permlink":"project-blockchain",<br>"author":"flash.review",<br>"permlink":"chapter-3-blockchain-transactions-and-security",<br>"title":"Chapter 3 - Blockchain,<br> Transactions and Security",<br>"body":"## What is a Transaction\n----\n\nAnother concern I often need to explain is about how Blockchain actually works.\n\n<center>![wallpaper.wiki-Binary-Code-Background-Full-HD-PIC-WPB003927.jpg (https:\/\/steemitimages.com\/DQmXHHRfQwdwgyV9pqsmxLVVhTK96Li1K8fhBtVjwgXsVkx\/wallpaper.wiki-Binary-Code-Background-Full-HD-PIC-WPB003927.jpg)<\/center>\n\nI\u2019ll admit the whole transaction mechanism within a Blockchain was kind of harsh to get at first,<br> in particular back in 2014 when there was not a whole lot of available information about it.\n \nWhen it comes to these kind of explanations,<br> I think that \u201cputting it simple\u201d usually helps in getting the point straight,<br> so here\u2019s how I picture it.\n \n> Transactions are sent from and to electronic \u201cwallets\u201d. \n> Everyone participating to the network knows about a transaction \n> and the history of every single transaction can be traced \n> back to the point where the coins were produced.\n \nYou may be surprised to know that Bitcoins (or other digital currencies) don\u2019t exist anywhere.\nWhat does exist,<br> however,<br> are the records of all transactions between different addresses,<br> with balances that change. Every transaction that ever took place is safely stored in a huge public database called,<br> for instance,<br> Blockchain. \nIf you want to know the balance of any bitcoin address,<br> the information isn\u2019t held at that address but within the Blockchain.\n\n----\n\nIf A sends some Bitcoins to B,<br> that transaction will contain three pieces of information:\n\n\u2022\t***An input***: Which BTC address was used to send the Bitcoins to A in the first place (say,<br> C sent them).\n\n\u2022\t***An amount***: This is the amount of Bitcoins that A is sending to B.\n\n\u2022\t***An output***: This is B's Bitcoin address.\n\nSo,<br> in brief,<br> a transaction is a string of numbers and letters which contains the previous information (input,<br> amount and output) together with some other characters which are \u2013 to put it simple \u2013 randomly generated.\n\n## How it Works\n----\n\nTo send \u2013 or receive \u2013 Bitcoins,<br> you basically need two things: \n\na ***bitcoin address*** (a.k.a. a *public key*) and\n\na ***private key***.\n\nA Bitcoin address is randomly generated,<br> and is just a sequence of letters and numbers. The private key is another sequence of letters and numbers,<br> but unlike your bitcoin address,<br> this is kept hidden from anybody.\n\nThink of your Bitcoin address as a safe box with a window on the front. Everyone knows what is in it,<br> but only the private key can open it to take things out or put things in.\nWhen A wants to send bitcoins to B,<br> he uses the private key to sign a message with the input (which is the proof he actually has the coins),<br> amount,<br> and output (B\u2019s address).\nHe then sends these information to the network which verifies it and approves (or blocks) the transaction,<br> this is done by the so-called *\u201cminers\u201d*.\nSince transactions must be verified by these miners,<br> you are sometimes forced to wait until they have finished mining (or validating) the block in which your transaction waits with other transactions for approval. \nEach block is set to take roughly 10 minutes to be solved.\n\n## Brief Explanation\n----\n\nIf I want to send some of my Bitcoin to you,<br> I basically publish my *intention* and the nodes scan the entire bitcoin network to validate that I \n1- have the amount of Bitcoin that I want to send,<br> and \n2- haven\u2019t already sent it to another address. \nOnce that information is confirmed,<br> my transaction gets included in a *\u201cblock\u201d* which gets linked to the previous. Transactions can\u2019t be undone or tampered with,<br> because it would mean re-doing all the blocks that came after.\n\n## Full Explanation\n----\n\nAs we said,<br> my bitcoin wallet doesn\u2019t actually hold my Bitcoin. \nWhat it does is holding my *bitcoin address*,<br> which keeps a record of all of my transactions,<br> and thus of my balance. \nThe address \u2013 a string of 34 alphanumeric characters \u2013 is also known as my *\u201cpublic key\u201d*. The whole world can see this sequence. \nHowever,<br> each public key has a corresponding \u201cprivate key\u201d which is double its length. This key is **private**,<br> and it\u2019s crucial that is kept safe. The two keys are related,<br> but there\u2019s no way anyone can figure out a private key from the public one.\n\nThis mechanism is extremely important,<br> because any transaction issued from a bitcoin address needs to be \u201cverified\u201d with its specific private key. To do that,<br> both the private key and the transaction details (how many bitcoins I want to send,<br> and to whom) need to be added to the bitcoin software on the computer doing the operation.\n\nWith this information,<br> the program generates a *\u201cdigital signature\u201d*,<br> which gets sent out to the network to be validated.\n\n<center>![Presentazione standard1.png (https:\/\/steemitimages.com\/DQmbDTJtd7VtggeYT9CkKGneqH33EiXmYPRNG197qaRRQGf\/Presentazione%20standard1.png)<\/center>\n\nThis transaction can only be validated \u2013 meaning that it can be confirmed that I own what I am transferring to you,<br> and that I haven\u2019t already sent it to someone else \u2013 by inputting both the signature and my public key (which everyone knows) into the bitcoin program. \nThis is maybe one of the most impressing parts of the Bitcoin protocol: if the signature was made with the private key that truly corresponds to that public key,<br> the program will validate the transaction without actually knowing what the private key is. \n\nThen,<br> the network confirms that I haven\u2019t previously spent that amount by scanning my address history,<br> which is possible as it corresponds to my *public key* and because all transactions are public on the bitcoin ledger.\n\n## A Bit More Technical\n----\n\nAs you saw,<br> once a transaction is validated it gets incorporated into a \u201cblock\u201d,<br> along with a number of other transactions.\n\nAn important thing to know to fully understand how transactions occur within a Blockchain is what an *\u201chash\u201d* is. \nA hash is basically a 64-character string produced by a \u201chash function\u201d which is a rather complex formula that reduces any amount of text or data to a string of 64 characters. This process is not random since every time you put in that particular data set using the hash function,<br> you\u2019ll always obtain the same 64-character string. \nHowever,<br> if you change ***just one single character*** within the data-set,<br> you\u2019ll get a completely different 64-character string. A whole book can be reduced to a hash,<br> and unless some letters change,<br> it will always produce the same hash. This is an extremely effective way to tell if something has changed,<br> and is the core concept that makes Blockchains work. \n\nFor what concerns blocks: every single block includes,<br> as part of its data,<br> a reference to the last block. Therefore,<br> if only one small part of the previous block is altered,<br> the entire current block\u2019s hash would have to change too. \nThis is,<br> ultimately,<br> what makes Cryptocurrencies like Bitcoins virtually tamper-proof.\n\n## Conclusive Thoughts\n-----\n\nIn this new ultra-connected world we live in,<br> security of digital assets has become a major issue. Being able to control sensible personal information is something that nobody should be overlooking,<br> particularly if data concern money and contracts. \nAs we discussed,<br> Blockchain not only solves this problem but it also fills the informative gap between parties involved in digital transactions. \nIn the same way that Bitcoins would be nothing without Blockchain,<br> Blockchain would never exist if it wasn\u2019t able to solve these two major issues.\nAnd it does solve them. \nKnowing that you can transact with virtually anybody on the internet without risking to be defrauded is a pretty powerful thing alone. Add to this that your sensible data remain exceptionally safe in the process and you have a tremendously powerful mix,<br> at a VERY low cost.",<br>"json_metadata":" \"tags\":[\"project-blockchain\",<br>\"blockchain\",<br>\"cryptocurrencies\",<br>\"bitcoin\",<br>\"crypto\" ,<br>\"image\":[\"https:\/\/steemitimages.com\/DQmXHHRfQwdwgyV9pqsmxLVVhTK96Li1K8fhBtVjwgXsVkx\/wallpaper.wiki-Binary-Code-Background-Full-HD-PIC-WPB003927.jpg\",<br>\"https:\/\/steemitimages.com\/DQmbDTJtd7VtggeYT9CkKGneqH33EiXmYPRNG197qaRRQGf\/Presentazione%20standard1.png\" ,<br>\"app\":\"steemit\/0.1\",<br>\"format\":\"markdown\" "
vote
"voter":"flash.review",
"author":"flash.review",
"permlink":"chapter-3-blockchain-transactions-and-security",
"weight":10000
* The API used to generate this page is provided by @steemchiller.