zoukankan      html  css  js  c++  java
  • 如何防止double spending

    一、 比特币的来源

    比特币一共有两种来源,一是作为挖矿者得到的coinbase铸币交易;

    二是别人转账给你;

    二、 比特币的交易

    首先需要明确的是,比特币虽然说是分布式账本系统,但是系统中并没有维护账户信息,也就是说,我们是无法直接查到现在我的账户有多少钱的。

    但是,我们可以通过计算得到,类似于加减法,从最开始得到币的交易开始进行加减法得到现在币的剩余量。

    那这里币的来源怎么得到呢?

    这里仍然是Hash指针。

    区块链系统中其实是有两种hash指针,一个是区块和区块之间的;

    另一种这里提到的用于溯源的hash指针。这个指针该顺着区块链向上溯源,得到所有收钱和花钱的交易,最终判断是否有足够的余额支付这笔交易。

    从以上讨论看出,这个溯源的过程是非常消耗算力的。

    三、 UTXO

    区块链作为Transaction-based ledger,并没有账户的概念。

    因此为了解决上述溯源的问题,比特币系统在全节点里维护了一个UTXO的系统,unspent Transaction output,没有被花掉的交易输出。这样溯源的计算量将会大大下降。

  • 相关阅读:
    学习计划 23月
    bash学习笔记
    bash 中 while读取文件并通过 ssh执行命令出现的问题及解决方法
    bash 学习笔记2
    fedora 启动 openssh
    lesson5 键盘的应用
    第十三章 int指令
    第十五章 外中断
    第十二章 内中断
    第十四章 端口
  • 原文地址:https://www.cnblogs.com/siyuan-Jin/p/12388862.html
Copyright © 2011-2022 走看看