1区块链底层技术

Wesley13
• 阅读 430

  每次在讲解区块链时,都会收到很多关于底层技术问题,感觉很有必要对区块链的底层技术进行分享,这也是我写这一系列文章的动力。

  2015年接触比特币(可惜当时没有囤币),作为一个在IT行业摸爬滚打多年,并且是技术出身的人,成功的被比特币底层技术-区块链所吸引。区块链与其说是新兴技术,不如说是新的理念、新的概念或者说是一种架构应用,是对目前中心化系统存在问题的解决方案。

  区块链涉及的技术都是很早就存在的,区块链把这些技术巧妙的结合在了一起,由于涉及到的知识领域比较多,从而增加了区块链的研发和学习难度。为了能让大家了解区块链底层技术,忙里偷闲,对区块链底层技术进行了简单整理,希望对大家学习区块链有所帮助,如果发现问题请大家及时指正,以免造成误导。

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

  所以,我们非常需要这样一种电子支付系统,它基于密码学原理而不基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与。杜绝回滚(reverse)支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。在这篇论文中,我们(we)将提出一种通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明,从而解决双重支付问题。只要诚实的节点所控制的计算能力的总和,大于有合作关系的(cooperating)攻击者的计算能力的总和,该系统就是安全的。

  上面摘自中本聪论文,从中本聪的论文(论文可自行搜索)可以看出,他只是想制作一种无中心监管的货币,并且可以自由交易,为了保证货币的安全性,采用了blockchain技术,可见区块链最初是作为比特币的记账平台或者比特币数据存储平台。

  很多文章提到过,区块链使用到了密码学,博弈论,数字货币,分布式等诸多理论,这些或许是中本聪事先就设计好的,也有可能是后来人的分析,总之不管怎么说,区块链是一门很综合的学科,要想学好区块链并不容易。

  那么什么是区块链?下面是我个人认为比较贴切的解释,区块链是由多方参与共同维护的一个持续增长的分布式数据存储结构,通过密码学算法把一段时间系统内的全部信息打包成一个数据块,并且使用hash作为当前块的标识,用于与下一区块进行连接,从而形成以块数据为基础,带有时间戳的头尾相连的链表式数据结构,其核心在于通过分布式网络,时序不可篡改的密码学账本及分布式共识机制建立彼此之间的信任关系。

  对于区块链,网上出现很多批判性的言论,这个没有错,任何新生事物都需要时间和实践来验证,比如发现了区块链存在的重大问题,这也充分证明大家都在为这方面在努力,也是一种推动,最终能不能给人类进步带来帮助,才是我们迫切需要解决的问题。目前大家讨论比较火热的是币圈,链圈,网上到处可见“薅羊毛”,“割韭菜”,抛开现在链圈或是币圈的纷争,一个技术如果不能解决现实中存在的问题,终将失败。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
2年前
Python从零实现区块链仿真【含源码】
在区块链或数字货币领域,Python并不是主流的开发语言。但是如果你的目的是研究区块链技术的原理,或者需要在自己的笔记本上仿真一个区块链网络并进行一些研究性的实验,比如完成自己的毕业设计项目或科研课题,那么Python就是合适的。在这个教程里,我们将学习如何使用Python从零开发一个多节点的区块链网络,并基于这个仿真区块链网络,开发一个去中心化的数据分享应
当前区块链研究领域的前沿技术和研究方向
本文分享自天翼云开发者社区《》作者:施庆区块链在过去几年中引起了巨大的关注,这得益于它们的分散性、透明性、匿名性和不可篡改性,这些特点使得区块链技术可以应用于许多领域。目前,区块链技术已被应用于金融、医疗、供应链等多个领域,而且也有很多研究人员正在致力于新
可莉 可莉
2年前
10个开源的Python区块链项目
Python不是主流的区块链底层平台开发语言,但是在DApp开发、区块链仿真与数据分析、智能合约安全分析等领域,Python依然是不错的选择。本文介绍了10个最流行的Python区块链项并提供了相应的源代码下载地址。<!more区块链开发教程链接:以太坊(https://www.oschina.net/action/GoToLink
Stella981 Stella981
2年前
Gopher China 2018 讲师专访-丛宏雷
!(https://oscimg.oschina.net/oscnet/9eac2f5a9e8942648d0185e2d4f3cee0.jpg)自我介绍NEO社区开发者,Onchain的区块链架构师,golang的爱好者。目前在Onchain从事区块链架构设计,onchain目前在做一个全新的区块链底层框架,后端部分
Wesley13 Wesley13
2年前
11个默克尔树开源项目
Merkle树是一种可以有效验证部分数据存在于指定数据集并且未被篡改的高效的哈希树结构,作为一种底层技术广泛应用在各种区块链的实现当中,对于商品溯源、知识产权确认、区块链公证等区块链应用起着重要的作用。本文介绍11个主流的merkle树开源实现,你可以在自己的项目中应用。区块链开发教程链接:以太坊(https://www.oschina.net/
Stella981 Stella981
2年前
DCF Plus重塑区块链产业联盟链,任重道远
  当前,区块链技术已进入联盟链阶段,而监管成为制约区块链产业健康可持续发展的关键问题,如何有效监管一直是各国最大的课题与挑战。区块链行业如何实现有效安全的监管,监管标准制定显得尤其关键,这是区块链行业向好的一大指标。  DCFPlus重塑区块链产业联盟链,任重道远  2019年年底,在区块链技术大会上,中国工程院院士谈及区块链的监管挑战时,再次为
Wesley13 Wesley13
2年前
10分钟了解区块链编程
谈起这几年最热的技术,一定少不了区块链。按说新技术的出现本是稀松平常的事情,但区块链的出现和发展,却有那么一点让人不淡定:其一,区块链的代表应用比特币,其价格在这七八年间翻了上百万倍。2010年有人花10000个比特币买了两块披萨,在比特币最高价位时,这两块披萨相当于近两亿美元。!(http://crossinforum.b0.upai
Wesley13 Wesley13
2年前
NEO从源码分析看网络通信
_0x00前言_NEO被称为中国版的Ethereum,支持C和java开发,并且在社区的努力下已经把SDK拓展到了js,python等编程环境,所以进行NEO开发的话是没有太大语言障碍的。比特币在解决拜占庭错误这个问题时除了引入了区块链这个重要的概念之外,还引入了工作量证明(PoW)这个机智的解决方案,通过数学意义上的难题来保证每个
搭建平台吧 搭建平台吧
1年前
哈希竞猜游戏技术方向-区块链技术游戏
哈希是区块链技术和防篡改潜力的核心基础和最重要的方面,通过哈希算法可以保持记录以及查看数据的真实性和区块的完整性。这就是区块计数最重要技术特征的一部分。区块链指的是一个又一个区块组成的链条,该链条被保存在所有的服务器中,但凡整个系统中有一台服务器可以工作,那么整条区块链就是安全的;这些服务器在区块链系统服务中被称为节点,是为整个区块链系统提供储存空间和算力支
金旋 金旋
2个月前
Go语言区块链全栈课程学习【博学谷】
//下仔のke:https://yeziit.cn/13615/区块链是一种分布式数据库,由一系列按照时间顺序排列的数据块组成,并采用密码学方式保证不可篡改和不可伪造。它最初起源于比特币,作为比特币的底层技术,用于去中心化和去信任地维护一个可靠的数据库。相