<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Cheng</title>
        <link>https://paragraph.com/@98989</link>
        <description>undefined</description>
        <lastBuildDate>Fri, 24 Apr 2026 22:34:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[展望2022加密货币市场将如何发展？]]></title>
            <link>https://paragraph.com/@98989/2022</link>
            <guid>G5yp3Yj8Ri9kZ4JvVcJN</guid>
            <pubDate>Sat, 25 Dec 2021 09:55:08 GMT</pubDate>
            <description><![CDATA[2021 年是区块链和加密货币的分水岭，因为全球价格、认可度和采用率都在上升。 2022 年很难在价格和认可度方面取得更多成就，但顶级加密货币的技术进步可能有助于市场继续看涨。 在加密货币市场中，过去 12 年出现了一种明显的模式。有一年或一年半的看涨势头并创下历史新高，随之而来的是三四年的熊市，代币价值下跌超过 50%，任何不适合投资的代币都会被淘汰。 这些牛市发生在 2013 年、2017 年2021 年。如果历史可以借鉴的话，这种模式可能预示着 2022 年开始的长期熊市。 如果加密货币市场出现低迷，NFT 市场很可能也会低迷。在传统的市场低迷时期，投资者往往会抛售高风险和流动性差的资产，转而购买更安全、更有保障的资产。NFT 完全符合风险和流动性差的定义，因此是市场崩盘时抛售的主要目标。 2022 年的另一个担忧是监管打击的可能性。整个 2021 年，SEC 和 FINRA 等美国主要监管机构一直在讨论对加密货币和稳定币的监管。如果做得正确，并且不会禁止该领域的创新，这些监管可能成为大规模采用和使用加密货币的门票，因为它们将让企业更放心地使用和投资数字资产。然而，如果他们...]]></description>
            <content:encoded><![CDATA[<p>　　2021 年是区块链和加密货币的分水岭，因为全球价格、认可度和采用率都在上升。 2022 年很难在价格和认可度方面取得更多成就，但顶级加密货币的技术进步可能有助于市场继续看涨。</p><p>　　在加密货币市场中，过去 12 年出现了一种明显的模式。有一年或一年半的看涨势头并创下历史新高，随之而来的是三四年的熊市，代币价值下跌超过 50%，任何不适合投资的代币都会被淘汰。 这些牛市发生在 2013 年、2017 年2021 年。如果历史可以借鉴的话，这种模式可能预示着 2022 年开始的长期熊市。</p><p>　　如果加密货币市场出现低迷，NFT 市场很可能也会低迷。在传统的市场低迷时期，投资者往往会抛售高风险和流动性差的资产，转而购买更安全、更有保障的资产。NFT 完全符合风险和流动性差的定义，因此是市场崩盘时抛售的主要目标。</p><p>　　2022 年的另一个担忧是监管打击的可能性。整个 2021 年，SEC 和 FINRA 等美国主要监管机构一直在讨论对加密货币和稳定币的监管。如果做得正确，并且不会禁止该领域的创新，这些监管可能成为大规模采用和使用加密货币的门票，因为它们将让企业更放心地使用和投资数字资产。然而，如果他们扼杀了区块链空间，使投资和使用加密货币成为一件麻烦事，那么可能会在中期摧毁市场。尽管目前还没有明确的迹象表明美国将选择如何监管，但几乎可以肯定的是，2022年将会出台某种监管措施。</p><p>　　**即使加密货币市场的估值大幅下降，顶级项目的进展仍将以极快的速度进行，这对整个市场来说都是利好。**例如，以太坊的“merge”预计在 2022 年第一季度或第二季度进行。届时，以太坊将从工作量证明转变为权益证明，这样效率更高、能耗更低，是以太坊通过分片链提高交易速度并降低成本的第一步。此次升级将有助于以太坊与 Avalanche 和 Cardano 等其他智能合约平台竞争，并帮助其保持智能合约平台之王的称号。</p><p>　　许多其他技术创新也将在明年发生。 Polkadot 的平行链将上线，这将使数十条区块链具有互操作性。此外，以太坊第 2 层解决方案，如 Optimism 和 Arbitrum，将在完成发布后得到更多采用，这将有助于解决以太坊的可扩展性问题。此外，Cardano上的第一个去中心化应用程序将上线。这将看到SundaeSwap 这类去中心化交易所和 Meld 这类货币市场推出，Cardano 最终将成为一个为普通人提供用例的区块链。</p><p>　　**加密货币的采用在 2021 年进行得很快，预计将持续到 2022 年。**就像任何一种新技术一样，加密货币的采用只会随着时间的推移而增加，直到它被证明是一时的狂热，或被全球数十亿人和公司使用。随着时间的推移，加密货币只会在我们的日常生活中变得更加普遍。</p><p>　　尽管明年崩盘的可能性可能会吓到一些投资者，但那些在加密货币领域工作超过四年的人都知道，持续发展和采用是加密货币成功的真正衡量标准。只要这种情况持续下去，加密货币市场的命运就会非常乐观。</p>]]></content:encoded>
            <author>98989@newsletter.paragraph.com (Cheng)</author>
        </item>
        <item>
            <title><![CDATA[零知识证明，关于ZCASH的零知识证明]]></title>
            <link>https://paragraph.com/@98989/zcash</link>
            <guid>Igu56sbHvXLonEtDmAAg</guid>
            <pubDate>Mon, 08 Nov 2021 13:19:17 GMT</pubDate>
            <description><![CDATA[2016 年 10 月 29 日，由美国密码学科学家们研发的，首个使用“零知识证明”技术开发的匿名密码学货币，Zcash 发布了创世块。 Zcash 所使用的零知识证明技术，能够保证证明者在不向验证者提供身份信息的情况下，使验证者相信某个论断的正确性。而针对 Zcash 使用场景，也就是保证了交易的匿名性。这项突破性的技术，解决了比特币本身的可替换性问题。这项功能有利于大型金融服务行业更好的使用区块链技术，保护用户个人隐私。为了让用户能够更好的理解零知识证明技术，本文转载自雷盈特邀作者 Carlos 对于零知识证明的解释文章。雷盈（公众号: RadarWinChina ）是上海区块链标杆企业，为区块链全产业链提供技术与咨询服务。 交易过程完全匿名是数字货币ZCash最大的亮点，正是这一点使得ZCash自提出以来便备受关注。ZCash匿名交易的实现依赖于一种叫做“零知识证明”的密码学手段。本文将通过打比方的手法，用通俗的语言，解释清楚ZCash的交易原理，以及零知识证明是如何运用到ZCash交易过程中的。 本文的嘉宾是数字货币界最著名 CP：Alice 和 Bob 。一、从比特币说...]]></description>
            <content:encoded><![CDATA[<blockquote><p>2016 年 10 月 29 日，由美国密码学科学家们研发的，首个使用“零知识证明”技术开发的匿名密码学货币，Zcash 发布了创世块。</p><p>Zcash 所使用的零知识证明技术，能够保证证明者在不向验证者提供身份信息的情况下，使验证者相信某个论断的正确性。而针对 Zcash 使用场景，也就是保证了交易的匿名性。这项突破性的技术，解决了比特币本身的可替换性问题。这项功能有利于大型金融服务行业更好的使用区块链技术，保护用户个人隐私。</p></blockquote><p>为了让用户能够更好的理解零知识证明技术，本文转载自雷盈特邀作者 Carlos 对于零知识证明的解释文章。雷盈（公众号: RadarWinChina ）是上海区块链标杆企业，为区块链全产业链提供技术与咨询服务。</p><p>交易过程完全匿名是数字货币ZCash最大的亮点，正是这一点使得ZCash自提出以来便备受关注。ZCash匿名交易的实现依赖于一种叫做“零知识证明”的密码学手段。本文将通过打比方的手法，用通俗的语言，解释清楚ZCash的交易原理，以及零知识证明是如何运用到ZCash交易过程中的。</p><p>本文的嘉宾是数字货币界最著名 CP：Alice 和 Bob 。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">一、从比特币说起</h3><p>直接讲解ZCash的交易过程可能会比较抽象。为了有助于理解，我们不妨先分析比特币，作为铺垫。</p><p>我们先来打个比方说明比特币的转账原理。</p><p>演示场景：Alice 转 1 个比特币给 Bob 。</p><p>转账前，Alice 要事先准备 1 个比特币。为了方便理解，我们把 Alice 准备转出的这 1 个比特币看成一张面额为 1 个比特币的“支票”，如图 1 。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5d17aae9073ce7cefe190584d4416d629b57f789e38c55c3e1d35b2eda90b84c.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图一</p><p>从这张“支票”中我们可以获取到如下信息：</p><p>1.Alice 确实拥有 1 个 BTC。</p><p>2.Alice 使用私钥对这张支票签名，证明 Alice 拥有对这笔资产转账的权力。</p><p>支票的面额和转账权都已经明确，Alice 就可以给 Bob 转账了。转账的原理很简单，就 是给 Bob 新建一张一样的“支票”，证明 Bob 拥有了 1 个比特币。同时撕掉 Alice 手中那张的“支票”，通过这“破旧”并“立新”的方式，实现资产所有权的转移。如图2。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a2a3ffeb0f3c9f591ce028493087e9485e9d5dacf173c14a6382c1e7fcf1ccd8.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图二</p><p>以上逻辑其实不难理解，因为这和日常生活中的银行转账是一个道理。通过银行转账，我们在交易时不必对实物货币进行转移，而是以银行记账的方式，实现“资产所有权”的转移。比特币交易的过程实质上就是一个“资产所有权”的转移过程，转入比特币的那一方“新建”一份资产所有权，而转出方需要“销毁”原先的资产所有权，被销毁的那张“支票”永远不会再出现。</p><h3 id="h-zcash" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">二、ZCash 的转账原理</h3><p>与比特币一样，ZCash 的交易过程也是 “资产所有权”的转移。继续沿用前文“支票”的比方。</p><p>演示场景：Alice 转 1 个 ZEC 给 Bob。</p><p>转账前，Alice 创建一张面额为 1 个 ZEC 的“支票”，如图3。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/595c3e998422c7fb6a8ab29b449ba695fb5db17365f3224040e96c0186d68429.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图三</p><p>能从该凭证中获取的信息：</p><p>1.Alice 确实拥有 1 个 ZEC。</p><p>2.Alice 使用私钥对这张支票签名，证明 Alice 拥有对这笔资产转账的权力。</p><p>3.这张“凭证”上多了一串随机数，用符号 r 表示。这串随机数的作用好比 “支票代号”，用来唯一识别该支票。Alice 的“支票代号”为 r1。</p><p>明确以上信息，Alice 就可以进行 ZEC 转账了。</p><p>第一步:比特币一样，要先为 Bob 新建一张“支票”。Bob 的支票代号（r2）与 Alice 的支 票代号（r1）不相同，如图4。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f4dd4893146e4676a56ac8a60faa240d28308cb2cb6a469d55311350c63faa92.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图四</p><p>第二步：新的“资产所有权”生成的同时，必须要想办法销毁原来的“资产所有权”。即必须想办法让 Alice 手中的“支票”失效。与比特币简单粗暴的“直接撕毁”不同，ZCash 采用“备注作废”的手段，达到同样的效果。怎么理解呢？就是在不对原先“支票”作任何处理的前提下，新建一个作废文件列表，录入需要作废的“发票代号”。如图5。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ad8ffdfe57e3a1183362a2e2004b69ebe34c44435b4d4d78e3add695fc8fd485.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图五</p><p>从上图可以看出，原先的 Alice 持有的支票仍旧存在，并没有消失，只是这张支票已经被记入“作废列表”。在确定资产所有权时要同时读取两个列表的信息，能确定 Bob 拥有资产所有权的判断方法是：作废列表中不存在 Bob 所持“支票”的代号。</p><p>可是为什么要这样设计呢？其实这样设计的目的是为了在交易过程中运用 “零知识证明”。</p><p>三、零知识证明</p><p>什么是零知识证明？</p><p>零知识证明 （被称为“ zk-SNARK ”）是实现Zcash的匿名特性的核心技术。“零知识证 明”的定义是：证明者能够在不向验证者提供任何有用的信息的情况下，使验证者相信某个论断是正确的。举个简单的例子：</p><p>A 要向 B 证明自己拥有某个房间的钥匙，假设该房间只能用钥匙打开锁，而其他任何方 法都打不开。这时有 2 个方法：</p><p>（一）A 把钥匙出示给 B，B 用这把钥匙打开该房间的锁，从而证明 A 拥有该房间的正确的钥匙。</p><p>（二）B 确定该房间内有某一物体，A 用自己拥有的钥匙打开该房间的门，然后把物体拿出来出示给 B，从而证明自己确实拥有该房间的钥匙 。</p><p>后面这个方法属于零知识证明。好处在于在整个证明的过程中，B 始终不能看到钥匙的样子，从而避免了钥匙的泄露。</p><p>那么零知识证明怎么运用到 ZCash 交易过程中呢？</p><p>我们再回顾比特币和 ZCash 的例子。</p><p>Alice 要向 Bob 转一个单位的数字货币（ BTC/ZEC ），即 Alice 要向 Bob 转移一个单位的资产所有权。这时有以下两个方法：</p><p>（一）比特币中的做法：Alice 拥有一张 1 BTC 的支票，要转账给 Bob 时，先给 Bob 新建一张 1 BTC 的支票，同时当着 Bob 的面将自己原先的支票撕毁。</p><p>（二）ZCash 中的做法：Alice 拥有一张 1 ZEC 的支票，要转账给 Bob 时，先给 Bob 新建一张 1 ZEC 的支票，然后在一张约定有效的作废列表中，记录下 Alice 的发票的代号，证明 Alice 的支票已经失效。</p><p>ZCash 的方法属于零知识证明。整个交易过程中，Bob 并没有见过 Alice 的支票，但是还是实现了资产所有权的转移。在 ZCash 的整个交易系统中， 、Alice 和 Bob 的交易还有其他见证者，即负责记录交易信息的矿工。同样道理，矿工也不必看到 Alice 的支票，只要能确定代号为 r1 的支票已经作废了就行。</p><p>四、ZCash 完整的匿名交易系统</p><p>有了上述铺垫，就可以进一步解释 ZCash 的匿名交易过程了。</p><p>还是那个例子：Alice 转 1 个 ZEC 给 Bob。这个例子中有涉及到的角色有转账双方 Alice 和 Bob，以及记账者（矿工）。</p><p>首先是 Alice 和 Bob 都有了一张支票，如图 6。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ea162aefda05dce107323a4eb1e926e9d51faa3914d718b4945f24a4562bfc96.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图六</p><p>这两张“支票”都是有效的。Alice 的支票开始就存在于整个 ZCash 网络，Bob 的支票在生成后也会被广播到全网。</p><p>为了隐藏交易者信息，要对两张支票进行加密处理。在全网中存在的“支票”其实是这样子的，如图7。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/facf1d8587ca0c7725a65afe8d4abf1bc8743b2d7acc34ecba49837c82c68505.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图七</p><p>同时，因为资产只能有一份，所有矿工手里还有一个作废列表。Alice 要同时广播自己的“发票代号”，录入作废列表中。发票代号也是加密的。所以矿工们能看到的信息其实是这样的。其中 Alice 的支票是原先存在的，Alice 的支票代号 r1 和 Bob 的支票是在交易过程中被 Alice 广播的。如图 8。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/07ec3d4db246bbc8c1f700552ff2171a04ce33e5a0deade20c98e50ca47e7311.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>图八</p><p>矿工们能获取的信息相当有限，但是这并不影响对矿工对交易有效性的判断。</p><p>判断的逻辑相当简单：矿工拿到 Alice 给的支票代号 r1 ，去作废列表中检索，假如作废列表中已经存在 r1 ，则证明 r1 所对应的的支票早已失效；若作废列表中并不存在 r1 ，则证明 r1 对应的支票仍旧有效，此时矿工把 r1 录入作废列表中，把新生成的支票录入支票列表中。所以记账的过程就是对原有支票登记失效，并存入现有支票的过程。</p><p>在这个过程中，我们不难发现，每笔交易矿工能接收到的东西只有一个发票代号，和一张新的发票，而且这两样东西都是被加密的。所以矿工并不知道转账双方是谁，也不知道转账金额是多少。</p>]]></content:encoded>
            <author>98989@newsletter.paragraph.com (Cheng)</author>
        </item>
        <item>
            <title><![CDATA[比特币及比特币钱包入门基础]]></title>
            <link>https://paragraph.com/@98989/l4yaTbCyeBPnaVUtR1vg</link>
            <guid>l4yaTbCyeBPnaVUtR1vg</guid>
            <pubDate>Mon, 08 Nov 2021 13:14:17 GMT</pubDate>
            <description><![CDATA[在开始正题前，首先，我们需要了解几个最为“基础”的概念：1.私钥：对于比特币用户来说，最难理解的就是这个“私钥”，丢币是因为私钥，保管不好的也是私钥，那到底什么是私钥呢？其实很简单，您只需要记住这么一句话就够了“私钥就是个随机数”，这句话很简单，但其实大部分人都没搞懂，包括很多比特币“老人”们在这一点上也都是糊里糊涂的，我曾不止一次听到行业内大佬们说：“什么？如果别人生成了和我一样的私钥，我的比特币就没了？那也太不安全了吧”，这都是不懂的。 是的，私钥就是个随机数，大家或多或少对于随机数还是有概念的，比如说，抛硬币就是个随机数（不是正面，就是反面），扔骰子也是个6种可能性的随机数，比特币私钥也一样，只不过，这个随机数的概率空间很大（256位，也即是2的256次方），2的256次方是个什么概念呢？比宇宙中的分子还要多。 也就是说，别人是不可能和你生成一样的私钥的（1/2^256的概率），如果两次产生了相同的私钥，那一定是程序写错了，不可能是碰撞出来的，历史上几次因随机数导致的丢币（比如说 blockchain.info 曾经出过2-3次随机数事件），都是因为程序写错了，而不是碰撞出...]]></description>
            <content:encoded><![CDATA[<p>在开始正题前，首先，我们需要了解几个最为“基础”的概念：</p><h2 id="h-1" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1.私钥：</h2><p>对于比特币用户来说，最难理解的就是这个“私钥”，丢币是因为私钥，保管不好的也是私钥，那到底什么是私钥呢？其实很简单，您只需要记住这么一句话就够了“私钥就是个随机数”，这句话很简单，但其实大部分人都没搞懂，包括很多比特币“老人”们在这一点上也都是糊里糊涂的，我曾不止一次听到行业内大佬们说：“什么？如果别人生成了和我一样的私钥，我的比特币就没了？那也太不安全了吧”，这都是不懂的。</p><p>是的，私钥就是个随机数，大家或多或少对于随机数还是有概念的，比如说，抛硬币就是个随机数（不是正面，就是反面），扔骰子也是个6种可能性的随机数，比特币私钥也一样，只不过，这个随机数的概率空间很大（256位，也即是2的256次方），2的256次方是个什么概念呢？比宇宙中的分子还要多。</p><p>也就是说，别人是不可能和你生成一样的私钥的（1/2^256的概率），如果两次产生了相同的私钥，那一定是程序写错了，不可能是碰撞出来的，历史上几次因随机数导致的丢币（比如说 blockchain.info 曾经出过2-3次随机数事件），都是因为程序写错了，而不是碰撞出来的，对于 2^256 来说，碰撞是不可能碰撞出来的，这是比特币甚至整个密码学科的根基。</p><p>好了，现在大家知道了，比特币私钥就是一个很大的、256位的随机数，那为什么我们通过比特币客户端看到的私钥是一串 5 或 K 或 L 开头的文本呢？其实这串文本只是私钥的显示方式而已，我们总不能把二进制“0、1”的私钥直接显示给用户，因此进行了相应的转换，不过无论其显示的格式如何，本质上，私钥还是那个范围在 2^256 随机数中的随机数。</p><p>一般来说，私钥这个随机数都是通过计算机算法来生成的（密码学安全的随机数生成器），当然，你也可以通过抛256次硬币或者是扔100次骰子的方式来获得这个随机数（这两种方式都能产生出 2^256 范围内的随机数），然后用这个随机数来当成私钥，这其实也没问题，只不过需要把这个随机数转换成上面提到的显示格式，就足够了，当然，大家一般不会这么去做，毕竟麻烦。</p><p>能理解了上述内容，您就是真的懂了私钥的本质 - “私钥就是个随机数。”</p><h2 id="h-2" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2.地址：</h2><p>说完私钥，我们再来谈谈地址，我们不去谈那些诸如“公私钥对儿、椭圆曲线、数字签名、SHA256”等密码学概念，只谈地址这个比特币世界里最常用的东西。地址是通过私钥计算而来的，具体怎么算的，大家不用去管，只需要知道私钥能计算出地址，地址不能反算出私钥，这是前提。比特币地址是1开头的，从一个私钥计算出其对应的地址之后，您就可以往该地址上转比特币了，转入的比特币只有私钥的持有者才能花，就这么简单。比如说我们团队的捐赠地址是 1BitherUnNvB2NsfxMnbS35kS3DTPr7PW5 ，这个地址的私钥是我所持有的，任何转入到这个地址上的比特币也就只有我能花，同样简单，这个地址上当前有3个多币，有兴趣的可以去查查看。</p><h2 id="h-3" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">3.区块链：</h2><p>理解了私钥和地址，我们再来说说区块链这个火热的概念，其实区块链这个词也是被很多人给神化了，本质上，区块链其实是中本聪为了比特币所设计的一个“用来去中心化的存储比特币账目”的数据结构，所以，本质上，区块链就是个“账本”，区块链上记录的都是 A 给 B 转账了 5 个比特币这类的信息，就这么简单。但是为了能做到去中心化，还得能进行自我验证（账目都得验证，不能做假账），因此，① 这个账本被设计成了区块的结构，每过一段时间就会生成出一个新块，把账目做到新的区块中，做进区块的账目就不能再被修改了；② 这个账本中的账目还别设计成了链表（既前后链接的数据结构），这样，每一笔账目都能最快的查询到上一笔来进行验证，一笔一笔的沿着链条向前验证，最终，任何一笔交易都能验证到最初的原始交易（也就是最初挖矿的那笔交易）；这样就做到了去中心化及自我验证，这就是区块链这个数据结构的目的。</p><p>好了，现在我们讲完了私钥、地址和区块链这三个比特币最为基础的概念，对于初步了解比特币来说，这其实已经足够了，甚至已经比大部分业内人士强了。</p><p>了解了以上三个概念之后，您就应该理解如下事实：</p><p>1.私钥决定了比特币的产权，如果想花掉一个地址上的比特币，很简单，您得有私钥，没私钥？抱歉。</p><p>2.一定要保管好私钥，私钥丢了，币就花不了了，私钥被别人看到了，币就丢了。所以，请做好备份，请做好加密，如果可能的话，请尽可能的“冷”（也就是保持离线、断网），记住，被别人看到了，钱就没了，一定不要让别人看到。</p><p>3.地址是公开的，请广而告之，如果您拥护该地址的私钥，任何转入该地址的比特币都只有您能花。</p><p>4.账目都是去中心化的存储在区块链上的，也就是存储在比特币网络的每一个节点上的，并不是存储在私钥或者地址上的，所以，一个地址当前的余额是多少，这类的问题需要问区块链，区块链上有着比特币历史上的全部账目，账目都是公开的。</p><br><p>讲了这么多，大家也基本上了解了比特币，那什么是<strong>比特币钱包呢</strong>？</p><p>其实也很简单，比特币钱包其实就是“私钥、地址和区块链数据的管理工具”，比如说，私钥这个随机数得生成吧？生成之后得计算出地址吧？相关的区块链数据得维护吧？收到的、花出的账目也都得列出来吧？得能用来收款，也得能进行付款吧？</p><p>毫无疑问，所有这些都得通过工具来完成，这类的工具我们统称为“比特币钱包”。</p><p>钱包不少、功能各异，我这里先给大家简单分分类；根据区块链数据的维护方式，我们可以把钱包分为：</p><p>1.<strong>全节点</strong>（如 bitcoin-core 核心钱包），维护着全部的区块链数据（当前在50GB以上），完全去中心化，同步所有数据；</p><p>2.<strong>SPV轻钱包</strong>，只维护与自己相关的区块链数据，基本上去中心化（要依赖比特币网络上的其他全节点），仅同步与自己相关的数据；</p><p>3.<strong>中心化钱包</strong>，不依赖比特币网络，只依赖自己的中心化服务器，不同步数据，所有的数据均从自己的中心化服务器中获得；</p><p>从去中心化角度上讲，我们希望更多的人使用全节点钱包，这样比特币网络上的节点数也会更多，不过，由于区块链的数据量太大，严重影响了普通用户的体验，因此，当前越来越流行 SPV 轻钱包模式，越来越多的钱包解决方案也开始转向 SPV。中心化钱包由于不依赖比特币网络，有着流量和体验上的优势，不过因其要依赖第三方中心化的服务，服务不可用则钱包不可用，用户也需要信赖该第三方服务才行。</p><p>根据所使用的硬件设备，我们可以把钱包分为：</p><p>1.电脑钱包，钱包软件运行于桌面操作系统（Windows、MacOS、Linux等）；</p><p>2.手机钱包，安卓、iOS等；</p><p>3.在线钱包（如 blockchain.info ），运行与云服务，私钥加密存储于服务器上，通过浏览器访问；</p><p>4.硬件钱包，运行与专门定制的硬件上，可能需要与电脑或手机配合使用；</p><p>除了上述分类方式外，还有一种所谓的“链上 on-chain、链下 off-chain”的分类方式，这又产生出了一种“钱包”，叫“off-chain 钱包”。</p><p>其实，从本质上讲，我们并没有一种比特币交易叫“off-chain 交易”，也不应称这类的服务为“off-chain 钱包”，我们应该称其为“银行”或者是“存币平台”，因为在这种情况下，您手里所谓的一个比特币，其实只是该平台上的一个数字，而并非是比特币网络上真实的比特币，而是该平台欠您的钱，所以，我们应尽可能避免称这类平台为“钱包”。</p><p>比如说，交易所其实就是存币平台，各类的理财平台、云算力平台等也都是存币平台，这些平台都属于“off-chain”的范畴，我们应称他们为“银行”或“存币平台”，而不要称他们为“off-chain 钱包”。</p><p>我在这里反复强调“on-chain、off-chain”这两个词，其实也是不得已而为之，因为无论是有意的、还是无意的，这个概念一直被混淆，比如说，去年，曾有人在微博上搞过一次投票，让大家票选最喜欢的比特币“钱包”，“比特币存钱罐”名列前茅，其实呢，该平台并不是“钱包”，而是一个高利息的“存币平台”，后来出了问题，所以，我们应分清楚“<strong>on-chain、off-chain</strong>”的区别，想明白是要自己拿着比特币？还是要把比特币交给别人管理？分清区别，做好决策，这很重要。</p><p>好了，这就是我本次和大家交流的主要内容，希望能帮大家搞清楚一些最基本的比特币概念，让大家在使用比特币的过程中少走一些弯路。</p>]]></content:encoded>
            <author>98989@newsletter.paragraph.com (Cheng)</author>
        </item>
        <item>
            <title><![CDATA[比特币入门的一些基础知识]]></title>
            <link>https://paragraph.com/@98989/oQKTVcPQHqgPiJ4aYab6</link>
            <guid>oQKTVcPQHqgPiJ4aYab6</guid>
            <pubDate>Thu, 04 Nov 2021 14:24:49 GMT</pubDate>
            <description><![CDATA[一、非对称加密首先，理解比特币，必须理解非对称加密。 你可能听说过这个词，所谓非对称加密，其实很简单，就是加密和解密需要两把钥匙：一把公钥和一把私钥。 公钥是公开的，任何人都可以获取。私钥是保密的，只有拥有者才能使用。他人使用你的公钥加密信息，然后发送给你，你用私钥解密，取出信息。反过来，你也可以用私钥加密信息，别人用你的公钥解开，从而证明这个信息确实是你发出的，且未被篡改，这叫做数字签名（更详细的介绍请看《什么是数字签名》）。 现在请设想，如果公钥加密的不是普通的信息，而是加密了一笔钱，发送给你，这会怎样？ 首先，你能解开加密包，取出里面的钱，因为私钥在你手里。其次，别人偷不走这笔钱，因为他们没有你的私钥。因此，支付可以成功。 这就是比特币（以及其他数字货币）的原理：非对称加密保证了支付的可靠性。 由于支付的钱必须通过私钥取出，所以你是谁并不重要，重要的是谁拥有私钥。只有拥有了私钥，才能取出支付给你的钱。（事实上，真实的交易流程稍有不同，私钥保证的不是取出支付给你的钱，而是保证只有你能把这些属于你的钱支付出去，详见后文。）二、比特币钱包对于比特币来说，钱不是支付给个人的，而是支...]]></description>
            <content:encoded><![CDATA[<h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">一、非对称加密</h2><p>首先，理解比特币，必须理解非对称加密。</p><p>你可能听说过这个词，所谓非对称加密，其实很简单，就是加密和解密需要两把钥匙：一把公钥和一把私钥。</p><p>公钥是公开的，任何人都可以获取。私钥是保密的，只有拥有者才能使用。他人使用你的公钥加密信息，然后发送给你，你用私钥解密，取出信息。反过来，你也可以用私钥加密信息，别人用你的公钥解开，从而证明这个信息确实是你发出的，且未被篡改，这叫做数字签名（更详细的介绍请看《什么是数字签名》）。</p><p>现在请设想，如果公钥加密的不是普通的信息，而是加密了一笔钱，发送给你，这会怎样？</p><p>首先，你能解开加密包，取出里面的钱，因为私钥在你手里。其次，别人偷不走这笔钱，因为他们没有你的私钥。因此，支付可以成功。</p><p>这就是比特币（以及其他数字货币）的原理：非对称加密保证了支付的可靠性。</p><p>由于支付的钱必须通过私钥取出，所以你是谁并不重要，重要的是谁拥有私钥。只有拥有了私钥，才能取出支付给你的钱。（事实上，真实的交易流程稍有不同，私钥保证的不是取出支付给你的钱，而是保证只有你能把这些属于你的钱支付出去，详见后文。）</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">二、比特币钱包</h2><p>对于比特币来说，钱不是支付给个人的，而是支付给某一把私钥。这就是交易匿名性的根本原因，因为没有人知道，那些私钥背后的主人是谁。</p><p>所以，比特币交易的第一件事，就是你必须拥有自己的公钥和私钥。</p><p>你去网上那些比特币交易所开户，它们会让你首先生成一个比特币钱包（wallet）。这个钱包不是用来存放比特币，而是存放你的公钥和私钥。软件会帮你生成这两把钥匙，然后放在钱包里面。</p><p>根据协议，公钥的长度是512位。这个长度不太方便传播，因此协议又规定，要为公钥生成一个160位的指纹。所谓指纹，就是一个比较短的、易于传播的哈希值。160位是二进制，写成十六进制，大约是26到35个字符，比如 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。这个字符串就叫做钱包的地址，它是唯一的，即每个钱包的地址肯定都是不一样的。</p><p>你向别人收钱时，只要告诉对方你的钱包地址即可，对方向这个地址付款。由于你是这个地址的拥有者，所以你会收到这笔钱。</p><p>由于你是否拥有某个钱包地址，是由私钥证明的（具体的证明方法稍后介绍），所以一定要保护好私钥。这是极其重要的，如果你的私钥被偷了，你的比特币也就等于没了，因为他人可以冒用你的身份了，把钱包里面的钱都转走。</p><p>同样的，你向他人支付比特币，千万不能写错他人的钱包地址，否则你的比特币就支付到了另一个不同的人了。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">三、交易过程</h2><p>下面，我把整个流程串起来，看看比特币如何完成一笔交易。</p><p>一笔交易就是一个地址的比特币，转移到另一个地址。由于比特币的交易记录全部都是公开的，哪个地址拥有多少比特币，都是可以查到的。因此，支付方是否拥有足够的比特币，完成这笔交易，这是可以轻易验证的。</p><p>问题出在怎么防止其他人，冒用你的名义申报交易。举例来说，有人申报了一笔交易：地址 A 向地址 B 支付10个比特币。我怎么知道这个申报是真的，申报人就是地址 A 的主人？</p><p>比特币协议规定，申报交易的时候，除了交易金额，转出比特币的一方还必须提供以下数据。</p><pre data-type="codeBlock" text="上一笔交易的 Hash（你从哪里得到这些比特币）
本次交易双方的地址
支付方的公钥
支付方的私钥生成的数字签名1234
"><code></code></pre><p>验证这笔交易是否属实，需要三步。</p><pre data-type="codeBlock" text="第一步，找到上一笔交易，确认支付方的比特币来源。

第二步，算出支付方公钥的指纹，确认与支付方的地址一致，从而保证公钥属实。

第三步，使用公钥去解开数字签名，保证私钥属实。12345
"><code></code></pre><p>经过上面三步，就可以认定这笔交易是真实的。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">四、交易确认与区块链</h2><p>确认交易的真实性以后，交易还不算完成。交易数据必须写入数据库，才算成立，对方才能真正收到钱。</p><p>比特币使用的是一种特殊的数据库，叫做区块链（blockchain），详细的介绍请看《区块链入门教程》。本文只讨论交易如何写入区块链。</p><p>首先，所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。</p><p>根据比特币协议，一个区块的大小最大是 1MB，而一笔交易大概是500字节左右，因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起，组成一个区块，然后计算这个区块的 Hash。</p><p>计算 Hash 的过程叫做采矿，这需要大量的计算。矿工之间也在竞争，谁先算出 Hash，谁就能第一个添加新区块进入区块链，从而享受这个区块的全部收益，而其他矿工将一无所获。</p><p>一笔交易一旦写入了区块链，就无法反悔了。这里需要建立一个观念：比特币不存放在钱包或其他别的地方，而是只存在于区块链上面。区块链记载了你参与的每一笔交易，你得到过多少比特币，你又支付了多少比特币，因此可以算出来你拥有多少资产。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">五、矿工的收益</h2><p>交易的确认离不开矿工。为什么有人愿意做矿工呢？</p><p>比特币协议规定，挖到新区块的矿工将获得奖励，一开始（2008年）是50个比特币，然后每4年减半，目前（2018年）是12.5个比特币。这也是比特币的供给增加机制，流通中新增的比特币都是这样诞生的。</p><p>你可能看出来了，每4年奖励减半，那么到了2140年，矿工将得不到任何奖励，比特币的数量也将停止增加。这时，矿工的收益就完全依靠交易手续费了。</p><p>所谓交易手续费，就是矿工可以从每笔交易抽成，具体的金额由支付方自愿决定。你完全可以一毛不拔，一分钱也不给矿工，但是那样的话，你的交易就会没人处理，迟迟无法写入区块链，得到确认。矿工们总是优先处理手续费最高的交易。</p><p>目前由于交易数量猛增，手续费已经水涨船高，一个区块2000多笔交易的手续费总额可以达到3～10个比特币。如果你的手续费给低了，很可能过了一个星期，交易还没确认。</p><p>一个区块的奖励金12.5个比特币，再加上手续费，收益是相当可观的。按照目前的价格，可以达到100万～200万人民币。想想看，运气好的话，几分钟就能挖到一个区块，拿到这样一大笔钱，怪不得人们对挖矿趋之若鹜。</p>]]></content:encoded>
            <author>98989@newsletter.paragraph.com (Cheng)</author>
        </item>
        <item>
            <title><![CDATA[一文读懂什么是比特币BTC]]></title>
            <link>https://paragraph.com/@98989/btc</link>
            <guid>y1Ngl9UWruKXGrAhSrJE</guid>
            <pubDate>Thu, 04 Nov 2021 13:28:30 GMT</pubDate>
            <description><![CDATA[一、什么是比特币 比特币是一种电子货币，是一种基于密码学的货币，在2008年11月1日由中本聪发表比特币白皮书，文中提出了一种去中心化的电子记账系统，我们平时的电子现金是银行来记账，因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述，这一层面介绍的文章很多，本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人分别称之为ABCD，他们之间发起了3个交易，A转给B10个比特币，B转给C5个比特币，C转给D2个比特币。如果是传统的记账方式，这些交易会记录在银行的系统中，这些信息由银行来记录，我们相信银行不会随意添加、删除或修改一条交易记录，我们也不会关注到底有哪些交易，我们只关注自己的账户余额。而比特币的记账方式为ABCD每个人保存了这样一份账本，账本上记录了上述交易内容，如果每个人账本实时的一致，ABCD就不再需要银行。 比特币是这样做的，每当有人发起一笔交易，他就要将一笔交易广播至全网，由全网中的某一个人，把一段时间内的交易打包好记录到一个区块上，再按照顺序把这些区块，一个一个的链接在一起，进而形成了...]]></description>
            <content:encoded><![CDATA[<p>　　<strong>一、什么是比特币</strong></p><p>　　比特币是一种电子货币，是一种基于密码学的货币，在2008年11月1日由中本聪发表比特币白皮书，文中提出了一种去中心化的电子记账系统，我们平时的电子现金是银行来记账，因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述，这一层面介绍的文章很多，本文主要从更深层的技术原理角度进行介绍。</p><p>　　<strong>二、问题引入</strong></p><p>　　假设现有4个人分别称之为ABCD，他们之间发起了3个交易，A转给B10个比特币，B转给C5个比特币，C转给D2个比特币。如果是传统的记账方式，这些交易会记录在银行的系统中，这些信息由银行来记录，我们相信银行不会随意添加、删除或修改一条交易记录，我们也不会关注到底有哪些交易，我们只关注自己的账户余额。而比特币的记账方式为ABCD每个人保存了这样一份账本，账本上记录了上述交易内容，如果每个人账本实时的一致，ABCD就不再需要银行。</p><p>　　比特币是这样做的，每当有人发起一笔交易，他就要将一笔交易广播至全网，由全网中的某一个人，把一段时间内的交易打包好记录到一个区块上，再按照顺序把这些区块，一个一个的链接在一起，进而形成了一个链条，这就是所谓的区块链。</p><p>　　那么问题来了</p><p>　　1、我凭什么要参与这个系统，我为什么要动用自己的计算机资源来存储这些信息呢?</p><p>　　2、以谁的记录为准呢?比如上面的账单顺序，A用户可能是这个顺序，但是B可能顺序不一样，甚至可能B根本就没有接收到C给D转账的这个消息。</p><p>　　3、比特币如果做到支付功能，保证该是谁的钱就是谁的钱，而且只有其所有者才能花。</p><p>　　4、如何防伪、防篡改以及双重支付，防伪是验证每条交易的真的是某人发出的，比如B可能杜撰一条消息，说某某给我转了一笔钱，这就是一个假消息，或者B说我给某人转了多少钱，但是实际上他并没有这么多钱，又怎么办。防篡改指的是B可能想从区块链上把自己曾经转给某人钱的记录删掉，这样他的余额就会增加。双重支付是指，B只有10比特币，他同时向C和D转10个比特币，造成双重花费。</p><p>　　<strong>三、为什么要记账?</strong></p><p>　　因为记账有奖励，记账有手续费的收益，而且打包区块的人有系统奖励，奖励方案是，每十分钟生成一个区块，每生成一个区块会奖励一定数量的比特币，最开始是50个BTC，过4年会奖励25个BTC，再过4年再减少一半，以此类推。这样比特币的产生会越来越少，越来越趋近于一个最大值，计算公式是：50×6×24×365×4×(1+1/2+1/4+1/8+…)≈2100万，其中最初奖励50个比特币，每小时有6个区块，每天24小时，每年365天，前四年是如此，之后每四年减半。</p><p>　　此外，记账奖励还有每笔交易的小额手续费，每个交易发起都会附带一定的手续费，这些手续费是给记账的矿工的。</p><p>　　<strong>四、以谁为准?</strong></p><p>　　各个节点通过工作量证明机制来争夺记账权，他们计算一个很复杂的数学题，第一个计算出来的节点就是下一个区块的产生者。这个数学题很难，难到没有一个人能同过脑子算出来，它是基于概率的方法，矿工必须通过遍历、猜测和尝试的办法才能解开这个未知数。那么这个数学难题到底是什么呢?下面详细介绍。</p><p>　　4.1哈希函数</p><p>　　哈希函数又称为数字摘要或散列函数，它的特点是输入一个字符串，可以生成另外一个字符串，但是如果输入不同，输出的字符串就一定不同，而且通过输出的字符串，不能反推出输入。举个简单的例子，对1-100内的数模10，可以认为是一种哈希方法，比如98%10=8，66%10=6，98和66是输入，模10是哈希函数，8和6是输出，在这个模型中，通过6和8无法推断输入是66和98，因为还可能是56和88等，当然因为这个例子比较简单，所以会出现哈希碰撞，即66和56的结果都是6，输出的结果相同。一个优秀的哈希函数，可以做到输出一定不同，哈希碰撞的概率几乎为0。常见的哈希函数有很多，比如MD系列和SHA系列等，比特币采用的SHA256算法，即输入一个字符串，输出一个256位的二进制数。下面是程序运行的结果。</p><p>　　通过程序结果可以看出，输入的源信息不同，得到的结果也不同(为了方便，结果用64位16进制表示)，即使是orange多了一个句号，也会产生截然不同的结果。同时，通过输出的十六进制字符串，也无法倒推出输入。对于比特币，只要了解SHA256的功能即可，如果感兴趣可以深入了解SHA256的具体算法。需要SHA256的C++源码留言邮箱或私信。</p><p>　　4.2挖矿原理</p><p>　　首先介绍一下比特币每个区块的数据结构，每个区块由区块头和区块体两部分组成。</p><p>　　区块体中包含了矿工搜集的若干交易信息，图中假设有8个交易被收录在区块中，所有的交易生成一颗默克尔树，默克尔树是一种数据结构，它将叶子节点两两哈希，生成上一层节点，上层节点再哈希，生成上一层，直到最后生成一个树根，称之为默克尔树根，只有树根保留在区块头中，这样可以节省区块头的空间，也便于交易的验证。</p><p>　　区块头中包含父区块的哈希，版本号，当前时间戳，难度值，随机数和上面提到的默克尔树根。</p><p>　　假设区块链已经链接到了某个块，有ABCD四个节点已经搜集了前十分钟内全网中的一些交易信息，他们选出其中约4k条交易，打包好，生成默克尔树根，将区块头中的信息，即发区块哈希+版本号+时间戳+难度值+随机数+默克尔树根组成一个字符串str，通过两次哈希函数得出一个256的二进制数，即SHA256(SHA256(str)) = 10010011……共256位，比特币要求，生成的结果，前n位必须是0，n就是难度值，如果现在生成的二进制数不符合要求，就必须改变随机数的值，重新计算，只到算出满足条件的结果为止。假设现在n是5，则生成的二进制数必须是00000……(共256位)。一旦挖矿成功，矿工就可以广播这个消息到全网，其他的矿工就会基于该区块继续挖矿。下一个区块头中的父区块哈希值就是上一个区块生成的00000……这个数。</p><p>　　解决这个数学难题要靠运气，理论上，运气最好的矿工可能1次哈希就能算出结果，运气差的可能永远都算不出来。但是总体来看，如果一个矿工的算力越大，单位时间内进行的哈希次数就越多，就越可能在短时间内挖矿成功。</p><p>　　那么n是如何确定的呢?比特币设计者希望，总体上平均每十分钟产生一个区块，总体上来看，挖矿成功的概率为1/2^n。现假设世界上有1W台矿机，每台矿机的算力是14T次/s = 1.4×10^13次/s，单位次/s称之为哈希率，10分钟是600s，所以10分钟可以做8×10^19次哈希运算，从概率角度看，想要挖矿成功需要做2^n次运算，可以列出等式2^n = 8×10^19，可以解出n约为66。所以对于这种方法，我们没有办法使得自己的运气变的更好，只能提高自己的算力，尽快的算出结果。</p><p>　　另外，需要模拟挖矿过程的C++代码可以回复邮箱，代码可以通过调整难度值，模拟比特币的挖矿算法，控制区块产生的速度。</p><p>　　<strong>五、如何防伪、防篡改、防双重支付等问题</strong></p><p>　　这部分是理解比特币很重要的部分。</p><p>　　5.1电子签名技术</p><p>　　身份认证技术在生活中很常见，可以是人脸识别、签字、指纹等，但是这些方法在数字货币领域并不安全，因为它们一旦数字化，都可以通过复制的方法伪造。所以比特币采用了电子签名的方法。</p><p>　　注册成为比特币用户时，系统会根据随机数生成一个私钥，私钥会生成一个公钥，公钥又会生成一个地址，其中私钥必须保密，可以保存到硬盘里或者记到脑子里，因为这个私钥是使用相应地址上的比特币的唯一标识，一旦丢失，所有的比特币将无法使用。下面介绍具体的转换过程，不感兴趣可以不看，只要知道随机数-&gt;私钥-&gt;公钥-&gt;钱包地址这个过程，其中私钥可以对一串字符进行加密，而公钥可以对其进行解密，这就是非对称加密，这类算法总体上的功能都是一样的，只是具体算法有区别，由于这些算法比较复杂，与SHA265算法一样不多做介绍，感兴趣可以深入了解具体算法，但是对于比特币系统，只要了解其功能即可。典型的算法是RSA，比特币采用椭圆曲线加密算法。</p><p>　　转换过程(选读，不影响理解)</p><p>　　1、首先使用随机数发生器生成一个私钥，它是一个256位的二进制数。私钥是不能公开的，相当于银行卡的密码。</p><p>　　2、私钥经过SECP256K1算法生成公钥，SECP256K1是一种椭圆曲线加密算法，功能和RSA算法类似，通过一个已知的私钥，生成一个公钥，但是通过公钥不能反推出私钥。</p><p>　　3、同SHA256算法一样，RIPEMD160也是一种HASH算法，由公钥可以得到公钥的哈希值，而通过哈希值无法推出公钥。</p><p>　　4、将一个字节的版本号连接到公钥哈希头部，然后对其进行两次SHA256运算，将结果的前4字节作为公钥哈希的校验值，连接在其尾部。</p><p>　　5、将上一步的结果使用BASE58进行编码，就得到了钱包地址(相当于银行账户)。比如A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa</p><p>　　所以，通过以上的过程我们可以总结出私钥、公钥、钱包之间的关系如下图。可以看到通过私钥可以推出所有的值，公钥哈希和钱包地址之间可以通过BASE58和BASE58解码算法相互转化。</p><p>　　了解了公钥、私钥、地址的概念后，防伪验证的过程就很容易理解，当A发起一笔交易后，对消息进行哈希，生成数字摘要，对数字摘要，通过私钥加密，生成一个密码。之后A会广播这个条交易消息、公钥以及密码。收到消息的人首先对交易信息进行哈希生成摘要1，再通过公钥对密码进行解密，生成摘要2，这样，如果两个摘要相同，说明这个消息确实是A发出的。所谓的签名，就是密文。</p><p>　　5.2余额检查</p><p>　　余额的概念应该说根深蒂固，余额是伴随着称之为借贷记账法而产生的，也是目前银行普遍采用的方法，将一个人的交易记录统计好后算出一个余额，但是在比特币中没有余额这个概念，因为其采用的是UXTO模型的记账方法。比如A-&gt;B10个比特币，B-&gt;C5个比特币，对于第二笔交易来说，B在发起这笔交易时要注明第一笔交易的信息，这样就可以知道B曾经从A那里收到过10个比特币，说明满足第二笔交易发起的条件。所以比特币中余额的检查是通过追溯的方法。</p><p>　　上图描述了两笔交易，交易10001中，B向C转了10个比特币，验证这笔交易的过程是：首先将B的签名通过B的公钥解密，然后再和交易的具体内容(B签名左侧)对比，如果相同，说明消息是B发出的，然后再检查10000这个交易是否真的存在以及它的内容的真实性。这两点都满足了，就说明交易10001是可以被接受的，否则拒绝接受。</p><p>　　实际上，真实的交易比这个复杂的多，因为有可能是多笔交易构成了输入，比如B-&gt;C20个比特币，是由多笔交易A-&gt;B10,D-&gt;B10构成的，则前一笔交易ID就是两个ID，甚至可能更多。这里为了简单描述，只列举一笔交易。</p><p>　　5.3双重支付</p><p>　　A同时发了两条消息，同时给B和C转了10个比特币，实际上他只有10个会怎么样?假设D节点先收到了转给B10个BTC，然后收到了转给C10个比特币，通过上面的验证方法，自然会拒绝后面的一个，与此同时，E节点可能先收到了转给C10个BTC，然后收到了转给B10个比特币，他自然会拒绝后者。至于哪一笔交易最终会上链，就要看D和E哪个先解决难题，成功挖矿。</p><p>　　5.4防止篡改</p><p>　　假设A转给B10个比特币，但是他想把这个信息从区块链上删除，这样大家就都不知道这个事情存在，就可以赖账。</p><p>　　首先说一下最长链原则，假设某一个区块后面有两个矿工同时挖到了矿，或者由于网络延迟等原因产生了分歧，这时，各个节点先随意根据自己认为对的区块挖矿，只到下一个区块产生，这时会有两条链，但是有一条是长的，比特币规定，以最长的链为准。如果某个节点仍然的固执的以较短的链为准，他就是在和大多数算力作对，这样做的结果是，他挖的块不被大家认可，会浪费时间和算力。</p><p>　　回到上面的场景，A想赖账，就只能从记录了A-&gt;B10个比特币这个消息的区块的前一个区块开始重新挖矿，造出一个支链来，但是实际上的区块已经前进了很多，他只能不停的追赶，而且在追赶的同时，主链也在前进，他必须以比主链快的速度前进，如果他的算力足够大，理论上通过较长的时间确实可以追赶成功，就实现了对交易信息的篡改。然而其实这几乎是不可能的，因为就算算力再大，平均出块速度也是10分钟，从非技术的角度讲，一个人如果掌握了全网一半以上的算力，他为什么不在主链上继续挖矿呢?一个富可敌国的人应该不会甘愿去做一个小偷吧。</p><p>　　<strong>六、总结</strong></p><p>　　区块链并不等同于比特币，比特币也不是区块链，区块链只是比特币应用的一种技术，这个技术能给我们带来启发，比特币的伟大之处在于应用了前所未有的区块链技术。区块链技术还能在哪些方面应用还需继续探索。</p><p>　　比特币是区块链技术最成功的应用，但是比特币本身也有很多问题，它想通过发行货币来挑战主权货币，这个动机有待商榷。此外，由于比特币的匿名性，只需要一个公钥或地址就能进行交易，为黑色产业提供了很好的平台。另外，比特币并不是一个成熟的支付系统，它具有吞吐率低，可拓展性差等缺点。</p>]]></content:encoded>
            <author>98989@newsletter.paragraph.com (Cheng)</author>
        </item>
    </channel>
</rss>