今天给大家聊到了区块链解决双花,以及区块链双花是什么意思相关的内容,在此希望可以让网友有所了解,最后记得收藏本站。
潜藏在货币流转特性中的秘密,DCEP如何优雅地解决“双花问题”
上一篇文章我们已经谈过,账户体系可以完美地解决数据作为货币会产生的双花问题,但由于这种账户机制,会使得货币的流转丧失并行的特征,很难在一个独立的系统当中容纳大量的交易同时进行。
那么,我们如何才能让这些账户可以实现数据的并行化处理呢?
换一个思路来思考账户结构。
我们之前的账户体系当中,不同的用户账户所记录的是一个数字,我们利用一个数字来表示一个用户手中所持有的货币的数量。但现在我们不再使用一个数字来表示账户的货币数额了,而是将每个货币都变为一个独立的数据段记录在账本当中。
当用户要进行交易的时候,只需要选择一部分货币,并将这这些货币复制给新的用户,同时将原本用户手里的货币标记为作废即可。
假设张三的账户中存在着100张代表着一元的货币,每一个一元货币都有着独一无二的编号,那么当张三向李四转移50块钱的时候,张三只需要在自己的账户当中选择出这50张货币,告诉账户的管理者,我要把这50张货币转移给李四。而账户的管理者在收到这样的一个信息请求之后,他就会把这50张货币在账户当中标记为作废。与此同时,在李四的账户当中产生50张新的一元货币。
这种处理方法也就是现在所谓比特币UTXO结构所采用的一种方式。它的优点在于可以允许货币同时由多个账户转向多个账户。交易过程中系统会自动加上时间戳,如果用户用同一笔UTXO付给两个人,系统中的节点只确认先接收到的那一笔。
然而,实际上比特币的交易实现,并没有采用 50 张一元这种做法,而是让每一个货币都有自己的面额。
这也很好理解,因为既然货币是可以被生成和销毁的,那么为什么不直接生成一张50元呢,更加简单便捷。
在比特币账户账本中,货币是以一个字符串的形式来进行记录的。每一个货币都有自己的独立ID。这个ID是由UTXO交易哈希值与UTXO中的位置索引决定。
这种记账方式的优势在于交易逻辑清晰。它可以通过算法分析出交易之间的依赖关系,并将可以实现一定程度上的交易并行化处理。
尽管并行化的问题得以解决,系统中也存在了真实货币的概念,然而用户并没有真实拥有这些货币,它们被存储在区块链上。
既然如此,为什么我们不让用户 “拿着” 这些货币呢?
听起来这似乎只是一个简单的操作,只要将这个货币的数据记录从我们的账本上拿到用户手中即可。
但这一个小小的变化,却能使我们整个系统实现了质的飞跃。
实际上,这就是 DCEP 的设计逻辑。
让用户手中真实持有代表货币的字符串。这些字符串数据通过数字签名技术进行签名,保证货币确实由央行发行。
如此,整个DCEP体系摆脱了原有的账本。体系中流转的不仅仅是价值,而是现金。用户的所有交易行为都会被表达为加密字符串的交换过程。通过这样的方式,真正的实现了货币的流转流程与现金的等价关系。
这种方式可以真正让数字货币的流转方式模拟了真实货币的流转方式,与现有的任何一种账本记录的方式有着本质的区别。
在原本的账本形式中,用户所拥有的只是一个证明你身份的字符串,并不是现金。现金是被放在账本管理机构手中的。换言之,用户拥有的仅仅是货币的价值,而不是货币的物理属性。用户永远不知道管理机构利用自己的现金做了什么。
另外,生活中用户也并不关注储存在银行中的货币的编号。他们只需要在使用时,考虑货币的面额即可。而这样的设计会使得货币展现出与真实现金的不同特征。
例如,账户中记录的货币是可以被分割的,理论上这种划分是可以无限进行下去的。账户系统中两个相同的一元并无区别,他们都只是一个在系统中记录的数字。
说到这里,不得不提及一个来自于区块链行业的概念——NFT。
这个概念与银行账户的价值记录方式有所不同。它的全称是非同质化代币。
简单来说,就是每一张货币都不一样。如同现金,虽然两张一百元货币的价值都是一百元,但是他们在物理上却是不相同的。
现实中,每张真实的货币都是可以被任何人真实拿在手中的。钱的物理属性与价值被统一管理。每张货币也都拥有一个唯一的编号,这个编号可以用于追踪货币,同时也保证了货币本身的独立性。每一张货币都是不可分的。我们不能把一样百元大钞撕成两半,把其中的一半当作五十元来用。那么,如果我们需要调整货币的面额,就要把手中的货币进行兑换。
以上这两种系统的区别,本质上是现金与账户的区别。
从这个角度来讲,DCEP的设计模式,说明了它就是一种真实的现金。
它的任何属性,包括流通特性都与真实的现金是一模一样的。
而在此基础上,由于数据可以被远程传输和管理,DCEP又比现金有了更大的优势。
DCEP作为现金的一种表现形式,它的技术设计当然不可能是账户机制完成的。
尽管数字货币在到达用户的手中后,可以实现货币流通的并行化,但是考虑到由于数据本身是可以被复制的,而用于保证DCEP真实性的数字签名即使是在被复制之后,也能被正确的验证,我们仍然需要解决数字货币“双花问题”。
解决这种问题的方法就潜藏在现金货币的流转特性中。
之前已经说过,每一张现金上都是存在一个唯一的编号。
事实上,这个编号就是解决DCEP双花问题的关键。通过编号,我们就能很优雅地解决“双花问题”。
“双花问题”问题简单来说就是,支付方已经将一笔钱付给接收方,但却依旧拥有被转移货币的支配权。换言之,这笔钱同时被两个人所拥有了。
从这个角度上来讲,避免货币“双花”的核心点,就是保证同一时间,一个货币只能被一个人拥有。
在DCEP场景下,通过DCEP本身所具有的编号,我们就可以成功实现追踪每一张货币的所有者。
因此,在 DCEP 体系下,解决问题的方式就是构造一个登记中心,记录 DCEP 字符串编号与所有者身份编号的映射关系。
正如图中所述的流程,当Alice向Bob发送一笔数字货币时,Alice先向Bob发送自己所拥有的数字货币字符串。同时 Alice 也会向数字货币登记中心通知,告知数字货币登记中心自己的这张货币0x001的所有权已经发生了转移。数字货币登记中心会根据Alice所发送的数字签名信息验证Alice的身份,确保Alice真实确实是货币0x001的所有者的情况下,把这张货币的所有权记录修改为Bob。
虽然我们使用了一个登记中心用于记录所有货币转移过程的身份变化,但是这个中心并不会限制整个数字货币的性能。因为数字货币的登记中心所管理的每一张货币都是相互独立的,天然满足成为 Stateless 的特性。在这个基础上,整个系统是可以无限并行化扩展的,这也就意味着DCEP的核心系统理论上是可以对外提供无限扩展的高性能支持的。
至于Stateless,这是一个计算机术语。
Stateless的设计可以保证整个系统中不存在性能瓶颈。任何一个系统的设计只要满足Stateless的特性,那么这个系统的性能便可以被无限的扩展。
在整个数字货币登记中心系统中,每一张货币的所有权记录都是独立的,正如同真实的现金在社会中流转的过程。
某种意义上,DCEP的设计目标是为了全国乃至全世界的货币流转过程提供支持。这对整个系统的性能有很高的要求。
而DCEP所采用模拟真实现金流转过程的技术方案,既能巧妙地解决数字货币可能产生的双花问题,同时又借助于货币流转的并行化特征,保证货币的流转结算过程可以被完美地并行化处理。
无论从区块链上加密货币的形态上来看,还是从实现的技术特性上来看,DCEP 的设计模式可以说是与区块链完全不相同的设计模式。
本质上,区块链无论采取什么样的形式,它都是一种账本的形态,而 DCEP 的实现则是一种真实的现金。
显然,DCEP 的设计更加符合数字货币这个场景的需求。
一句话解释区块链,你却为什么听不懂?
区块链,现在这个概念异常火爆,几乎哪里都在讲,几乎人人都在谈。但是,真正懂的人似乎并不多。
你一定在网上看到过这样的文章:“X分钟告诉你什么是区块链”、“X张图讲清楚区块链”等等,但是看完后还是云里雾里。
你也一定听过,有人用一句话来解释区块链: 区块链,就是一个分布式账本。
确实是一句话,但是我知道,你还是没听懂。
你不懂什么是“分布式”,更不懂什么是“分布式账本”,尤其困惑的是:不就是个账本吗,怎么就成了要改变世界的技术了?
既然这样解释你听不懂,那么我尝试从另外一个角度来解释区块链。
当然,也是一句话。
让我们仔细想想,区块链技术无论多么高深莫测,也不过是一种工具而已, 只要是工具,就是用来解决某种问题的。
从这个角度说,区块链技术和你家里的榔头没有任何区别:榔头是种工具,要解决的问题就是墙上的钉子。
一种工具,如果它“ 是什么 ”很难解释清楚,那么就换个问题: 它解决了什么? 通过回答这个新问题,能否帮助我们最终理解这个工具?
举个例子:
艾卡哚司他尔(Epacadostater) 是一种极其复杂的分子化合物,代表了当今生物医学领域最高技术成果。如果讲定义,你几乎不可能给一个外行人说明白它是什么;但是从它所解决的问题出发,一句话就可以解释清楚这种神奇的药物: 它是一种治疗艾滋病的特效药物。
这次,我知道你一定懂了。不是因为你理解了 艾卡哚司他尔(Epacadostater) 的定义,而是因为你理解它所解决的问题:艾滋病。
所以,通过理解问题来理解工具,这种思维方式是完全可行的。
那么,区块链要解决的是什么问题?
简单的一句话解释: 区块链技术是一种解决双花问题的有效方案。
好吧,我承认骗你了,你还是没懂。不过先别打我,其实我们已经很接近了。
看看这两句话:
这两句话的关键在于:你明白 艾滋病 ,但你不懂“ 双花”问题 ,正是由于这种认知上的差异,导致你能听懂第一句,却听不懂第二句。
所以, 理解双花问题,是理解区块链的关键!
下面就解释下什么是“双花”问题”,虽然不是用一句话,但是也不难理解。
从我们日常用的微信开始,你一定熟悉下面两个场景:
表面看来,两种场景似乎差不多,但实际上,却有着巨大的差异!
你把照片发给别人,照片还在,但是发钱钱却没了,为什么?
也许你觉得本该如此:如果钱还在,人人岂不都有花不完的钱(梦想成真)!
不,这背后的道理一点都不平常。我来解释下为什么。
现在,我们每个人都要同时面对两个不同的世界:一个物理的现实世界,一个虚拟的网络世界(手机、电脑、互联网等),前者是由原子、分子组成,而后者的组成元素则是“数字”。我姑且把第二个世界称之为“数字世界”
“数字世界”是人类最伟大的发明之一,很多在现实世界中难以完成的任务,在“数字世界”中可以轻而易举的实现。
比如,在现实世界中,你有一张纸质照片,你希望分享给你远方的朋友,同时自己也想保留一份。要做到这点,你需要去照相馆复印,然后到邮局寄出。麻烦不说,还花时间。
而这一切在数字世界里,只需要你在手机上轻轻一点,一瞬间,你远方朋友就收到了这张照片。很方便。
为什么如此方便?
在现实世界中,分子原子是不容易复制的,也没有办法高速传输,而在数字世界里,数字极其容易复制,也可以高速传输(实际上,你在手机上发送照片,你是把这张照片的拷贝发出去,拷贝在数字世界是个很自然的事情)。
就是依赖这种特质,数字世界提供了远超现实世界的便利性,大大改变了我们的生活。
然而,人们发现这种便利性遇到一个巨大的困难: 如何在数字世界中传输“钱”?
在现实世界里,你把100元现金给你朋友,你的兜里自然少了这100元现金,而你朋友的兜里自然会多这100元现金。这种实物上的操作,不需要别人介入。
然而,在数字世界中,所有东西的组成元素都是数字,100元钱(或其他有价值的东西)和照片没有区别,都是数字。数字,就可以被轻易的复制和传输。
但是你显然不能用转照片的方法(复制数字拷贝)转钱,照片转走,你可以保留一份原件,但是钱转走了,你的钱不能保留。
换句话说, 数字世界中你的照片可以有无数份拷贝,而“钱”只能有一份。 “钱”在不同所有者之间流通的必须是它的“真身”,只是换了所有者而已,而不像照片一样可以有多个“分身”。
因为这种“唯一性”是和数字世界的天性不符,所以必须有额外的机制确保这点。否则,钱一旦可以被复制,那么你可以先把100元转给一个人,再把复制品转给其他人,等于一个100元被花了两次,这就是所谓的“双花问题(double spending)”。
综上,虽然“双花”问题可以让人人都有花不完的钱,但是,现代金融体系是绝对不能接受这点的。
怎么解决呢,之前的解决方案你很熟悉, 就是银行 ,由银行来负责记录每笔钱的所有者。
银行会给每人一个账户,在你交易完成后,银行会做如下操作:记录你的账户上少了100元,记录你朋友的账户上多了100元,100元只是换了所有者,并没有被复制。这里银行充当一个可信的中介。
但是银行系统有种种问题:
缓慢 ,转一笔钱可能要几天才能到账,这可不是数字世界该有的效率。
风险 ,银行对黑客攻击防不胜防。
昂贵 ,高昂的手续费,你懂得。
出于这些原因,我们不想让银行来做这个“中介”,那有没有其他办法,不需要任何中介,也能解决前面说的双花问题呢?
很长时间以来,答案是没有。
人们没有办法在一个没有银行的数字世界中解决双花问题。直到某天,一个天才想出了区块链技术,一切从此改变!
区块链技术就是解决双花问题的有效方案。它让人类第一次在交易方面充分享受到了数字世界的优势,快速、安全、可靠而且廉价。有了区块链技术,你可以像发送照片一样转账给朋友,更重要的是,整个过程中 ~没~有~银~行!
完美!
下面是这篇文章的总结:
1. 不要从区块链的定义来理解区块链,而要从它解决的问题入手。
2. 现实世界由分子和原子组成, 不容易复制和传输。
3. 数字世界一切皆由数字组成,解决了现实世界不易复制和传输的问题, 但是带来新的双花问题。
4. 构建一个以银行为中心的网络,可以解决数字世界的双花问题, 但是又带来其他问题:效率低,成本高,安全性差等。
5. 区块链技术,解决了上面的问题。一句话的解释就是:区块链,是一种工具,能够在去中心化的数字世界中解决双花问题。
希望读到这里,你可以通过理解“双花”问题来理解区块链是做什么的。至于区块链具体是如何工作的,我会在后续的文章给大家介绍。
最后,艾卡哚司他尔(Epacadostater)是我杜撰的,没有这种东西。
在区块链中,双花问题是什么问题呢?
什么是双花问题呢?
双花问题,简单讲就是一笔钱能被花两次三次很多次。为什么双花问题会成为比特币系统里面一个这么重要的问题呢?
原因就在于:比特币,是虚拟货币,它是虚拟的,通过代码形式呈现出来的,是可以被复制下来的。一旦被攻破了代码漏洞,那么就可以循环使用同一笔比特币,这样一来,比特币这种“钱”就会变得很鸡肋。
我们想一下,要是一笔钱可以花很多次,你有500块钱,你去买一件500块钱的衣服,还能循环使用,再去买一双500块钱的鞋,这样一来,钱还能叫钱吗?
所以,中本聪在设定比特币系统的时候,他所有的技术手段基本上都是围绕着解决
“双花问题”的,来保护比特币作为一种货币,它自身的一个支付手段职能。
其实,这个双花问题在我们现在的中心化世界里面根本不是问题,因为有银行,钱的交易结算都是通过银行,很安全,有问题直接找银行。
但是,在去中心化世界里面呢,没有银行这样一个中心机构,还必须保证一笔钱只能花一次,怎么样实现在去中心化的前提下,杜绝“双花问题”呢,这是一个难题。
这里插一句,中本聪为什么如此执着的追求“去中心化”呢,自找烦恼吗?不是,他希望能够通过去中心化,来解决一些社会问题,其中最主要的问题就是:因为权力机构过量发行货币造成的通货膨胀。
所以,我们总结一下他的逻辑:中心化的货币增发导致通货膨胀——所以我们要实现去中心化——去中心化要面临很多问题,最大的问题是双花问题——所以我们要解决双花问题——怎么解决双花问题?
这里,中本聪就引入了UTXO和“时间戳”概念,依靠这两种手段来解决双花问题。
写到这里,本文关于区块链解决双花和区块链双花是什么意思的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。
标签: #区块链解决双花
评论列表