
算法稳定币
在币圈,由于无监管,各种币满天飞,一天暴跌几倍不是新鲜事。 因此,在链上计价的交易时间,也得在链上,而且价格要稳定,而且要以计价方式来稳定。 稳定币就是稳定币,比如稳定币的稳定币,固定美元。 第一种机制是法币制1:1刚兑付发行的类似私人钱庄。例如存入美元到方的银行账簿,发行方就发出等额入汇给汇。 做这个生意是这个家的私人公司,他们稳定地发行了美元T(美元T),因此,1T 1111 美元的价格该公司兑在某个小地方。财务极端不透明,无审计,能否100%兑付已发行的USDT,大家心里是没谱的。 除了USDT外,USDC和GUSD等稳定币是由受监管的美国公司发行,审计相对透明。 用非常和法币挂钩的稳定机制,它很容易上架就是1:1刚兑的借据。只要本币发行稳定币的一种,因为100%稳定币,因为100%的资产。 有几种稳定的发行机制是经常发行,没有由MakerDAO制造。MakerDAO自己创造任何资产,它的合约在链上创建了几个正常,来实现稳定币发行。 首先,MakerDAO 也选用了自己的几个高价值币种,比如这些流动性非常大的币种,然后这些 ETH 等的资产可以作为普通用户,用户的资产正常到...

算法稳定币
在币圈,由于无监管,各种币满天飞,一天暴跌几倍不是新鲜事。 因此,在链上计价的交易时间,也得在链上,而且价格要稳定,而且要以计价方式来稳定。 稳定币就是稳定币,比如稳定币的稳定币,固定美元。 第一种机制是法币制1:1刚兑付发行的类似私人钱庄。例如存入美元到方的银行账簿,发行方就发出等额入汇给汇。 做这个生意是这个家的私人公司,他们稳定地发行了美元T(美元T),因此,1T 1111 美元的价格该公司兑在某个小地方。财务极端不透明,无审计,能否100%兑付已发行的USDT,大家心里是没谱的。 除了USDT外,USDC和GUSD等稳定币是由受监管的美国公司发行,审计相对透明。 用非常和法币挂钩的稳定机制,它很容易上架就是1:1刚兑的借据。只要本币发行稳定币的一种,因为100%稳定币,因为100%的资产。 有几种稳定的发行机制是经常发行,没有由MakerDAO制造。MakerDAO自己创造任何资产,它的合约在链上创建了几个正常,来实现稳定币发行。 首先,MakerDAO 也选用了自己的几个高价值币种,比如这些流动性非常大的币种,然后这些 ETH 等的资产可以作为普通用户,用户的资产正常到...
Segwit地址
Segwit地址又称隔离见证地址。在比特币区块链上,经常可以看到类似bc1qmy63mjadtw8nhzl69ukdepwzsyvv4yex5qlmkd这样的以bc开头的地址,这种地址就是隔离见证地址。 Segwit地址有好几种,一种是以3开头的隔离见证兼容地址(Nested Segwit Address),从该地址上无法区分到底是多签地址还是隔离见证兼容地址,好处是钱包程序不用修改,可直接付款到该地址。 另一种是原生隔离见证地址(Native Segwit Address),即以bc开头的地址,它本质上就是一种新的编码方式。 我们回顾一下1开头的比特币地址是如何创建的:根据公钥计算hash160;添加固定头并计算带校验的Base58编码。简单地概括就是使用Base58编码的公钥哈希。 而bc地址使用的不是Base58编码,而是Bech32编码,它的算法是:根据公钥计算hash160;使用Base32编码得到更长的编码;以bc作为识别码进行编码并带校验。Bech32编码实际上由两部分组成:一部分是bc这样的前缀,被称为HRP(Human Readable Part,用户可读部分)...
Segwit地址
Segwit地址又称隔离见证地址。在比特币区块链上,经常可以看到类似bc1qmy63mjadtw8nhzl69ukdepwzsyvv4yex5qlmkd这样的以bc开头的地址,这种地址就是隔离见证地址。 Segwit地址有好几种,一种是以3开头的隔离见证兼容地址(Nested Segwit Address),从该地址上无法区分到底是多签地址还是隔离见证兼容地址,好处是钱包程序不用修改,可直接付款到该地址。 另一种是原生隔离见证地址(Native Segwit Address),即以bc开头的地址,它本质上就是一种新的编码方式。 我们回顾一下1开头的比特币地址是如何创建的:根据公钥计算hash160;添加固定头并计算带校验的Base58编码。简单地概括就是使用Base58编码的公钥哈希。 而bc地址使用的不是Base58编码,而是Bech32编码,它的算法是:根据公钥计算hash160;使用Base32编码得到更长的编码;以bc作为识别码进行编码并带校验。Bech32编码实际上由两部分组成:一部分是bc这样的前缀,被称为HRP(Human Readable Part,用户可读部分)...

UTXO模型
比特币的区块链由一个个区块串联构成,而每个区块又包含一个或多个交易。 如果我们观察任何一个交易,它总是由若干个输入(Input)和若干个输出(Output)构成,一个Input指向的是前面区块的某个Output,只有Coinbase交易(矿工奖励的铸币交易)没有输入,只有凭空输出。所以,任何交易,总是可以由Input溯源到Coinbase交易。 这些交易的Input和Output总是可以串联起来:┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │Block #1 │ │Block #2 │ │Block #3 │ │Block #4 │ │┌──┬────┬───┐│ │┌──┬────┬───┐│ │┌──┬────┬───┐│ │┌──┬────┬───┐│ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT││ │└──┴────┴───┘│ │ │└──┴────┴───┘│ │ │└──┴────┴──...

UTXO模型
比特币的区块链由一个个区块串联构成,而每个区块又包含一个或多个交易。 如果我们观察任何一个交易,它总是由若干个输入(Input)和若干个输出(Output)构成,一个Input指向的是前面区块的某个Output,只有Coinbase交易(矿工奖励的铸币交易)没有输入,只有凭空输出。所以,任何交易,总是可以由Input溯源到Coinbase交易。 这些交易的Input和Output总是可以串联起来:┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │Block #1 │ │Block #2 │ │Block #3 │ │Block #4 │ │┌──┬────┬───┐│ │┌──┬────┬───┐│ │┌──┬────┬───┐│ │┌──┬────┬───┐│ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT├┼──┐ ││CB│50.0│OUT││ │└──┴────┴───┘│ │ │└──┴────┴───┘│ │ │└──┴────┴──...
多重签名
由比特币的签名机制可知,如果丢失了私钥,没有任何办法可以花费对应地址的资金。 这样就使得因为丢失私钥导致资金丢失的风险会很高。为了避免一个私钥的丢失导致地址的资金丢失,比特币引入了多重签名机制,可以实现分散风险的功能。 具体来说,就是假设N个人分别持有N个私钥,只要其中M个人同意签名就可以动用某个“联合地址”的资金。 多重签名地址实际上是一个Script Hash,以2-3类型的多重签名为例,它的创建过程如下: 常量比特币 = 要求('bitcoinjs-lib');让pubKey1 = '026477115981fe981a6918a6297d9803c4dc04f328f22041bedff886bbc2962e01',pubkey2到本地= '02c96db2302d19b43d4c69368babace7854cc84eb9e061cde51cfa77ca4a22b8b9',pubKey3 = '03c6103b3b83e4a24a0e33a4df246ef11772f9992663db0c35759a...
多重签名
由比特币的签名机制可知,如果丢失了私钥,没有任何办法可以花费对应地址的资金。 这样就使得因为丢失私钥导致资金丢失的风险会很高。为了避免一个私钥的丢失导致地址的资金丢失,比特币引入了多重签名机制,可以实现分散风险的功能。 具体来说,就是假设N个人分别持有N个私钥,只要其中M个人同意签名就可以动用某个“联合地址”的资金。 多重签名地址实际上是一个Script Hash,以2-3类型的多重签名为例,它的创建过程如下: 常量比特币 = 要求('bitcoinjs-lib');让pubKey1 = '026477115981fe981a6918a6297d9803c4dc04f328f22041bedff886bbc2962e01',pubkey2到本地= '02c96db2302d19b43d4c69368babace7854cc84eb9e061cde51cfa77ca4a22b8b9',pubKey3 = '03c6103b3b83e4a24a0e33a4df246ef11772f9992663db0c35759a...
挖矿原理
在比特币的P2P网络中,有一类节点,它们时刻不停地进行计算,试图把新的交易打包成新的区块并附加到区块链上,这类节点就是矿工。因为每打包一个新的区块,打包该区块的矿工就可以获得一笔比特币作为奖励。所以,打包新区块就被称为挖矿。 比特币的挖矿原理就是一种工作量证明机制。工作量证明POW是英文Proof of Work的缩写。 在讨论POW之前,我们先思考一个问题:在一个新区块中,凭什么是小明得到50个币的奖励,而不是小红或者小军? 当小明成功地打包了一个区块后,除了用户的交易,小明会在第一笔交易记录里写上一笔“挖矿”奖励的交易,从而给自己的地址添加50个比特币。为什么比特币的P2P网络会承认小明打包的区块,并且认可小明得到的区块奖励呢? 因为比特币的挖矿使用了工作量证明机制,小明的区块被认可,是因为他在打包区块的时候,做了一定的工作,而P2P网络的其他节点可以验证小明的工作量。工作量证明什么是工作量证明?工作量证明是指,证明自己做了一定的工作量。例如,在驾校学习了50个小时。而其他人可以简单地验证该工作量。例如,出示驾照,表示自己确实在驾校学习了一段时间: 比特币的工作量证明需要归结...
挖矿原理
在比特币的P2P网络中,有一类节点,它们时刻不停地进行计算,试图把新的交易打包成新的区块并附加到区块链上,这类节点就是矿工。因为每打包一个新的区块,打包该区块的矿工就可以获得一笔比特币作为奖励。所以,打包新区块就被称为挖矿。 比特币的挖矿原理就是一种工作量证明机制。工作量证明POW是英文Proof of Work的缩写。 在讨论POW之前,我们先思考一个问题:在一个新区块中,凭什么是小明得到50个币的奖励,而不是小红或者小军? 当小明成功地打包了一个区块后,除了用户的交易,小明会在第一笔交易记录里写上一笔“挖矿”奖励的交易,从而给自己的地址添加50个比特币。为什么比特币的P2P网络会承认小明打包的区块,并且认可小明得到的区块奖励呢? 因为比特币的挖矿使用了工作量证明机制,小明的区块被认可,是因为他在打包区块的时候,做了一定的工作,而P2P网络的其他节点可以验证小明的工作量。工作量证明什么是工作量证明?工作量证明是指,证明自己做了一定的工作量。例如,在驾校学习了50个小时。而其他人可以简单地验证该工作量。例如,出示驾照,表示自己确实在驾校学习了一段时间: 比特币的工作量证明需要归结...