一、什么是utxo区块链
区块链的核心技术是什么?
简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有100台计算机分布在世界各地,这100台机器之间的网络是广域网,并且,这100台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P网络协议
P2P网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币P2P网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求Peer节点的地址数据以及区块数据。
这套P2P交互协议也具有自己的指令集合,指令体现在在消息头(MessageHeader)的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的PeerDiscovery的章节。
2、分布式一致性算法
在经典分布式计算领域,我们有Raft和Paxos算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。
如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。
在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了Paxos和Raft为主的分布式系统。
而在区块链领域,多采用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。
PoW:通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。
PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。
DPoS:简单来理解就是将PoS共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是21个节点,也有可能是101个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。
3、加密签名算法
在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。
其中,难题友好性正是众多PoW币种赖以存在的基础,在比特币中,SHA256算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。
而在莱特币身上,我们也会看到Scrypt算法,该算法与SHA256不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于SHA3算法的挖矿算法。以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个IO难解性的算法。
当然,除了挖矿算法,我们还会使用到RIPEMD160算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。
除了地址,我们还会使用到最核心的,也是区块链Token系统的基石:公私钥密码算法。
在比特币大类的代码中,基本上使用的都是ECDSA。ECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC(椭圆曲线函数)。
从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4、账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?
我在设计元界区块链时,参考了多种数据库,有NoSQL的BerkelyDB、LevelDB,也有一些币种采用基于SQL的SQLite。这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。
区块链的账本特性,通常分为UTXO结构以及基于Accout-Balance结构的账本结构,我们也称为账本模型。UTXO是“unspenttransactioninput/output”的缩写,翻译过来就是指“未花费的交易输入输出”。
这个区块链中Token转移的一种记账模式,每次转移均以输入输出的形式出现;而在Balance结构中,是没有这个模式的。
数字货币里的UTXO什么意思?UTXO的中文意思叫作:未花费的交易输出。
UTXO是数字货币中的账户模型,这个模型和我们现在银行的账户模型是不一样的。
拿转账来说,现在的情况是:
我要给依依转2000块钱,我要从我的招商银行卡里面给她转账,我的卡里面有5000块钱,转给她2000块钱以后,我的招商银行账户就被扣除了2000块钱,还剩下3000块钱。
那么如果是基于比特币的UTXO,情况是这样的:
我有5000比特币,我给依依转2000比特币,2000比特币消耗掉了对不对?注意!这2000不是从我这5000总数里面扣除的,而是:我的比特币总额会分成两份(一份
2000,一份3000),这就是所谓“生成两个新的UTXO”:依依收下2000比特币,我自己收下3000比特币,3000算是给我的找零。
转账成功以后,我给依依的2000比特币目前已经使用过了,被消耗掉了,就不能再叫UTXO了,而找零给我的3000比特币目前我还没有使用,所以它还能称作UTXO,也就是未花费的交易输出。那么,如果我总共有5000比特币,我全部转给依依,那么就只需要生成一个新的
UTXO给依依就可以了,不需要找零了。
基于UTXO,每笔交易出现,都要确认比特币之前的情况,检验比特币是不是存在于我的UTXO中,如果不存在,那么系统就会拒绝你的交易行为。
这样一来,每笔交易的输入和输出都是有关系的,可以通过UTXO不断向前追溯,一直追溯到比特币诞生的时候,也就是挖矿的源头。
如果我想用同一笔UTXO发送给两个人,那么系统只确认先接受到的那一笔,一旦确认UTXO已经被消耗了,那么你就不可以再把它转给下一个人,这样就避免了双重支付的问题。
既然系统只确认先接受到的那一笔,那么问题来了,系统怎么知道谁先谁后呢?系统当然知道,因为系统有一个叫“时间戳”的东西。
什么是区块链?不是比特币进化慢,而是我们进化慢
自从区块链(blockchain)这个词被从比特币中抽象出来之后,整个业内就弥漫着一种奇特的意识形态叙事(ideologicalnarrative)。这个叙事是这样的:比特币是一架又慢又旧的破马车,十几年了没有什么改进,什么炫酷的功能都没有。当然,从人类“无利不起早”的天然本性而言,给你讲这么一通破烂话的人,绝对不是吃饱了撑的无事生非,而通常都会在看到你对手里的大饼(BTC)起了半信半疑之心之后,趁机向你推销他正在兜售的拉风跑车项目。
北京时间11月14号下午13点15分27秒,随着区块高度709632的区块被挖出,比特币自2017年隔离见证升级之后最重要的升级之一,Taproot升级,宣告成功激活(今年6月份就已经获得超90%矿工投票lock-in了,本次激活属于明牌)。
该区块中包含了chainside联合创始人FedericoTenga的一笔V1_P2TR交易。在该笔交易中,Federico在OP_RETURNDATA中附加了一句话:gmtaproot。据信,这是历史上第一笔Taproot交易。为了抢到这个名次,Federico支付了2510sat/vB的矿工费(手续费),这大概是正常矿工费(不到10sat/vB)的5百多倍。[1]
Taproot升级为我们带来了区块扩容、更好的隐私性以及增强的扩展性等诸多好处。这些好处主要是由于两项技术的引入而带来的。其一就是Schnorr签名,而另一个就是MAST(默克尔化的抽象语法树)。
Schnorr签名能够压缩数字签名的尺寸。单签名比ECDSA节省约12%的尺寸,也就可以节省转账手续费。以及,它能够把多签名压缩成一个签名,这可以极大压缩多签地址的尺寸,并保护多签参与者的隐私。据说早在2012年MikeHearn就在bitcointalk论坛提出过类似想法。通过压缩签名尺寸,相当于扩大了区块容量,容纳更多交易量。
MAST则可以大大改善P2SH交易的交易尺寸、隐私性和灵活性。最早的BIP-114提案是由JohnsonLau于2016年提出的。早前的P2SH交易可以允许支付时不揭示script(比特币脚本代码)。但是,当花费UTXO(未花费的交易输出)时,便需要提供script且记录到链上,从而占据区块链的容量。如果script比较复杂,则会占据较多的空间。MAST的引入使得我们可以把包含很多条件的复杂脚本组织成默克尔树。在花费UTXO时,也只需要揭示默克尔证明和涉及的script,而不需要揭示整颗树。这就节省了区块容量,改善了脚本的隐私性。同时,由于打开了script尺寸的限制,这就为比特币的可编程性引入了更大的扩展性和灵活性。
应该说,上面几段话对一些只在中心化交易所炒炒币,甚至连私钥都不懂的朋友来说无异于天书。别说Taproot了,便是4年前的segwit(隔离见证),对很多所谓圈内的人来说都不知何物。这没有什么可耻的。我头一次看这些新技术、新名词也是脑袋爆炸。多学习,多研究,多琢磨琢磨,也就搞明白了。
相比于科技的进步,我们掌握知识的能力进化的实在是太慢了。时至今日,很多人还搞不清楚比特币究竟是存储在自己手机上的钱包里,还是在比特币网络上。自己手机或者电脑上的钱包软件又是起什么作用的。私钥是什么,助记词是什么,所谓的HD钱包又是什么。1开头的地址,3开头的地址,5开头的地址,bc1开头的地址都有啥分别。怎么把大饼从交易所提出来,放到所谓链上。怎么自己掌控自己的比特币。怎么签名转账比特币。怎么使用隔离见证地址。以及现在,如何构建Taproot交易呢?
有人于是说,那就不要让用户自己掌握私钥,远离这些技术细节好了。回到托管式的环境,回到互联网中心化的用户体验。这样一种用户体验的改善,就像中心化交易所一样,是以牺牲用户自主掌握资产为代价的。这直接抛弃了去中心化以来全部的价值观。这又是一种进化,还是一种退化呢?
如果只是为了发明一个噱头,让投机者去炒、去赌,那就尽可以不考虑这些。那就不仅不应该限制OP_RETURN的尺寸,甚至应该扩充script使之支持图灵完备的编程。这样就可以在比特币上发行各种空气币、土狗币,再搞出来各种为炒而生的应用出来,所谓繁荣的生态。但是比特币一路走来,似乎是走了相反的道路。不仅从一开始就极大限制了script的功能,而且主动缩短了OP_RETURN的数据尺寸,限制了在比特币链上玩各种花活儿的可能性。
比特币是审慎的。它清楚自己有更大的使命。Taproot的激活,可能会有利于二层的发展。但是,并不会给一层带来自限性的问题。相反的,它会因为压缩了数据尺寸,而扩大了一层的容量。
比特币是富有耐心的。它肩负着普及去中心化数字货币(而不是在中心化平台上进行投机)的历史任务。所以它必须耐心地等待,等待每一个人跟上技术发展的脚步。
UXTO与余额区块链入门从使用钱包开始,我们最关注的是钱包的账户余额。可看过很多区块链资料以后,一直存在一个疑问,钱包的余额信息存在区块链的什么位置?一直没有找到,只有一个相近的概念叫UTXO(UnspentTransactionOutput),但看完以后还是对应不上。直到翻遍网上所有关于UXTO的资料,才知道在中本聪设计的比特币系统中,并没有余额这个概念,“比特币余额”是由比特币等钱包应用派生出来的产物。钱包的余额是通过与账户相关的多个UXTO算出来的。下面且听我详细道来。
了解过一点点会计学,我们现在的会计系统绝大部分采用的是一种叫做“借贷记账法”的方法,账目分成借方和贷方,每发生一笔业务都要登记两个以上的科目。
简单来说,Alice转账给Bob1美元,使用借贷记账法至少要产生两条账目,Alice账户减少1美元,Bob账户增加1美元。这种记账法在企业经营、企业审计中有无数的好处。但是这种记账法也有一个最大的缺点,就是容易产生记账错误和记账误差。一笔交易需要登记两条以上的账目,本质上记录的是“交易的结果”,而不是“交易本身”。
中本聪发明了UTXO(UnspentTransactionOutput)交易模型,并将其应用到比特币当中。UTXO是“未花费的交易输出”,简单来说就是,每一笔比特币交易实际上都是由若干个交易输入和输出组成的。交易输入是资金来源,交易输出是资金去向,每一笔交易都要从交易输入中花费出去一部分,这一部分就是未花费的交易输出(UTXO)。每一次的交易输入都可以追溯到之前的UTXO,直至最初的挖矿所得。
由挖矿所得创建的比特币交易,是每个区块中的首个交易,又称之为coinbase交易,它由矿工创建,没有上一笔交易输出。
在比特币交易中UTXO就是基本单位,一个UTXO一旦被创建就不可被继续分割,它只能当作是下一笔交易的输入被花费掉,花费后产生新的UTXO,这样周而复始地实现货币的价值转移。所以我们在比特币钱包中所看到的账户余额,实际上是钱包通过扫描区块链并聚合所有属于该用户的UTXO计算得来的。
因此,当我们在说某人拥有1枚比特币的时候,我们实际上说的是,在当前的区块链记录中,有若干笔交易的UTXO收款地址写的是这个人的钱包地址,这些UTXO的总和是1个比特币。
比特币的UXTO系统遵守两个规则:
我们以以太账户为例,打开etherscan.io,选择BLOCKCHAIN-AllAccounts,这样可以看到所有地址与余额,可以选择其中一个查看详细信息。如果看不懂,没关系,把自己的以太地址输入到右上角的搜索框回车后,会显示地址的余额和详细交易记录,如下图。
至此,我能理解李笑来老师说为什么他的账户没有余额,只有UXTO了,O(∩_∩)O哈哈~,内行人不要说外行话嘛。
二、hd钱包怎么样查看私
hd钱包怎么查看私钥
HD钱包是一种基于分层确定性技术的钱包,它可以生成一系列的私钥和地址,用于管理加密货币资产。如果你想要查看HD钱包中的私钥,可以按照以下步骤进行操作:
打开你的HD钱包应用,进入钱包主页;
找到“设置”或“个人资料”等选项,并点击进入;
在“设置”或“个人资料”页面中,找到“私钥”或“助记词”等选项;
如果你想要查看私钥,请点击“私钥”选项,系统会提示你输入钱包密码或进行身份验证;
输入正确的密码或完成身份验证后,系统会显示你的私钥。
需要注意的是,在查看私钥时,一定要确保自己的设备和网络环境安全,避免私钥被他人窃取或泄露,从而导致资产损失。因此,在使用钱包时,一定要注意保护自己的账户安全,定期备份私钥或助记词,并存储在安全的地方。
三、数字货币钱包有哪些
这个最热的当然是比特币了,除了比特币还有:\x0d\x0a1、Litecoin(莱特币)\x0d\x0a与比特币相近,莱特币也是以加密数字货币,最近价格急剧攀升。它是一种P2P的开源数字货币,算得上是比特币的一个分支。但是,莱特币虽然基于比特币协议,但是并不要求极高的计算能力,使用普通电脑也可进行挖掘。莱特币的算法,源于Dr Colin Percival为Tarsnap安全在线备份服务(供Linux及其他开源操作系统备份)设计的算法。\x0d\x0a2、Namecoin\x0d\x0aNamecoin同样以比特币为基础,算的上是另外一个开源分支。Namecoin是一种分布式DNS协议——通俗来讲,就是能够将人类可理解的网站名(如ifeng.com)化为机器可以理解的地址。作为自己的DNS,这种货币能够在正常互联网外运营,因此能够脱离ICANN的管制。\x0d\x0aNamecoin的货币价值及域名存储在用户的区块链(blockchain)记录中,将总数限定在了2100万。\x0d\x0a3、Peercoin\x0d\x0aPeercoin是比特币的一种p2p变体,能够提高开采效率、安全性,并提升了保障措施从而避免群体开采——现在,群体开采已经被认为是比特币的一种潜在缺陷。根据CoinMarketCap.com对新兴货币的统计,Peercoin目前在数字货币市值中排在第四位。\x0d\x0a4、Primecoin\x0d\x0aPrimecoin是类似比特币的加密货币,但却擦用了完全独立的挖掘算法。比特币采用了Hashcash算法,而Prime币则使用了长坎宁安链(long Cunningham chains)来打造货币的价值——这是以数学家AJC坎宁安命名的质数序列。\x0d\x0a比特币挖掘过程中,随着货币量的推移难度会急剧增加。但Prime却不同,每挖掘出一枚Primecoin币,开采难度就会略有增加,这一过程要平稳得多。\x0d\x0a5、Feathercoin\x0d\x0a\x0d\x0aFeathercoin依据Litecoin设计,2013年4月发布,可以比Litecoin更频繁地调整挖矿难度。Feathercoin会经常更新,加入新功能与改进,杜绝恶意的挖矿行为。\x0d\x0a\x0d\x0a6、Novacoin\x0d\x0a\x0d\x0a另一款P2P数字加密货币。Novacoin和其他大多数货币不同的地方是,在货币核心整合了保护机制,可以识别违规挖矿的行为。\x0d\x0a\x0d\x0aNovacoin总数限定为20亿,数量相当可观。如果需要,总数还可以向上调整。\x0d\x0a\x0d\x0a7、Infinitecoin\x0d\x0a\x0d\x0a2013年6月发布。Litecoin的副产品。根据挖掘情况和货币总数,无限币可以频繁地进行挖掘难度比率调整。\x0d\x0a\x0d\x0a8、Megacoin\x0d\x0a\x0d\x0a2013年第四季季度才发布,初期模仿了比特币。Megacoin的总数限定为4200万,可以像其他虚拟货币一样被挖掘出来。它的最大卖点是品牌公开,这点正是其他数字货币所缺乏的。\x0d\x0a\x0d\x0a9、Quarkcoin\x0d\x0a\x0d\x0a2013年发布,现在尚处于初期。Quarkcoin的安全部分,部署了9个独立回路的加密,采用了6种不同的算法。
四、luna怎么提币
LUNA币可以提的钱包有很多,共有10个,它们是imToken、MetaMask、Coinbase、币信、Kcash、Ledger、比特派、Cobo、TokenPocket、AToken。
1、imToken。imToken是一款移动端轻钱包App,它旨在为普通用户提供一款安全放心、简单好用、功能强大的数字资产钱包应用。主要功能:(1)私钥自持;(2)轻钱包功能;(3)支持多种数字资产;(4)关注全球各大交易所,各类数字资产行情-设置价格提醒。
2、MetaMask。MetaMask是一款在浏览器上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便。目前支持谷歌、360、火狐等浏览器。
3、Coinbase。Coinbase是全球较大的数字货币包。它位于旧金山,但为190多个国家/地区的加密货币资产存储提供支持。它还支持32种不同的法定货币交易。特别是由于可以在其平台上存储大量的加密货币,该钱包已变得很受欢迎。
4、币信。币信于2014年创办,前身为HaoBTC钱包,于2017年2月品牌全面升级为币信,现隶属于香港币信网络科技有限公司。币信团队成员毕业于中科院、北京大学、人民大学等高等院校,曾就职于百度、微软、今日头条等科技公司。现在团队汇聚国内最早比特币投资者、比特币早期布道者、比特币底层代码贡献者等等,是一支比特币信徒团队。
5、Kcash。Kcash数字货币钱包(以下简称Kcash)是一款打通数字货币和实体世界的钱包应用,旨在解决用户管理多种数字货币的不便、兑换交易过程繁杂、价值传输不畅、区块链性能不足以及应用场景不足的问题,Kcash拥有独有的跨链和跨合约技术,并结合自有的高性能公链为数字货币领域提供强大的基础设施,促进数字货币的应用与发展。
6、Ledger。比特币硬件钱包制造商Ledger是数字货币安全领域技术领先的公司之一,能为消费者和企业提供值得信赖的硬件。Ledger是基于智能卡的比特币硬件钱包,提供技术领先的最高保护等级,兼具可用及操控性。Ledger硬件钱包是一个多功能钱包,安全存储私钥的硬件设备,查看钱包和发送交易时,硬件钱包需要与软件钱包配合才能使用。
7、比特派。比特派是由比太团队研发的新一代区块链资产综合服务平台,立足于HD钱包技术、多重签名和链上交易,让你轻松安全的使用数字货币,您可以在比特派上轻松发送和接收比特币,还能方便的进行各类交易。
8、Cobo。Cobo致力于打造一站式数字资产存储和管理平台,旨在为用户提供安全、可靠的存储与支付环境。目前公司旗下业务模块包括支持Staking的数字资产钱包—[Cobo钱包」、面向机构的钱包开发及数字资产托管解决方案—「Cobo托管」、是一款军工级安全硬件数字钱包—「Cobo金库」。
9、TokenPocket。TokenPocket是多链数字钱包。一键设置登录密码,保护你的用户隐私,支持指纹和脸部识别,操作更方便,数据更安全。私钥储存在本地,物理隔离重要数据,经过三层算法处理,敏感信息永不泄露。
10、AToken。AToken移动端数字货币钱包轻便安全,支持19个币种&跨链互换。旨在为广大数字货币用户提供更轻便、更安全、更多币种的多维度服务,旨在打造数字资产存储类APP领跑者。
本文来自用户投稿,不代表币大牛资讯立场,如若转载,请注明出处:https://www.98xmw.com/zhis/15291.html
发表回复
评论列表(0条)