Welcome to the Decentralized Future
Decentralization? We're still early!

比特币白皮书笔记

正在檢視 1 則發表的回覆
  • 作者
    文章
    • #4279
      yak
      使用者
      18
      NFT奖励: BravePass

      比特币:一种完全通过点对点技术实现的电子现金系统


      摘要:


      1) 本文提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。

      我们在此提出一种解决方案,通过使现金系统在点对点网络环境 通过使现金系统在点对点网络环境 下运行来防止双重支付问题。

      1.1)该网络对全部交易加上时间戳(timestamps )将所有交易(transactions )执行哈希(hash)后合并入一个不断延伸的基于随机 基于随机 散列(hash-based )的工作量证明(proof-of-work )——作为交易记录

      除非重新完成全部的工作量( 重新完成全部的工作量(pow)证明,否则形成的交易记录将不可更改

      1.2)最长的链条:-将作为被观察到的事件序列( 被观察到的事件序列(sequence )的证明

      -且被看做是来自 CPU 计算能力最大的池 计算能力最大的池(pool )

      -只要大多数的 CPU 计算能力都没有打算合作起来对全网进行攻击,那么诚实的节点 计算能力都没有打算合作起来对全网进行攻击,那么诚实的节点将会生成最长的、超过攻击者的链条

      2)这个系统本身需要的基础设施非常少

      2.1)信息尽最大努力在全网传播即可。

      2.2)节点(nodes)可以随时离开和重新加入网络

      并将最长的工作量 可以随时离开和重新加入网络,并将最长的工作量证明(pow )链条作为在该节点离 线期间发生的交易的证明



      简介:


      中本聪写道:当今互联网电子支付无法实现完全不可逆交易,由于金融中介的存在,交易被驳回成为许多无法退货商品或服务的噩梦。

      我们需要一种可以完全实现不可逆交易的系统

      这样一个系统基于密码学原理而非信用

      交易:

      1)我们将一枚电子货币定义为一串数字签名

      2)关于避免双重支付

      只需要确认在此次交易之前没有发生交易,而不需要关注这之后的交易是否发生双支

      为了确保某一次交易不存在,最好的办法就是查询之前发生过的所有交易

      2.1)在铸币厂存在的模型中,铸币厂知晓所有的交易,并且决定了交易的先后顺序

      2.2)如果想要在点对点的电子交易中确认交易,那么交易信息就应当被公开宣布(publiclyannounced),我们需要整个系统内的所有参与者,都有唯一公认的历史交易序列



      时间戳服务:


      时间戳服务通过对区块(block)形式存在的一组——实施——随机散列(hash)并加上时间戳

      – 并将该随机散列(hash)进行广播,就像在新闻网络的发帖一样

      – <b style=”font-style: italic;”>显然,该时间戳能够证实特定数据必然于某特定时刻是存在的——因为只有该时刻存在才能获取相应的(hash)值

      每个时间戳应该将前一个时间戳(也就是前一个区块的hash值)纳入其自身的(hash)中

      每一个时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一个链条

      工作量证明(PoW):

      1)工作量证明机制引入了对某一个特定 hash 值——例如有多个0开头的值进行寻找

      找到符合条件的hash值在迭加下所需要的工作量将呈指数增长

      但因为hash的特性,检验结果却仅需一次hash运算

      2)我们在区块中补增一个随机数(nonce)

      这个随机数要使得该给定区块的随机散列值(hash)出现了所需的那么多个 现了所需的那么多个 0

      我们通过反复尝试来找到这个随机数(nonce)

      -找到为止,这样我们就构建了一个工作量证明机制

      只要该cpu耗费的工作量能满足该工作量证明机制,那么除非重新完成相当的工作量,否则该区块的信息就不可更改。

      并且由于之后的区块是连接在该区块之后的,所以想要更改该区块中的信息,就还需要完成之后所有区块的全部工作量

      3)大多数问题

      该工作量证明机制本质是一cpu一票

      “大多数”的决定构成了最长的链——因为最长的链包含了最大的工作量

      -如果大多数的cpu被诚实的节点控制,那么诚实的链条将以最快的速度延长,并超过其他竞争的链条

      -如果想要对已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量 ——并且赶上和超越诚实节点的工作量

      4)硬件迭代于节点参与问题

      工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定, 将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一预设的平均数。如果区块生成的速度过快,那么难度就会提高



      网络:


      1)运行该网络的步骤

      1.1)新的交易(transaction )向全网节点进行广播;

      1.2)每一个节点都将收到的交易信息纳入一个区块中;

      1.3)每个节点都尝试为自己的区块中找到一个具有足够难度的工作量证明;

      1.4)当一个节点找到了一个工作量证明(pow ),它就向全网进行广播;

      1.5)当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有 当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;

      1.6)其他节点表示他们接受该区块,而表示接受的方法,则是在跟随该区块的末尾,制造新的区块以延长该链条,而新区块的随机散列值(hash )则基于上一个区快 的随机散列值。节点始终都将最长的链条视为正确的链条,并持续工作和延长它

      2如果有两个节点同时广播不同版本的新区块

      都会保留

      2.1)在先受到的区块基础上进行工作

      该僵局(tie)的打破

      等到下个工作量证明被发现,而其中一条链被证实为较长的一条————那么在另一条链上工作的节点将转换阵营,到较长的链上工作

      如果一个节点没有收到某特定区块,那么根据机制,该节点会发现自己缺失了某个区块,也就可以提出下载该区块的请求

      2.2)防止后者变成最长的链条



      激励机制:


      1)每个区块的第一笔交易

      该交易产生由该区块创造者拥有的 新的电子货币

      -这提供了一种在没有中央集权机构发行货币的情况下提供了一种将电子货币分配到流通领域的办法

      -该方法非常类似于消耗资源去挖掘黄金并注入到流通领域

      2)交易费(transaction fees)

      2.1)只要既定数量的电子货币已经流入市场,那么激励机制就可以逐渐转换为完全依靠交易费。同时 本系统也可以免于通货膨胀

      2.2)激励系统也可以助于鼓励节点保持诚实

      如果有一个贪婪的攻击者能够调动比所有诚实节点加起来还要多的cpu算力

      那么他将面临一个选择

      – 用于诚实工作产生新的电子货币,他会发现按照规则行事,诚实工作是更有利可图的,因此他会获得更多的电子货币,而不是破坏这个系统使其自身财富受损

      – 用于二次支付攻击



      回收磁盘空间:


      为了同时确保不损害区块的(hash),交易信息通过执行hash构建成一种(merkle tree)形态——使得只有根(root)被纳入了区块的(hash)

      通过将该(tree)的分支拔除(stubbing),老区块就能被压缩

      – 其内部的(hash)是不必保存的

      – 不包含交易的区块头大约80字节,假设每10分钟生成一次区块,每年的大小为4.2mb

      简化的支付验证:

      在不运行完整网络节点的情况下,也可以对支付进行验证

      一个用户需要保留最长的工作量证明的——区块头 拷贝

      它可以不断向网络发起询问,直到它确信自己拥有最长的链条,并通过(merkle tree)的分支——通向它被加上时间戳并纳入区块的那次交易

      组合和分割价值:

      虽然可以对每一枚电子货币单独发起一次交易,但那是一种笨拙的方法

      为了使价值易于组合与分割,交易被设计为可以包含多个输入和输出

      输入

      – 某次价值较大的前次交易构成的单一输入

      – 或者由某几个价值较小的前次交易共同构成的并行输入

      输出

      – 一个类型用于支付

      – 另一个类型用于找零(如有)



      隐私:


      与传统依靠第三方保持隐私的原理不同,在公开广播的网络里,我们通过将公钥保持匿名的方式——保护隐私

      尽管可以并行输入 让每次交易都产生一个新的密钥对,但是将某一个公钥被确认属于某人时——可以追溯出此人的很多其他交易



      计算:


      !



      结论:


      1)我们提出了一个电子交易系统,不依赖于信任。

      2)为了解决双支问题我们提出了一个对等网络,使更改变记录的十分困难,以此检索之前是否发生过交易

      3)节点可以随意离开和重新加入网络

    • #9375
      xin
      使用者
      40
      NFT奖励: BravePass

正在檢視 1 則發表的回覆
  • 抱歉,回覆主題必需先登入。