4. Transactions and the UTXO model

  Рет қаралды 41,942

MIT OpenCourseWare

MIT OpenCourseWare

Күн бұрын

MIT MAS.S62 Cryptocurrency Engineering and Design, Spring 2018
Instructor: Neha Narula
View the complete course: ocw.mit.edu/MAS-S62S18
KZbin Playlist: • MIT MAS.S62 Cryptocurr...
Further exploration of blockchain transactions, inputs, outputs, and scriptsigs.
License: Creative Commons BY-NC-SA
More information at ocw.mit.edu/terms
More courses at ocw.mit.edu

Пікірлер: 57
@ozzyfromspace
@ozzyfromspace 3 жыл бұрын
Naha, you did the lords work on with this lecture! Thank you! And to MIT OCW, making this cryptocurrency engineering and design course openly available on KZbin is a gift to us all, and I just wanna say thank you! If I had the right circumstances, I’d apply to your school just to be closer to all the fun comps i things you’re all involved with. Please never stop - this is educating so many people all around the world.
@xxxxxGhostBoyxxxxx
@xxxxxGhostBoyxxxxx 2 жыл бұрын
This reminds me when the last time i took open courseware for Ivy League admission and I did not proceed with the final process due to personal issues. I'm so happy for these students for having the opportunity to learn from such a great lecturer and environment. They are living my dream. But at least I'm a blockchain developer now and even though I'm not in MIT, but having open courseware does benefits to those who can't afford to get into it and hopefully more people will take this opportunity. What an amazing time we are living in right now. Thank you for this great content.
@akshatchandra60
@akshatchandra60 2 жыл бұрын
Excellent job Prof. Neha. I found the P2PKH the best and it was so well explained!
@dthewave9466
@dthewave9466 2 жыл бұрын
I am really glad, the two lower screens made it all the way through. Shutout to the real MVPs; after Neha of course.
@quocphantruong
@quocphantruong 3 жыл бұрын
I'm not in IT but somehow I still understand, which means the lecturer did a great job in explanation
@Sunny-tp9ro
@Sunny-tp9ro 4 жыл бұрын
Great work MIT and Neha!
@user-wq5ko1mb8j
@user-wq5ko1mb8j 3 жыл бұрын
She is the best. So clear and interactively.
@paullawrie
@paullawrie Жыл бұрын
Thank you MIT for publishing such great content for free. Just amazing.
@manojvits
@manojvits 3 жыл бұрын
Great Lecture !! Thank You !
@trent797
@trent797 2 жыл бұрын
Great lecture....wish I was in class so I could ask some questions, but I'll take what I can get.
@cryptos7488
@cryptos7488 2 жыл бұрын
Likes her enthusiasm and honesty that she doesn’t understand some things
@cryptovryptoroy5611
@cryptovryptoroy5611 2 жыл бұрын
Pls show something in mainnet if we can create a flash transaction for sometime in blockchain.
@desiaclementslewis8318
@desiaclementslewis8318 3 жыл бұрын
thank you
@xphis0528
@xphis0528 2 жыл бұрын
Awesome
@hansrudolf5849
@hansrudolf5849 2 жыл бұрын
At 46:36 they mention that the from bob gets compared to the . What was this signature signing in the first place? Probably the previous / current transaction?
@vahanhakobyan5465
@vahanhakobyan5465 2 жыл бұрын
Hey I have same question. Did you figure out what is actually sig in sigscript here?
@Altcoinminimalist
@Altcoinminimalist Жыл бұрын
That signature is bob’s signature which satisfies the locking script on the UTXO. It proves he owns the output assigned to that address
@amirphl7834
@amirphl7834 Жыл бұрын
@@Altcoinminimalist Alright, but this is not the answer to the question. What is the message that is signed using Bob's secret key?
@Altcoinminimalist
@Altcoinminimalist Жыл бұрын
@@amirphl7834 that would be the signature hash (z)
@chengjiang5110
@chengjiang5110 3 жыл бұрын
is there an error at 37:38, she was talking: 20 >= 19 but it's written as Sum(inputs)
@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 жыл бұрын
It should be "Sum(inputs) >= Sum(outputs)". They mention it in the video.
@dovaz0x
@dovaz0x 2 жыл бұрын
I understand that the majority of UTXO set is the dust of other transactions, as she said, unfortunately, cannot be spent at the moment of this presentation, then what is considered a decent amount to be able to spend this so-called "dust"?
@hashimer5938
@hashimer5938 4 жыл бұрын
Taloon is almost already
@user-ml4nm3vr3g
@user-ml4nm3vr3g 4 жыл бұрын
学习下麻省理工的课程。
@ahmedeldeeb1002
@ahmedeldeeb1002 Жыл бұрын
she is pretty smart
@ozzyfromspace
@ozzyfromspace 3 жыл бұрын
Question: are the consensus rules determined programmatically or is it just miners saying “woah, hold on there fellow miner. You gave yourself a 100BTC reward, I’m not propagating this block.” I don’t see what’s stopping me from modifying the Bitcoin code on my local machine, and having it broadcasted successfully to “enough” of the network, because checking takes time and they don’t wanna check. But I also don’t see how this works programmatically if the computers are logically distinct. So, how is consensus for valid blocks on the network actually enforced? Thank you.
@darklord9393
@darklord9393 2 жыл бұрын
Rules are enforced programmatically by all the full-nodes. Additionally the rules are enforced by the users running full-nodes, not the miners, although miners can run nodes too. I strongly suggest reading Andrea's Mastering Bitcoin for an in depth explanation of the bitcoin network and protocol.
@shymaaarafat1342
@shymaaarafat1342 2 жыл бұрын
The nodes that follow what u propagate to them without running the code & checking and verifying for themselves are not considered full nodes, ie does not play a role (like having a vote) in the consensus. So, if u did so (verify wrongly, or change the rules, or....) u r considered a "malicious" node, the idea here u won't succeed in enforcing ur malicious rules unless u r running more than 50% of the full nodes of the network what is called 51% attack
@coffle1
@coffle1 Жыл бұрын
@@shymaaarafat1342 This isn't quite correct. A 51% attack refers to a malicious party having a majority of the hash rate and being able to rewrite the chain. This happens because if you have 51% of the hash power you can start mining from an arbitrary block (the more recent the block the easier it is to perform the attack) and probabilistically generate malicious replacement blocks (with more work put into them) over time than the honest actors and force all nodes to accept them. In the scenario you gave where 51% of nodes are running malicious software with different rules for consensus, you end up with what we call a hard fork.
@shymaaarafat1342
@shymaaarafat1342 Жыл бұрын
@@coffle1 Ok, I recalled the Q&A here 1-He was asking why a wrong block a malicious miner propagates won't get accepted maybe nodes will not have time to check. 2-I replied checks (signature & hash verify) are done automatically for each block if you are a full node, if u r not (don't verify) then u r not considered a "full node" and ur vote doesn't count on whether this block is accepted or not. (By the way, coming back here from the future 2022, some Ethereum L2 suggested protocols I think apply optimistic consensus maybe approaching what the original asker described; ie accept without verify until a complain or contradiction happens didn't follow more on the details of that; called optimistic roll-up I think heard about it Justin Drake talk but did not follow more ) . 3- When I say 51% attack I mean an attack that can only succeed with at least 51% nodes participating, not necessarily the most famous one u mentioned about the monopoly of at least 51% of the hash power. -I don't recall talking about the malicious consensus software here, only in twitter because it was in a latter time I guess, but ur reply resembles one I got there. -My answer is a forks happen when a rule changes or some kind of disagree happens consciously; ie people are completely aware of the dispute and taking a fully informative decision on which direction they're going. The situation I describe is ur verifying code was hacked, and you absolutely have no idea why ur verifying result is different from other full nodes ( generally full nodes don't know each other to meet and talk about it) -So if someone managed to tamper/hack more than 50% of the protocol versions he will do what he wants, it's like u hired someone to stand on a gate and let people pass according to some rule RA, if he changed the rule to RB without telling you then RB will be the passing criteria until someone complains directly to you and you decided to investigate and "roll back" faulty blocks. . Final Remarks: -------------------------- 1Maybe a deeper analysis will prove this needs more than 2/3 malicious code versions, as in byzantine BFT, not just 50%; however roughly speaking I believe it's 50% 1/2 because this permission less with randomly chosen leaders (leaders mean miners here) 2-For a more deeper thorough look on consensus (and somehow abstract & theoritical) u may study Tim Roughgarden "Foundations of Blockchains" course on KZbin & GitHub
@coffle1
@coffle1 Жыл бұрын
@@shymaaarafat1342 The original asker saying “checking takes time and they don’t want to check” is a little ambiguous in that it doesn’t precisely explain who “they” are. As you said in (2), full nodes will always check. On whether something is a fork: It doesn’t matter if a maintainer of a node is conscious of it running hacked software or not, if it results in the full node not verifying blocks correctly then it’s seen as malicious to the rest of the network. The bottom line is that if the consensus rules of a node on an existing protocol is different then the original nodes on the network, it will *always* be considered a hard fork regardless of how that node came to be that way. The full nodes still running the original consensus rules (be it 10% or 90%) will still be part of the original chain while the “hacked” nodes will be considered a hard fork (assuming there’s a shared history). The “hacked” nodes will never have a say in consensus for those running nodes with the original consensus rules.
@TheLiquidMix
@TheLiquidMix 2 жыл бұрын
Is anyone able to find any extra information regarding the section about how bitcoins/satoshis are destroyed and then created with a unique ID for each transaction to prevent the relay attack. I can only find contradictory information suggesting that no destruction recreation takes and place. Thanks for any help.
@shymaaarafat1342
@shymaaarafat1342 2 жыл бұрын
1- she said prevent "replay attack", ie resending or re-including the same transaction again in another block with all its valid signatures & hashes&.... 2-Destroy here ( in any UTXO based cryptocurrency) means deleting the old variable and creating/inserting another one to hold the new value -She said it & it's true the UTXO model is not a default natural easy to think of, not like our minds in computer community with the variable model, or in the banking finance community as the account model; still it has its benefits. -think of it as when u pay with fiat currency: if u pay say with 100$ the 100$ has a serial number, the change u get say 50$ has a different serial number. -What happen here is the input UTXO is completely deleted from the current set of UTXOS, and a new one is created for the change; even if the change is going back to u the same person, this gives u the chance of creating a new address to keep ur anonymity (if u kept the same address people will probably know it's u) -Now if someone tried to resend this old transaction again, they will not find the spent UTXO in the current UTXOS set
@careeruse7152
@careeruse7152 3 жыл бұрын
Cardano uses UTXO too !! Check it out !!
@brunoa2893
@brunoa2893 3 жыл бұрын
Nothing is more pedantic than saying "it's a great question". Otherwise good lecture!
@xjazz666
@xjazz666 3 жыл бұрын
37:30. The remaining bitcoin doesn't go to the miner! It returns to the Sender minus the fee!
@nathannewell3017
@nathannewell3017 3 жыл бұрын
Hey :) If the remaining bitcoin doesn't go to the miner, what determines the fee?
@xjazz666
@xjazz666 3 жыл бұрын
@@nathannewell3017 the fee are determined by the network. If you go to Bitcoin Explorer you will see the fee. The Bitcoin works like cash. If need to pay you 0.5 btc but I send you 1 btc then I will get 0.5 - fee back to my wallet. There is even a special address for the changes.
@shymaaarafat1342
@shymaaarafat1342 2 жыл бұрын
She means when u subtract the sum of output values from the sum of input values the difference≥0 goes to the miner as the transaction fee, and it's allowed to be zero because sometimes the miner him/her self is making a transaction. -As for what is mentioned in the other reply about how the fee is determined, that's another issue than this lecture: Different sites/ wallets recommend a fee for u, or u can look for the current average/median fee in statistical sites like blockchair.com, blockchain.com,.... and the general rule is the larger fee u choose to pay the faster ur transaction is included in a block because miners naturally like to maximize their revenue (profit)
@POM4R4NC
@POM4R4NC 2 жыл бұрын
@@xjazz666 No, the part that goes back to your wallet has to be an output. She is talking about unspent coins from the inputs. That means the remaining bitcoin does go to the miner.
@shivamtharwani4057
@shivamtharwani4057 3 ай бұрын
where is lecture 9
@shivamtharwani4057
@shivamtharwani4057 3 ай бұрын
why is lecture 9 not there
@mitocw
@mitocw 3 ай бұрын
Lecture 9 is not available.
@mitocw
@mitocw 3 ай бұрын
Lecture 9 was on 'Peer-to-peer Networks' and had a guest lecturer. Sometimes the guest lecturer doesn't sign the IP forms. We will not show their lecture without permission.
@shivamtharwani4057
@shivamtharwani4057 3 ай бұрын
well thank you for the whole series though i'm having fun exploring. this is the best.@@mitocw
@PaulFidika
@PaulFidika Жыл бұрын
Bitcoin, on a technical level, works very differently from how 95% of people understand it. The UTXO model is somewhere between incredibly genius and incredibly stupid.
@Komiker213
@Komiker213 2 жыл бұрын
Thats why Cardano is more scalable than Ethereum
@biscottigelato8574
@biscottigelato8574 Жыл бұрын
Should not have confused the concept of UTXO as a ‘coin’. This is overloading the term and confusing the students
@tenthmyth
@tenthmyth 3 жыл бұрын
is this elementry? no pun
@dthewave9466
@dthewave9466 2 жыл бұрын
r/iamverysmart
@peter9910
@peter9910 Жыл бұрын
A lot of errors, she clearly has some gaps in understanding and confidence
5. Synchronization Process and Pruning
1:12:01
MIT OpenCourseWare
Рет қаралды 18 М.
13. Payment Channels and Lightning Network
1:19:15
MIT OpenCourseWare
Рет қаралды 86 М.
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 13 МЛН
Эта Мама Испортила Гендер-Пати 😂
00:40
Глеб Рандалайнен
Рет қаралды 9 МЛН
Buy Feastables, Win Unlimited Money
00:51
MrBeast 2
Рет қаралды 84 МЛН
Когда на улице Маябрь 😈 #марьяна #шортс
00:17
12. Transaction Malleability and Segregated Witness
1:15:13
MIT OpenCourseWare
Рет қаралды 13 М.
3. Signatures
1:14:44
MIT OpenCourseWare
Рет қаралды 36 М.
Lecture 1: Introduction to CS and Programming Using Python
1:03:30
MIT OpenCourseWare
Рет қаралды 291 М.
6. Wallets and SPV
1:07:16
MIT OpenCourseWare
Рет қаралды 16 М.
16. MAST, Taproot, Graftroot
1:16:22
MIT OpenCourseWare
Рет қаралды 9 М.
22. Alternative Consensus Mechanisms
1:20:33
MIT OpenCourseWare
Рет қаралды 13 М.
What are Smart Contracts in Crypto? (4 Examples + Animated)
8:09
Whiteboard Crypto
Рет қаралды 515 М.
Lec 4 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008
51:27
Lecture 1: Course Overview + The Shell (2020)
48:17
Missing Semester
Рет қаралды 707 М.
17. Anonymity, Coinjoin and Signature Aggregation
1:13:34
MIT OpenCourseWare
Рет қаралды 8 М.
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 13 МЛН