月亮链 月亮链
Ctrl+D收藏月亮链
首页 > SOL > 正文

比特币:区块链百科:比特币的UTXO模型_区块链比特币中国官网联系方式

作者:

时间:1900/1/1 0:00:00

我们都知道支付宝的转账流程:打开APP、输入转账地址或者扫二维码、输入转账金额、点击确认并输入密码。

比特币的转账流程也是一样的。但是比特币和支付宝背后的转账原理其实是千差万别的。

支付宝采用的是账户余额模型,比如大白支付宝账户有100元,给小黑转账80元,大白的账户余额会减少80元,变成20元,小黑的账户余额由0变成80元,大白和小黑的账户都会直接显示一个余额,这就是账户余额模型。

01.UTXO模型简介

比特币系统是一个点对点的电子现金系统,UTXO模型和我们的现金支付模型有很多的共同点。大白有两张面值50元的现金纸币,想要给小黑80元,需要把这两张50元的现金给小黑,小黑再找给大白20元,大白和小黑钱包里还有多少钱不会像支付宝那样直接显示一个余额,而是需要自己去数一下:钱包里有几张纸币以及每张的面额,然后进行加总。我们可以把现金的支付方式看做是UTXO模式的简化版本。

UTXO模型和现金支付模型的共同点:

①每条UTXO都有对应的面值,就像每张纸币会有一个面值一样。

②一条UTXO在交易中必须作为整体被消耗,就像纸币一样不可以撕开来使用。

如下图:左边的地址是比特币交易的发起地址,右边是2个接收地址,其中1个地址跟左边的发起地址是一样的,这笔交易的转账金额是0.26682745BTC,其中接收者拿到了0.1732608BTC,回到原转账地址的是0.09356665BTC。

③UTXO和现金一样都有最小面值,UTXO最小面值单位是聪,1个BTC=10的8次方聪,也就是1亿聪,1聪=0.00000001个BTC。

杭州首个“数字乡民”区块链藏品上线:金色财经消息,近日,杭州市西湖区长埭村借助区块链技术,推出“数字乡民”典藏卡,上线阿里资产,目前正在发行销售。用户购买典藏卡后,除获得村委授予的“数字乡民”荣誉称号外,还能免费品茶并获赠西湖龙井。据悉,这也是杭州首个推出区块链数字藏品的村庄。

长埭村“数字乡民”典藏卡,是经长埭村村委会签约授权,由知名艺术家创作,然后在区块链平台上链、存证和确权,生成链上数字艺术作品,最后在阿里资产上“杭州市西湖区西湖龙井茶茶农协会”官方店进行预展和发行。(fm95浙江经济广播)[2022/5/13 3:14:20]

UTXO模型和现金支付模型的不同点:

①现金支付:找零是收款人做的;

比特币系统:找零是发起者自己进行设置的。

②现金的面值是固定的,UTXO的面值不固定,而是在发生交易的过程中也随之改变。

比特币的UTXO面值是不固定的,如下图,这是史上第一笔比特币交易,中本聪转给哈尔·芬尼10个BTC,这里花费了一条面值为50BTC的UTXO,找零之后得到了面值为40BTC的UTXO。

原本一个面值50的UTXO变成了两个面值分别为10BTC和40BTC的UTXO,如果中本聪给转给哈尔·芬尼的是15个BTC,那么面值为50BTC的UTXO就会变成两个面值分别为35BTC和15BTC的UTXO。

下图是一个比特币UTXO集的数据图,从2009年到2019年这10年之间,UTXO集的数据整体是一个增长的趋势。

③现金是不可能被双花的,比特币有可能双花。

同一笔比特币被花费两次甚至多次的情况就叫做双花。比特币它作为一种虚拟货币是没有实体的,它的本质是数据,有可能把一笔同样的比特币花费两次。

UTXO是UnspendTransactionOutput,即未消费的交易输出,每一笔比特币的交易都会有输入和输出。

当大白转账80元给小黑的时候,这80元对大白来说是一笔交易的输出,叫transactionoutput,对于小黑来讲这是一笔交易收入transactioninput,如果后面某个时候小黑把这80元又花出去了,那么这80元对于小黑来讲也变成了交易输出,而在小黑还没有把这钱花出去之前,它就是一笔还没有被花费掉的交易输出,transaction的缩写是tx,所以UnspendTransactionOutput就是UTXO。

动态 | 越南CMC电信合作Akamai 将为区块链交易平台BCNEX提供安全服务:据Cointelegraph消息,越南CMC电信和美国云服务提供商Akamai签署了一项合作协议,将为基于区块链的交易平台BCNEX提供安全服务。两家供应商都将为BCNEX提供支持,BCNEX则将为越南区块链初创企业提供支持服务。据报道,该项合作的目的是确保用户数据的安全并防止DDoS攻击。[2019/5/3]

我们看一下链上数据是什么样的?如下图:

其中右上方的confirmation就是确认的意思,它这里显示6+,也就是说这笔交易被确认的交易区块数已经超过了6个,通常一笔交易它被确认的区块数超过6个的时候,就认为这笔交易已经是一个完成的状态,并且不可逆了。

什么意思呢?先来解释一下这个确认的区块数,当一笔交易被放进一个区块里面,增加到区块链上最新的那个块的时候,这个时候的区块确认数是1,然后后面不断的会有新的区块增加上来,得到的区块确认数就会变成2、3、4、5、6......这样子不断的去增加,当它后面跟着的区块是5个,也就是说这笔交易得到的区块确认数是6的时候,我们就认为这笔交易不可能再逆转了。6+的旁边还有个锁的标志,当这个区块的确认数达到6以及以上的时候,这个锁就会变成锁上的样子。

02.找零机制

中本聪有一个面值为50的UTXO,转给哈尔·芬尼10个BTC,除了要写哈尔·芬尼这个收款人的地址,还要写找零地址,说明多出来的40个BTC想放到哪个比特币地址,可以是原来发起转账的地址,也可以是其他的比特币地址,必须得写一个找零地址,告诉矿工:剩下的40个BTC是想放在哪里的?

因此右边的交易收款方的地址有两个,一个是哈尔·芬尼的地址,一个就是中本聪的地址,中本聪设置的找零地址就是发起交易的这个地址,但是通常呢找零地址是不会和原交易发起地址相同的,这是出于隐私保护的考虑。

动态 | “中国·海南未来产业园”将聚焦区块链等创新型应用产业领域:据海南日报报道,4月24日下午,海口市政府与海南未来产业园投资营运控股有限公司签订建设合作协议。据了解,双方将充分发挥各自优势和资源,共同建设“中国·海南未来产业园”项目,并在园区政策制定、产业资源、配套服务等方面展开广泛合作。园区产业定位为聚焦移动互联网“下半场”,5G背景下的新媒体、人工智能、量子计算、区块链、新能源及智能制造等创新型应用产业领域。[2019/4/25]

我们知道比特币是一个公开的大账本,所以如果总是用单一的地址进行交易的话,就容易有隐私泄露的危险,比如说别人一查这个地址,就可以看到地址上所有的比特币余额,知道你的具体资产有多少。因此呢,出于隐私保护的考虑,建议大家在使用比特币进行交易的时候,一定每一次都要使用新的地址。这样别人无法看到你拥有的其他比特币地址里面有多少钱,以及你用它们做了什么交易。

上图中的比特币就是中本聪的一个地址,它里面一共发生了45笔交易,大约还有18个比特币,但是这只是他其中一个地址,他手里究竟有多少比特币,我们是没有一个精确的数据的。据说中本聪拥有100万个比特币,也是通过其他的一些信息模模糊糊推断出来的,并不能完全肯定,因为中本聪不可能总是使用同一个比特币地址。

大家看上图的上面部分,这三个地址没有一个是一样的,那当找零地址与发起交易地址不同的时候,收款方这两个地址哪个才是找零地址呢?答案是:不知道,你没有办法知道,他是转账了0.29个BTC,找零37.208506个BTC,还是转账了37.208506个BTC,找零0.29个BTC。在blockchain这个浏览器上,你可以看到它对这笔交易中到底哪个才是转账的比特币做了一个预计,叫做estimatedbtctransacted,估计0.29个BTC是转账的金额。

如果交易的时候不写找零地址,剩下的钱会被系统默认为全部归属于矿工,全部给矿工当成是帮你打包交易的手续费。如下图:

上图中这笔交易的发起者,不知道是因为搞错了还是什么,我们可以看到这个交易,只有一个收款地址没有找零地址,所以除了收款地址收到的0.001个BTC之外,剩下的291.2409个BTC全部都变成了矿工的手续费了。

动态 | 四分之一机构投资者预测上市公司将在未来几年内制定区块链计划:据cryptobriefing报道,根据全球区块链商业委员会(GBBC)在达沃斯世界经济论坛期间面向71位机构投资者的一项调查,四分之一的机构投资者预测,上市公司将在未来几年内制定区块链计划,另有38%的人表示这可能会在未来五年内发生。很高比例的受访者认为区块链具有潜在的破坏性,40%的人认为这是互联网以来最具变革性的技术突破,34%的受访者不同意这种观点。近三分之一的机构投资者认为区块链很快就会出现在董事会中。 31%的受访者预测,在三到五年内,上市公司必须设立“区块链负责人”,与其他董事一起担任董事会成员。[2019/1/25]

但是现在的加密货币钱包软件都是非常人性化的,照顾到了一些总是忘记或者压根就不知道需要设置找零地址的人,会自动帮用户去生成1个找零地址和手续费,如果你觉得钱包自动设置的手续费太高了,也可以进行下调,或者如果你想要交易被尽快确认的话也可以调高手续费。

04.旷工对UTXO进行校验

作为矿工,打包前要考虑3个问题:

1、发起交易者的地址里是否有足够的UTXO

也就是说是否有足够的比特币,矿工会查看交易者的UTXO集,旷工可以从这个集合里面去查询发起者交易的地址当中是否有足够的余额,如果余额不足,交易无效。

2、发起者的这笔交易使用的比特币是否是双花

矿工去查询区块链账本上的数据,检验这笔交易发起者之前是否已经用这笔比特币买过其他的东西,如果使用的UTXO已经支付过给别人了,存在双花的问题,那么这笔交易就不能通过矿工的交易校验。

3、发起者能否提供合法的私钥签名

合法的私钥签名用来证实发起者对这个比特币地址是有控制权的,如果不能提供私钥签名,那么矿工就会判定他发行的这笔交易是非法的,不能通过检验。

以太坊企业联盟推出三个工作组 旨在为企业提供区块链解决方案:以太坊企业联盟(EEA)已经在数字标识、能源和多平台互操作性上创建了三个工作组,以利用以太坊技术在这些领域创造和交付具体的进展。自2017年2月推出以来,以太企业联盟已拥有300多个成员,是目前全球最大的区块链联盟。工作组成员包括英特尔(Intel)、微软(Microsoft)和万事达卡(Mastercard)等公司,是企业和以太坊开发初创企业的集合体,甚至是政府联合起来利用开源的以太坊技术为企业提供区块链解决方案。[2017/12/28]

脚本语言在区块链中是一个比较抽象的概念,但也是一个非常重要的功能,我们经常会说比特币系统是图灵不完备的,以太坊是图灵完备的,这其实是在说他们的脚本是否图灵完备,图灵完备是对计算机能力的描述,指可以实现所有可编程计算机能够执行的计算逻辑。

一个图灵完备的脚本语言可以发挥计算机所有的能力,反之一个图灵不完备的语言是不能发挥计算机的所有能力的。比如在比特币系统当中,它的脚本是不图灵完备的,只能进行比特币的接收和发送,而以太坊的脚本是图灵完备的,或者严格说起来其实是半图灵完备的,它除了可以进行以太币的发送和接收,还可以部署智能合约,实现更多的功能。比特币的脚本是智能合约的雏形,但它不是图灵完备的,可是这里要说明一点:不图灵完备并不意味着就是一个缺陷,因为图灵完备涉及到的技术非常复杂,容易引发安全漏洞。

比特币的设计初衷只是想做一个现实生活中的支付货币,货币的交易和流通安全是第1位的,他想简简单单一点,以太坊的创始人“V神”曾经和比特币的核心开发团队建议,把脚本变得更丰富一点,但是被拒绝了,所以他之后就创造了脚本语言更加丰富的以太坊。

比特币的脚本系统是一个先进后出的堆栈模型,什么是堆栈?堆栈也是一个计算机科学里经常使用到的比较抽象的数据类型,堆栈的物体有一个特性,最后一个放进堆栈的物体总是会被最先拿出来。我们可以把堆栈想象成一个箱子,你往箱子里面先是放了一本书,然后放了一个帽子,最后放了一把剪刀,如果要拿出来,顺序是剪刀、帽子、书本。

所以最先进入箱子的东西是最后拿出来的,这就是一个先进后出的堆栈模型,或者后进先出的堆栈模型,堆栈中两个最重要的操作是push和pop,push操作是加入一个元素,pop操作刚好相反,是移走一个元素。

如上图:大家先看inputscripts输入脚本,输入脚本也叫做解锁脚本。

第1条指令是pushdata,pushdata意思就是说把数据推入堆栈,71是指这条数据大小是71个字节,它是用16进制的格式来表示的。

第2条指令是pushdata,也就是把这33个字节长的数据也推入堆栈。

那么推进去的这些数据到底是什么数字呢?第1条指令推入的数据是私钥签名,第2条指令推入的数据是公钥。现在这个堆栈里面有2层数据,第1层是发起方的私钥签名,第2层是发起方的公钥。

outputscripts

然后我们再来看看outputscripts输出脚本,输出脚本也叫做锁定脚本。

第1条指令是dup,dup是duplicate的缩写,dup就是把栈顶的数据复制一份。

第2条指令是hash160,也就是把发起方的公钥进行hash160运算得到公钥哈希。

第3条指令是pushdata,将后面这20个字节的数据即公钥哈希值推入堆栈。

验证交易

到这里所有验证交易是否合法的信息都已经推入到堆栈了,接下来就可以进行验证了。

第1步是equalverify,equalverify就是验证判断两样东西是否相等,在这里也就是需要判断比较栈顶的两个数据是否相等。

为什么要做这一步呢?堆栈里面它的第3层的公钥哈希值是从输入脚本inputscript里推导出来的,而第4层的公钥哈希值是从outputscript输出脚本里面拿出来的,输出脚本也叫锁定脚本,锁定脚本这个公钥哈希值是地址,是区块链上大家都能查到的,但是输入脚本的公钥哈希值是只有拥有对应公钥的人才可以算得出来的。

前面我们讲过,非对称加密的私钥和公钥,私钥是要自己保存好的,公钥可以去分享给别人,私钥到公钥是一个单向的推导过程,不能反推,但是因为量子计算机的出现,它是一个非常强大的计算机,有可能做到从公钥反推出来私钥。

一开始设计的时候,中本聪是直接拿公钥作为地址的,这是非常不安全的,后来程序员们把公钥的哈希值进行编码作为地址,而量子计算机目前还没有办法做到直接从地址反推出来私钥。

因此现在比特币区块链上,私钥和公钥都是大家轻易不会拿出来分享的,如果你想要使用一个地址里的比特币进行转账的话,那么你首先得先提供对应的公钥,让旷工可以检查,你是这个地址的拥有者,因为你有相应的公钥。第1步的检查就是把发起者输入脚本里的哈希值和输出脚本里的哈希值进行对应,看是否是相同的,如果是相同的,就先通过了第1道检验。

接着是第2步检验叫checksig,就是利用发起者的公钥对签名进行检查,检查通过后可以确认这笔交易是本人发起的。

以上就是比特币的UTXO模型校验的过程。

04.量子计算机

量子加密是加密技术第7代密码学技术,它的上一代是RSA加密系统,RSA是现在应用范围最广泛的加密手段。比特币采用的是椭圆曲线ECC算法,单位安全强度是要强于RSA算法的。但无论是ECC还是RSA,这两种加密算法在量子计算机面前都还不够强大,很容易会被破解,量子计算机一旦成功,对目前网络、通讯、通信和银行上的RSA加密算法会构成威胁。

比特币系统中的加密算法一共是两种,一个是椭圆曲线算法,一个是哈希算法,椭圆曲线算法是用于私钥到公钥,哈希算法是用于公钥到地址。私钥到公钥的推倒过程原本是不可逆的单向的,公钥不可能反向推导出私钥,因为公钥反推私钥的工作量非常的大,目前的计算机是无法胜任如此大的工作量的。而最新的量子计算机被认为是可以做到从公钥反推私钥的,甚至有人说量子计算机投入使用的时候就是比特币的终结之日。

最近有很多媒体都在报道谷歌研发的量子计算机取得了不小的进步,谷歌的研究人员表示,谷歌的处理器可以在3分20秒之内完成目前全球排名第一的超级计算机需要1万年才能完成的计算,按照一位普利茅斯大学教授的估计,量子计算机可以在几分钟之内就从公钥反推出私钥是什么,而在知道所有私钥之后就可以拥有对应地址的比特币的转账权利了。

所以比特币系统没有直接拿公钥来作为地址,而是拿公钥哈希值进行编码之后作为地址,公钥到地址之间多的这一步哈希处理就是为了在量子计算机面前多放一个障碍,有了这个哈希函数,目前的量子计算机还无法有效的破解比特币的私钥,直接从一个地址去反推私钥,这是目前量子计算机还无法做到的。

但是UTXO模型里,我们看到了当你在一个地址里面发起一笔转账的时候,你的脚本里面就暴露了这个地址对应的公钥。所以我们在使用比特币地址的时候,还是建议大家只使用一次性的地址,也就是说这个地址一旦发生过向外的转账,你后面就不要再去用它了,你进行转账的时候就把你们的钱全部转出,因为在转账的时候,这个公钥已经暴露在区块链上了,量子计算机已经足够强大了,它可以做到在几分钟之内从公钥反推私钥,所以如果一个地址反复的去用,公钥已经在网络上暴露了,它是非常的不安全的,我们可以把这些比特币转到一个新的还没有使用过的地址里面,那这个地址它的公钥是没有暴露的,暂时还是安全的。

标签:比特币BTC区块链比特币中国官网联系方式40亿比特币能提现吗比特币最新价格行情走势BTCs是不是黄了btc钱包官网btc短线交易局区块链工程专业学什么区块链存证怎么弄区块链技术发展现

SOL热门资讯
比特币:比特币能源消耗担忧是被误导的,挖矿可能对环境产生积极影响_40亿比特币能提现吗

外媒:美国银行和富达通过增持MicroStrategy股票对比特币有间接风险敞口:4月11日消息,美国银行和富达银行在第一季度的资产负债表上持有大量MicroStrategy股票.

1900/1/1 0:00:00
区块链:本体(ONT)价格预测:2020年之前本体能否飙升300%?_全球十大加密货币

在过去的几周里,本体论经历了令人难以置信的激增。加密货币在过去7个交易日内上涨了13%,在过去30个交易日内价格进一步上涨了72%.

1900/1/1 0:00:00
比特币:币聪行情:比特币持续看涨,瞄准上涨目标4,500美元_比特币价格比特币中国官网联系方式

尽管面临强势阻力区的拒绝,比特币周一维持看涨观点。在比特币对美元的汇率从3,956美元飙升至4,244美元的亚洲时段中踢了。这对试图突破的动作,但后来的会话峰附近的温和抛售压力.

1900/1/1 0:00:00
比特币:伊朗袭击美军基地,BTC暴涨500刀,避险属性究竟能否实锤?_USD价格

据腾讯新闻报道,当地时间8日早晨,美军驻伊拉克“阿萨德空军基地”遭多枚火箭弹袭击。随后,伊朗伊斯兰革命卫队立即发表声明,证实其以“数十枚地对地导弹”袭击美军基地.

1900/1/1 0:00:00
USD:上架币安的稳定币USDC完成首次储备金认证,1.27亿美元在背后撑腰_USDC价格

加密独角兽「Circle」,在发行稳定币「USD-Coin」后,首次针对其银行账户发布了一份独立的第三方认证。该认证显示,支撑稳定币USDC的美元储备资金,状况相当良好.

1900/1/1 0:00:00
比特币:币聪行情,分析师称2019年比特币预计下半年将会回暖_加密货币

在过去24小时内,由于比特币价格进一步跌破3,600美元大关,因此加密市场已经从120美元回升至1230亿美元。比特币价格进一步跌至3,600美元以下.

1900/1/1 0:00:00