主页 > imtoken安卓版下载2.0 > 区块链笔记1:比特币是什么意思?

区块链笔记1:比特币是什么意思?

imtoken安卓版下载2.0 2023-07-23 05:07:35

不要考虑十年后会发生什么变化,想想十年后什么会保持不变——杰夫·贝索斯

为什么为什么? 为什么是比特币? 为什么是区块链?

我在这个话题上有点热门。 本文更多地讨论了区块链存在的意义。 就像每个产品都是一个问题的答案一样,区块链是一个非常有代表性的问题答案。 如果我们想弄清楚“为什么是区块链?”,问“为什么是比特币?”可能是一个好的开始。 第一的。 那么,为什么是比特币? 比特币解决什么问题?

梦回2008年

比特币白皮书《比特币:一种点对点电子现金系统》于2008年10月31日发布。2008年,除了北京奥运会,还有从美国房地产开始的金融海啸。 维基百科也有专门的主页,网上其他地方也有很多类似的文章。 此外,还有一部非常有名的电影《大空头》,也是讲2008年的金融危机。

综上所述,很多工作不稳定的人都曾向银行借钱买大别墅,如果没有钱还,就会违约。 借款人对贷款人违约,贷款人违约手中的借款人越多,他们对他的贷款人也违约。 层层嵌套的娃娃最终摧毁了整个金融市场。

这里的问题是,为什么一个工作不稳定的人能借到那么多钱呢? 造成这种情况的原因之一是评级机构腐败,将高风险债券评级为低风险。 我们要知道,当对方在评估我们的风险时,我们也在评估对方。 对于权威评级机构,我们应该相信权威评级机构出具的结果。 但在这件事之后,我们对评级机构产生了不信任。 信任有问题,这是一个非常大的问题。

相信

人类作为一个物种,只有一个目标,那就是活得更久。 然后对于个人,人类,唯一的目标将是更长久的存在。 在这个目标下,人们生活在群体中。 起初是家族,后来部落逐渐壮大,成为国家。 国际化的最终目标是整个人类群体作为一个整体进行合作。

对于群体来说,不管系统有多大,人作为一个群体最需要的就是信任。 如果对一个群体没有信任,那么这个群体就不会存在。

但是这里的信任是如何定义的呢? 假设你的朋友张三说他每天十分钟到达地点,但他每次都是十五分钟到达地点。 另一位朋友李斯说,他每天十分钟就到了,但有时4分钟就到,有时16分钟就到。 假设一个情况比特币对社会有什么实际意义,你中毒,你将在 15 分钟内死亡。 张三和李四都有解药,但你的手机只能拨打一个电话。 那么这种情况下你会打电话给张三还是李四呢?

在我看来,我在 15 分钟时给约翰打了电话,因为他会在 15 分钟后到达,尽管他肯定说 10 分钟是个谎言。 至于李斯,不知道十五分钟之内能不能赶到地点。

所以在我看来,信任的本质是一种确定性,是你在未知的未来对张三或者李四的行为的确认。

回到2008年,资产评级机构在整个金融体系中拥有绝对话语权,整个房地产资产估值都是围绕着少数权威评估机构建立的。

当危机来临时,我们首先发现,评估机构说的不一定是对的。 我们质疑美国金融体系的权威。

How to do it-怎么做?

好吧,假设你在2008年初,我们发现美国社会存在一个巨大的问题。 美国社会有权威有权力的人,基本上可以化鹿为马。 如何解决这个问题呢? 有人说我们通过民主,有人通过骚乱,但也有人说我们需要建立一个新的金融体系。 这个系统叫做比特币。

什么什么?

现在,最棘手的问题是,我们需要开发一个更好的系统来取代现有的金融系统。 现有的金融系统是一个中心化的系统,最中心的节点是处理所有信息和存储所有信息的权力机构。

以银行为例。 我们要向银行提出转账申请,银行会判断、记录、操作,把钱打到目的账户。 当我们查询自己的余额时,实际上是在向银行索取我们的记录。 在这里,判断、记录、操作完全处于黑匣子状态。 我们完全不知道里面发生了什么。 如果我们要更换金融系统,那么我们的系统必须是点对点的转账,所有的转账信息都会公开。

比特币的解决方案是系统中的所有节点都有记录和查询交易的权限。

如何实现? 假设系统中有张三、李四、王舞,他们每人都有一本记账本。 张三转了2块钱给李四。 为了让大家知道转账信息,张三记录在本子上,在群里喊话,让大家更新自己账本里的数据。

1、张三偷偷写信说李四转钱给张三怎么办?

为了解决这个问题,我们的每份协议都要求双方在每次转让时签字。 李四把钱转给张三,李四需要在交易上签字。 在软件系统上实现签名需要非对称加密。 每个人都有自己的私钥和公钥。 公钥(PK)是大家可以看到的,私钥(SK)是不公开的密钥。

交易信息会根据发起者的PK进行哈希处理,只有发起者才能用自己的SK进行解码。 此时,我们同意只有解码成功的标准信息才能写入系统数据库。

2、如果张三没有那2块钱怎么办?

就像玩大富翁一样,在启动系统的时候,每个人都有一个初始游戏币,这里所有的转账都是用游戏币进行交易的。 而且,在每笔交易中,验证者都需要从头到尾读一遍账本,判断张三是否有余额转给李四。

因为从头到尾看书很痛苦,而三个人又会写代码,所以决定做一个软件系统。 首先,系统启动时,会记录每个人对应的余额,

 {
  "timestamp": 0, 
  "transaction": "从系统转到张三、李四、王五"
  "state":{
     "张三": 100,
     "李四": 100,
     "王五": 100
   }
 }
复制代码

交易按时间处理,每笔交易在系统数据库中按时间排列

 [{"timestamp": 0, "transaction":"..."},  {   "timestamp": 1,    "transaction": "张三转给李四2块钱",    "state":{     "张三": 98,     "李四": 102,     "王五": 100   } }]
复制代码

这里的每一个项目都是一个“区块”,用时间串起来作为签名,就是“区块链”。

3. 谁来做审核?

如上所述,每个区块都是按照时间顺序排列的。

然后假设一个情况,张三给李四转了60元,这样李四就有了162元,然后李四给王五转了160元,但是因为张三距离比较远,网速比较差,所以李四四的区块比张三的区块更早送到系统。

那么,我们如何建立一种机制来保证区块的顺序是按时间顺序排列的呢?

比特币白皮书这里介绍了一个很重要的机制,就是“工作量证明”。

首先,我们现在设计的区块有时间和交易信息。 为了将区块串联起来,我们还需要在区块中包含区块在前一个时间节点的数据。

 [{"timestamp": 0, "transaction":"..."},  {   "timestamp": 1,   "previous_block": {"timestamp": 0, "transaction":"..."},   "transaction": "张三转给李四2块钱",    "state":{     "张三": 98,     "李四": 102,     "王五": 100   } }]
复制代码

在上述情况下,每个区块都非常容易被篡改和伪造。 比如张三和李四都跟大家说我的区块是timestamp=1的区块。

在一个缺乏决定性行为者的系统中,我们该听谁的?

在这样的软件系统中,现有最好的模式就是谁宣告成本最高谁就听谁的。 张三表态的时候,扣了一块金表,李四表态的时候,直接扣了一个房子。 然后我们就听李斯的,把李斯的区块放到系统账本上。

如何在软件系统中实现这种机制? 比特币的实现借鉴了 SHA256 的机制。 张三和李四同时猜出一个值,用这个值对区块进行哈希,哈希结果会以几个0开头。 谁先找到这个值,谁就会跟随。 这个过程中文称为挖矿,哈希结果在比特币中称为“nonce”。

同时,因为这个工作不能白做,谁先得到这个值,谁就可以获得金钱奖励。 所以也解释了为什么挖矿赚钱。

我自己的想法

我真的很讨厌将区块链的产品/系统描述为去中心化的。

在刚才的问题中,我们看到工作量证明机制本质上是推荐花费较多成本的人作为权威。 而劫持这个系统理论上需要 50%(有些链更少)的算力。 从这里我们其实可以看到比特币对社会有什么实际意义,在不改变这个机制的情况下,只要比特币的影响力扩大,不久的将来总会有一个非常富有的组织或个人控制整个区块链。

我个人认为区块链的精髓在于披露。 去中心化只是一个阶段,不是这个产品的身份。