美文网首页学习永远无止境
孤荷凌寒自学python第八十七天认识区块链001

孤荷凌寒自学python第八十七天认识区块链001

作者: f9e86c58f23c | 来源:发表于2020-02-11 21:02 被阅读0次

    【主要内容】

    通过百度搜索了解区块链的基本知识,共用时间30分钟。

    (此外整理作笔记花费了约60分钟)

    详细学习过程见文末学习过程屏幕录像。

    主要学习资源来自一篇博文:

    https://blog.csdn.net/Blockchain_lemon/article/details/81161449

    感谢博主的无私分享。

    【学习笔记】

    一、区块链为何而生

    以下文字摘录自著名的来自十年前的比特币白皮书:

    “本文提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。虽然数字签名(Digital signatures)部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付(double-spending)的话,那么这种系统也就失去了存在的价值。我们在此提出一种解决方案,使现金系统在点对点的环境下运行,并防止双重支付问题。该网络通过随机散列(hashing)对全部交易加上时间戳(timestamps),将它们合并入一个不断延伸的基于随机散列的工作量证明(proof-of-work)的链条作为交易记录,除非重新完成全部的工作量证明,形成的交易记录将不可更改。”

    我的理解是,区块链技术的诞生,是因为它要解决的问题是:

    在不需要任何中心化机构——如银行——的情况下,仍然可以实现对双重支付(有的文档中称之为:双花)问题的解决。

    (一)什么叫双重支付?

    假设:在一次交易中,A要支付一元货币给B:

    这时,B收到了A的一元货币,但由于这一元货币是可以无限且低成本复制的,因此 当B收到A的这一元货币的时候,B不能确定A是不是自己就删除(销毁)了自己手上的一元货币,如果 A没有删除(销毁)自己手上的一元货币,(A支付给B的只是复制出来的一元货币),同时A自己手上就也保有同一元货币,这样是在实际交易中不被 允许 的。

    如果此时,在另一次交易中,A又用同样的方法将这一元货币支付给了C,此时这一元货币就实现了双重支付,这在实际交易中是不被允许的。

    (二)我们过去是怎么解决双重交易的

    我们拥有以国家信任背书名义成立的中心化金融机构,由这些中心化的机构来进行货币发行、货币真伪裁定,货币流通控制,因为有国家机构作为信任背书,这些中心化的金融机构可以被所有人所信任,因此就可以解决双重支付的问题。在这里的核心是:中心化的金融机构能够被 绝大多数人所信任。

    (三)为什么中本聪要提出区块链技术

    关于这个问题,在比特币白皮书中,中本聪也进行了比较详细的说明,原文如下:

    “互联网上的贸易,几乎都需要借助金融机构作为可资信赖的第三方来处理电子支付信息。虽然这类系统在绝大多数情况下都运作良好,但是这类系统仍然内生性地受制于“基于信用的模式”(trust based model)的弱点。我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交易。并且潜在的损失还在于,很多商品和服务本身是无法退货的,如果缺乏不可逆的支付手段,互联网的贸易就大大受限。因为有潜在的退款的可能,就需要交易双方拥有信任。而商家也必须提防自己的客户,因此会向客户索取完全不必要的个人信息。而实际的商业行为中,一定比例的欺诈性客户也被认为是不可避免的,相关损失视作销售费用处理。而在使用物理现金的情况下,这些销售费用和支付问题上的不确定性却是可以避免的,因为此时没有第三方信用中介的存在。

    所以,我们非常需要这样一种电子支付系统,它基于密码学原理而不基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与。杜绝回滚(reverse)支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。”

    原文读起来那是相当杀伤 脑细胞的感觉,其实我读了几遍后,认为其实就是一句话,它要解决的问题是:人与人之间(特别是陌生人之间,因为是网络交易为主嘛)的信任问题。

    当然中心化的金融机构也解决了这个问题啊?在这里,中本聪已经明确的指出:中心化的第三方金融机构的存在会增加交易成本,这个在现实生活中大家是有所感觉的了吧!而去中心化的区块链解决方案才是最为经济的解决方案,“它基于对密码学的技术的依赖”而不是“基于对中心化的第三方金融支付机构的信用”,这意味着:

    1.它更高效,因为是点(可以理解为交易卖买双方中的其中一方)对点(可以理解为交易 卖买双方中的另一方)进行的,没有经过中心化的第三方金融支付机构。

    2.它更经济,如上,交易 是点对点直接进行的,可以实现无手续费等好处(当然现在的数字货币支付也是需要微量矿工费的,当然这对于传统第三方支付机构收取的手续费来说,就微不足道了。)

    3.更公平,公开也安全,因为它的设计理念是任何人是不可能对已存在的交易进行删除和更改操作的。(当然这不是绝对 的,只是设计意向是这样的,实际运用中,基本上是做到了这样的要求。)(对于它实现这一点的具体原理,作为初学者我也没有完全理解,但我将努力去一点一点学习理解它。)

    二、一次去中心化的区块链交易是怎么完成的(粗略勾勒)

    一个节点(可以理解为交易卖买双方中的其中一方)发起支付或收款,这次请求被广播给使用此区块链网络中的每一个节点,然后接收到此广播的每一个节点,通过大家都认可的验证交易有效性的算法进行验证此次交易申请是否合法且用户状态是否正常,如果经验证合法,则此次交易申请会被整个区块链网络确认,并完成交易(就是说支付的一方会被 记录下扣除了指定交易所需数量的数字货币,而收款的一方会被记录下收到了指定交易所需数量的数字货币)。此时这个记录下的交易信息会形成一个【区块】(也可能是与其它正完成交易的记录的信息合并成一个【区块】),此【区块】会被并入之前已存在的所有区块组成的链条中,就再也不能被修改与删除了。

    示例图示如下:

    image

    与传统中心化机构信任担保交易相对比:(如下图)

    image image

    我认为去中心化的交易有以下特征:

    1.交易记录是分布存储的,并不像传统中心化机构的信任担保交易那样所有的交易 记录都存放在中心化机构中。这意味着:很难有任何个人或节点可以随意修改和删除交易 记录(而中心化机构担保的交易因为所有交易信息都存放在同一个中心中,因此很容易发生交易被篡改的问题)

    2.一个交易节点与另一个交易节点之间的相互信任不是由中心化机构进行担保的(中心化的担保交易如支付宝担保交易),而是通过整个区块链网络来进行交易合法性确认的(判断是否合法是由区块链的合约算法规定的,具体我也还没有完全弄明白)

    3.每个交易记录或同时的多个交易记录会被记录为一个区块,逐步追加到之前的区块之后,从而形成区块链条,我想这就是“区块链”这个名称的由来,这个链条只会越变越长,而不会被删除,之前的区块也无法修改。(这是目前我的理解,具体情况可能比这个复杂,但这算是比较精略的理解吧)

    【今天学习中我没有理解的内容】

    矿工的作用。所读博客原文如下:

    “工作量证明(PoW):网络中一种特殊类型的参与者称为矿工,他们竞争搜索加密难题的解决方案,该解决方案允许他们向比特币的区块链添加一个交易区块,此过程称为工作量证明,它能确保系统安全。”

    这是在交易中要起到作用的矿工,在数字货币的交易中,我们也需要支付小额矿工费,但由于个人知识基础可能比较薄弱,今天并没有理解矿工是如何参与到每一笔交易的确认以及发挥其它重要作用的。若有朋友 能够以浅显的语言加以解释,将不胜感激。

    三、新了解的相关词汇

    (一)哈希(Hash)

    Hash 音译为:哈希

        意译为:散列
    

    (二)哈希函数(散列函数)

    哈希函数是任何可以用来将任意大小的数据映射到固定大小的数据的函数。哈希函数返回的值称为Hash值。哈希函数通常用于通过检测重复的记录来加速数据库查找,它们在密码学中也被广泛使用。

    哈希函数允许我们轻松地验证某些输入数据映射到给定的散列值,但是如果输入数据是未知的,那么通过存储的散列值来重构它是很困难的。

    以我之前的知识认为,编程中经常用到的md5函数就是一种哈希函数。

    (三)Nonce

    Nonce是Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值。

    【学习后记】

    一、伤感

    通过今天的学习,感慨自己以近40岁的高龄才开始接触10年前就兴起的区块链技术,只能用下面的句子来形容自己的窘迫了——

    “少壮不努力,老大徒伤悲!”

    当我还是不到10岁的孩童时,就背得这句话,可是从来没有像今天这样,深深地被它所刺伤,如今再在心里念出这句话时,真是字字千斤,压迫灵魂!

    由于少年时家庭经济不济,没有能登入大学的殿堂,知识的匮乏令今天的学习举步维艰,更因为曾经放弃与时俱进的十年,被我荒废的时光已一去不复返。而今年岁渐大,精力趋弱,却还要为过去的蹉跎接受时光的惩罚,何其可悲。

    还坐拥着美好青春年华的少年人儿啊!怎样表达我的心情呢?羡慕嫉妒恨?——珍惜吧,属于少年的时光!

    二、被未来深深震撼

    听《三体》系列科幻小说作者刘慈欣先生的节目时,他曾感慨:现实来得比科幻更加有想象力,更加有力量。

    这是他对区块链技术的由衷的感慨!

    是的,在比特币出现之前,没有哪一部科幻小说的作者能够以他们伟大的想象力事先勾勒过比特币的身影,而现实中,它强势来袭,无人能挡。

    仅仅是在今天粗略的了解过区块链技术的冰山一角之后,我已然被那个即将到来的未来深深震撼——

    人类的过去的历史都是生存在有中心化的组织架构中,我们早已习已为常,如果有一天所有中心都成为新的历史,未来的一切都成为没有中心的自组织形态,以我贫乏的想象力,我是无法描述出那将是一个怎样的未来,但我据此已感受到这种变化将是前无范例之猛烈,用颠覆性的技术变革来形容恐怕也无法描述之一二吧。

    未来已来,只是尚未流行!

    【关于坚持自学的例行说明】

    最后例行说明下,我为什么要坚持自学。

    一、为什么一把年纪还在学习

    放弃很多去聚餐,去HI歌,去游玩,去看电影,去追剧……的时间,然后进行着这个年纪似乎已不应当再进行的学习,引来身边人们无尽的不解与鄙夷甚至可怜……

    但我不想放弃终身学习的誓言。

    因为——

    我对我今天的生活现状并不认同!

    罗伯特清崎告诉过我们,反省自己当下的生活是不是自己想要的,这难道不是最好的动力与答案?

    走过了大半生,然后才发现曾经、当下所正在进行的人生并不是自己想要的,那是一种怎样的体验?

    只有心中真切的感受才能回答这个问题,而任凭再丰富的语言也是无法描绘出来的。

    经历半生的跋涉,却发现走得并不正确,有多少人有勇气承认自己过去的一切都是错误的呢?

    而我愿意告诉过去的我:“你错了!”

    那么已经历半生错误,年岁之大又压于头顶,还有希望从这架的梯子的半端重新爬下,再蹒跚着爬上另一架梯子吗?

    我宁愿相信还有希望!

    这便是我为什么要继续坚持终身学习下去的全部理由。

    二、这个年纪还在学这些技术有意义吗

    纯的技术对这把年纪其实已没有意义。

    但兴趣可以超越意义。

    但技术可以引来思想的变革,这才是意义。

    投资自己的头脑 ,改革自己的思想,这是最保值,更长远的投资,过去我从来没有投资过,错过太多,那就从投资自己头脑开始吧。

    罗伯特清崎告诉我们,真正的富有是时间的富有;真正的自由是可以决定自己愿意做什么的自由。

    因为我愿意做我兴趣所在的事,所以我希望我有自由选择的那一天,虽然今天离那一天可能还是那么遥远,但我愿意相信,每天多赶几步,离希望就更近一步。

    再者,虽然我可能再已无法完全完整的掌握这些技术了,但技术本身却可以启迪心的觉醒,激发灵感,那么只要多了解一点,我相信我将离那个正离我而去跑得越来越快的未来更近一点,不至于被未知的那个未来抛弃得太远。

    于是我怎能放弃追逐求索的步伐?

    我要坚信:感觉太迟的时候,也许还不算太迟。

    感谢一直以来关注我,鼓励我的你!

    若不嫌弃这一个到了高龄才长大的可笑可叹的我,请不吝赐教。

    我的q号是:578652607,敬候你的指点。

    【同步语音笔记】

    https://www.ximalaya.com/keji/19103006/252804857

    【学习过程屏幕录屏】

    链接:https://pan.baidu.com/s/1QrcHCXlWLvzEAwsljNxeoA

    提取码:64it

    复制这段内容后打开百度网盘手机App,操作更方便哦

    相关文章

      网友评论

        本文标题:孤荷凌寒自学python第八十七天认识区块链001

        本文链接:https://www.haomeiwen.com/subject/ofdffhtx.html