主页 > 下载imtoken官方网站 > 【中硕区块链】比特币交易模型-UTXO技术分析

【中硕区块链】比特币交易模型-UTXO技术分析

下载imtoken官方网站 2023-12-25 05:13:53

【中硕区块链】是由HiBlock区块链社区组织的微信群讨论活动。 每周六晚上9:00准时开始,围绕一个话题展开讨论。 感兴趣的小伙伴和小助手:baobaotalk_com 进群~

云南水电站停止比特币生产_比特币生产采用了什么技术_比特币区块链扩容技术

上一期《中硕区块链》讨论的话题是“”。 通过何强老师对Token深层次生产关系、Token与项目的结合、落地技术的讲解,大家进一步加深了对区块链技术的理解。

本期《中硕区块链》的话题是“比特币交易模型——UTXO技术解析”。 特邀嘉宾胡华杰老师分享了很多关于UTXO技术的干货。

题目:比特币交易模型UTXO技术分析

时间:6月、2月(周六)9:00pm-10:00pm

主持人:裴瑶

特邀嘉宾:胡华杰

资料来源:交易费用官方说明

讨论内容:

双花问题:因为比特币网络有一个天然的问题,也就是所谓的分叉问题,可能总是有多个比特币矿工挖出合法的区块比特币生产采用了什么技术,然后在这条链上出现分叉,那么这个时候,为了解决这个问题,规定保留最长的链,这时候就会出现所谓的双花问题。

SPV:这个词的意思是简单的支付验证,重点是支付验证,而不是交易验证。 只是为了确保付款存在。 这里面有一个核心的技术概念,就是像merkle tree这样的数据结构。 比特币区块分为区块头,区块头的长度固定为 80 字节。 这个区块头包含默克尔树的根节点。 这个根节点有什么用? 它可以用来验证是否包含此事务。 具体如何验证,先定位到交易存在于哪个区块,然后获取交易所在区块的merkle树的验证路径,然后通过hash计算merkle的根节点的值是否相等计算知道这个交易是否存在。 这种方法有什么好处,因为每个区块头都是固定的80字节,即使交易头数据按照现在的交易量保存一百年,也只有几百兆,估计400左右兆字节,而且不是很大。

UTXO模型技术知识:它没有使用传统的基于账户的记账模型。 传统的事务模型使用这种模型来存储用户数据,因为基于传统的关系数据库,可以很容易地实现事务支持。 在区块链网络上,不可能用这种中心化数据库的方式来解决。 它改变了它的思路,就是记录交易过程,就像我之前看到它用竹管从山上打水引到山下一样。 传统的账户模型本质上只记录结果。 这种方法不仅复杂,而且容易出错。 比特币本身的思想就是数据不可篡改,而不可篡改最重要的实现就是记录整个流通过程,就像时间一样,一切都是有序的,还有git的版本原则,任意修改会被记录下来。 用编程术语来说,可以理解为:面向过程,关注过程而不仅仅是结果。 因为有了过程,自然会有结果。

讨论记录

严严:大家好,周六晚9点,HiBlock区块链社区专栏《中硕区块链》准时与大家见面。 我是主持人裴瑶。 非常感谢您对社区的支持。

“中硕区块链”由HiBlock区块链社区发起。 每周六晚9点,社区将组织区块链相关话题讨论,社区成员在讨论中加深对区块链的理解。

据媒体报道,半个月前,恶意矿工通过获得51%的算力支持,成功对比特币黄金(BTG)网络实施双花攻击,并从中牟取暴利。 作为第27大损失的加密货币,比特币黄金此次并未对个人用户造成任何损失。 如果攻击者还有足够的算力,不排除攻击的可能。

双花问题、交易验证问题、51%算力攻击到底是什么意思? 最长链会不会被追上比特币生产采用了什么技术,SPV机制是否完善,如何有效防止双花攻击?

本期《中硕区块链》的题目是《比特币交易模型UTXO技术分析》,大家可以围绕这个话题分享您的看法和见解。

接下来有请本期特约嘉宾胡华杰带领大家一起聊一聊UTXO技术~~~

@胡华杰:今天聊聊比特币的底层技术之一,UTXO模型,包括SPV等。

@胡华杰:之前参加过一个活动,有个大神说到51%的补给问题。 伟大的大师说了什么? 他说,如果控制了前三名矿工,那么比特币网络就完了,怎么可能完呢?他说这样他们就掌握了51%的算力,这样你就可以把你所有的钱都转移到他们的账户

@胡华杰:相信大家一定都看到了问题。 我不会抱怨的。 说白了,其实所谓的算力攻击问题,就算没有51%也还是有可能的。 所谓的算力攻击和篡改数据根本就不是一个概念。 数据篡改由密码学保证并由一组机制确定。 即使只有一个节点,您也无法篡改数据,很可能整个数据都丢失了。

@何强:拥有51%的算力是什么意思?

@Victor H Lotte:这意味着决定可以链接哪些块。 也可以丢弃哪些块。

@范杰娜:我不懂算力的定义,我觉得只要比全网所有人都快,就可以实现双倍支付

@何强:牢度不是决定因素@范杰娜

@胡华杰:所谓的双花问题是这样的,因为比特币网络有一个天然的问题,也就是所谓的分叉问题,这个问题可能随时都会发生。 如果出现分叉,那么这个时候,为了解决这个问题,规定保留最长的链。 这时候就会出现所谓的双花问题

@胡华杰:比如第一次显示我的交易进入了区块链,但是过了一段时间,可能因为分叉的问题,花掉的钱又回来了,因为这个时候出现了分叉,导致我的兑换所在的块丢失了。 如果此时商家已经确认付款,发现钱没了。

@范经纬:@何强为什么? 我不能通过生产最快的区块来控制分叉吗?

@何强:@范杰娜 封杀只是第一步。 你还是要完成整个链上的记账。就像接力赛,你们是一个团队,一个人跑是没有用的

@范经纬:不是在出块的同时播出吗? 其他节点只有在收到我的区块后才进行合法验证并记录。 如果网络传播速度一样,那还是可以保证我能控制分叉的吧?

@胡华杰:接下来说说SPV。 这个词的意思是简单的支付验证。 重点是支付验证,而不是交易验证。 只是为了确保付款存在? 这里面有一个核心的技术概念,就是像merkle tree这样的数据结构。 比特币区块分为区块头,区块头的长度固定为 80 字节。 这个区块头包含了默克尔树的根节点。这个根节点有什么用呢? 可用于验证是否包含此交易

@干干无负:360说的所谓史诗级是什么鬼

@胡华杰:具体如何验证,先定位到交易存在于哪个区块,然后获取交易所在区块的merkle树的验证路径,然后计算merkle根节点的值是否相等通过哈希就可以知道这笔交易是否存在。 这种方法有什么好处,因为每个区块头都是固定的80字节,即使交易头数据按照现在的交易量保存一百年,也只有几百兆,估计400左右兆字节,而且不是很大。

@胡华杰:现在是真正的表演时间! 说说UTXO模型的技术知识。 我认为这是区块链技术中最了不起的发明。 许多人认为比特币是各种现有技术的结合。 其实里面有很多技术。 哥自己发明的,这就是其中之一。 许多其他区块链理所当然地修改或取消了 UTXO 模型,并创建了自己独特的链。 事实上,他们中的许多人最后都变回来了。

@干干无负:从牛逼哥

@胡华杰:图片来自btc币官网

比特币区块链扩容技术_云南水电站停止比特币生产_比特币生产采用了什么技术

@何强:UTXO是SPV的实现吗?

@胡华杰:UTXO是交易模型的内容,spv是简单的支付验证技术

@何强:与UTXO和目前常见的交易方式哪个比较相似?

@胡华杰:为什么说这个设计很巧妙呢? 也就是说,它不使用传统的基于账户的会计模型。 传统的事务模型使用这种模型来存储用户数据,因为基于传统的关系数据库,可以很容易地实现事务支持。 在区块链网络上,不可能用这种中心化数据库的方式来解决。 它换了个思路,就是把交易过程记录下来,就像看到那种用竹管从山上打水引下山的水。 传统的账户模型本质上只记录结果。 这种方法不仅复杂,而且容易出错。 比特币本身的思想就是数据不可篡改,而不可篡改最重要的实现就是记录整个流通过程,就像时间一样,一切都是有序的,还有git的版本原则,任意修改会被记录下来。 用编程术语来说,可以理解为:面向过程,关注过程而不仅仅是结果。 因为有了过程,自然会有结果。 但是只记录结果,你不知道结果是怎么来的。

@胡华杰:这里提一下比特币,虽然只有2100万枚,其实比特币的最小单位是聪,1比特币=1亿聪

@何强:但是现在的银行交易,无论从哪个维度看,也能按照时间线记录整个流通过程? 例如,如果我把钱存入银行,银行实际上知道钱会去哪里。

@胡华杰:比特币分为普通支付交易和coinbase交易。 比特币的来源是矿工挖出来的。 因此,除了coinbase交易之外,其他所有交易都必须有输入和输出。 输入和输出之间的差额是矿工费。 每笔交易发生后,就相当于本次交易从上次水龙头还剩下一笔资金,所以支付给你的钱就相当于一笔暂时存放在这里等待随时流出的钱。 以这种方式验证那句话,是要花钱的。

@风静縠文平:@何强你问的很好。 以太坊中有账户。 以太坊的解决方案是保存所有的账户状态和交易数据,这样可以检查交易数据和最终受影响的账户状态是否一致(正确)。 这与一般意义上的银行记账法是一样的。 在比特币网络中,没有账户,通过UTXO也可以达到同样的效果,即交易流转。

@何强:@风静縠文平 清。

@何强:输入和输出的区别就是矿工的手续费===这个是预先设置好的不能更改,还是以后可以动态调整?

@胡华杰:这个矿工的手续费是这样的,通常可以选择免,但实际上有些钱包默认会选择手续费少的,有的矿工会选择手续费高的交易优先打包。 这是一个复杂的问题,里面有游戏问题

@风静縠结平:所以其实还是可以手动指定的

@胡华杰:

@胡华杰:这是官方声明,每笔比特币交易都将零个或多个比特币支付给零个或多个接收者。 花费的金额与收到的金额之间的差额是交易费用(必须为零或更多)。

@何强:@胡华杰 明白了。

@风静縠文平:wiki上的解释是会根据市场情况动态调整,包括区块大小和供需比例。 具体细节估计要看代码

@胡华杰:这里先分享一下关于比特币的技术。 一般来说,我建议大家直接去官网阅读官方wiki和开发手册,包括源代码,才能真正了解和掌握比特币和区块链的底层技术,有助于提高技术研发区块链的能力。

@召回的。 . . :如果采用传统的记账方式,一旦一个人的账户余额发生变化,为了防止双花,必须同时更新全网账户余额,效率很低,容易造成数据冗余,比如作为我的帐户。 btc没用,但是因为别人的账户变了,我的账户也得相应更新。 想象一下我的账户每天要被动更新多少次,每次更新的数据都被记录下来。 数据量估计用不了多久连谷歌的数据库都要炸了。 . . .但是BTC稳定运行了这么多年,数据量只有几百g。 正是因为UTXO模型完美解决了数据存储和双花问题。 这是一个天才的设计。

@Cynthia:其实之前很多人都不了解UTXO。 胡老师这次重点分享,给大家带来了很多干货。 你明白吗? 有什么问题可以找他们一起讨论。 本期将讨论时间延长半小时。

@召回的。 . ,: 所以有人说中本聪应该是第一个获得诺贝尔经济学奖和图灵奖的人。

@胡华杰:极简设计完美记录交易流程,是UTXO设计的大好去处

@何强:但我总觉得中本聪背后有一个团队和公司。 . 不孤单。 . . 像比特币中的 UTXO 还有哪些吸引眼球的设计?

@胡华杰:很简单,没有事务,没有复杂的锁,单向沟通,只看过程,不看结果

@何强:能给点具体的吗?这样学习还是比较有针对性的好。

@胡华杰:比如:A转100元给B,我的传统思维是A同时减100,B同时加100。 将其视为同时发生的行为,并且会互相伤害。 你有的多,只是我少了。 UTXO的记录方式很简单,A->B,这个过程被记录下来,不需要交易,不需要原子操作。 而且也抓住了事物的本质,这种传递行为也很容易理解。 钱不多也不少,只是换了个主人,世界还是很美好的

@风静縠文平:比特币最核心的创新大概就是UTXO,其他相关技术也不是什么新鲜事。

@颜颜:感谢胡华杰老师的分享和大家的参与。 今天就先说到这里吧。 你可以继续消化。 讨论内容会在公众号上进行整理和公布,想问的可以在文末留言哦~

下一期主题未定,特邀嘉宾也未定。 欢迎大家自荐或推荐~下周六晚9:00

比特币区块链扩容技术_比特币生产采用了什么技术_云南水电站停止比特币生产

HiBlock区块链社区线下活动推荐:

6 月 10 日 - 免费沙龙:

云南水电站停止比特币生产_比特币生产采用了什么技术_比特币区块链扩容技术