区块链研究区块链研习社区块链大学

『学概念找员外』财奴币(一)

2019-03-25  本文已影响2人  刘员外__

「力场 lichang.io」公链挖矿第一社区!

上一篇我们说了高飞币是有双重支付问题的,一旦有这个问题,就不具备货币的属性了,否则天下大乱。为了解决这个双重支付的问题,我们今天就来说说另一种加密货币,叫财奴币(ScroogeCoin)。这个币是在高飞币的基础上创建的,为了解决双重支付的问题,所以数据结构上会比高飞币复杂一些。

结构

假设一个叫财奴的人,专门负责公布所有发生过交易的历史记录的仅增账目(即这个账目上的数据只可以增加,不能删除和修改),这个仅增账目的特性就保证了写入这个账目的任何数据都将被永久的保留下来。这样就可以所有的交易在被接收钱都写入账目,然后利用这个特性来防止双重支付的发生。因为如果之前的币已经转给了另外一个拥有者,那么大家都可以在这个账目上看到。

为执行这个仅增功能,财奴可以建立一个区块链,对于区块链,财奴要进行数字签名,因此,这就形成了一系列数据区块,每个数据区块都包含一次交易,每个区块包含交易的ID、交易的内容,以及上一个区块的哈希指针。财奴数字签名是针对最后一个哈希指针(它约束整个结构中所有的数据),并将签名与区块链一起发布。

在财奴币中,只有在由财奴签名的区块链的交易才有效。任何人都可以通过检验财奴在区块中的签名来验证交易是否经过财奴的认可,财奴会确保不会认可企图双重支付的交易。

为什么除了让财奴签署每个区块,我们还需要一个带哈希指针的区块链?这样做是保证仅增特性。因为财奴有可能试图增加或移除交易记录,或者改变已有交易,而一旦有了哈希指针,将会影响到后面所有的区块。只要有人监督财奴发布的最新哈希指针,如果有变化,就可以被轻易发现。在一个财奴分别签署不同区块的系统中,你需要记录他签署的每一个签名。就这样,所有的用户可以轻易验证他们确实观察到了同样的,由财奴签署的交易记录。

交易

财奴币中有两种交易。第一种是造币(CreateCoins),类似于在高飞币中,高飞可以创建新币的程序,而财奴将其进行了扩展,那就是可以在一次交易中创建多个币。造币交易如果是由财奴签署,从定义上说它总是有效的。我们不会担心财奴什么时候有权创建新币或者可以创建多少,正如我们不担心在高飞币中,高飞可以创建新币那样。

第二种交易是付币(PayCoins)。这一交易会消耗币,就是说先销毁它们,然后创建数量相同的新币。新币可能属于不同的人(公钥),这一交易必须由每一个支付该币的人来进行签署。因此,如果你是本次交易中将会消耗的某只币的所有人,那么你就需要数字签署该交易,表明你同意花掉这只币。

上一篇下一篇

猜你喜欢

热点阅读