文章目录

  • 一、区块链是什么?
  • 二、智能合约
  • 三、去中心化应用

一、区块链是什么?

区块链本质上是一个去中心化的分布式账本数据库,目的是解决交易信任问题。广义来看,区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来看,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

区块链技术来源于比特币的,其本质是一个基于共识机制、无中心化的数据库,具有去中心化、可溯源、不可篡改性和准匿名性等特点。

区块链分为公共链(Public Blockchain)、联盟链(Consortium Blockchain) 和 私有链(PrivateBlockchain)。而随着区块链技术的演进,依据不同架构,区块链可分为三个阶段:
(1)区块链 1.0 架构:比特币区块链;
(2)区块链 2.0 架构:以太坊区块链;
(3)区块链 3.0 架构:超越货币、金融范围的区块链应用

二、智能合约

智能合约是一种可编程合约,允许交易对手间设定交易条件,交易的执行无需信任第三方。
例如,如果Alice想建立一个信托基金,在接下来的12个月内,每月初将支付Bob 100美元。Alice可以编写这样一个智能合约:

  1. 检查当前日期
  2. 每月初自动给Bob发送100美元
  3. 重复直至智能合约中的资金耗尽

区块链技术为智能合约的实现提供了良好的执行环境。在区块链上执行的智能合约能够保证合约结果的正确性以及可信性。基于区块链的智能合约能被看做一个完全可信的计算参与方。

在编写智能合约时,可借助于以太坊中的编程语言来实现,编程语言主要有四种,一种是 Solidity,另一种是Serpent,还有两种是LLL与 Mutan。一句话概括智能合约:代码即法律

通过使用智能合约,Alice绕过了可信第三方中介(律师,托管机构等)将信托资金发送给了Bob,使整个流程对所有参与方透明。智能合约按照“如果这样,那么那样”的原理工作。当满足某一条件时,智能合约将按预先的设置执行操作。为了完成更复杂的流程和计算,多个智能合约可以被组合在一起来互相操作,这被称为去中心化应用(Dapp)。

三、去中心化应用

通常我们与传统的 web 应用程序交互时,使用浏览器并与我们的网络中央服务器交互, web 应用程序代码位于该中央服务器上,所有数据也都位于中央数据库中,在我们任何时候想使用应用程序时,必须和中央服务器通信,这就是 web 应用程序工作方式。
Web 应用程序存在的问题:

  1. 数据库中的所有数据都可能随时更改,我们的投票可能会改变,也可能会被完全删除
  2. 应用程序中的所有代码都随时可能更改,这意味着选举中的规则可能会改变,这样一个中心化的 web 应用程序是不安全的。

应用程序在区块链上的所有数据并不位于中央服务器上,而是数据分散在连接到区块链的每个设备上,区块链是节点的点对点网络,这些节点相互通信,因此如果一个设备并且连接到区块链,那么该设备就是一个节点并且与所有其他节点通信,并会分担一些 Web 服务器可能承担的相同职责,并且将获得一个跨区块链共享的所有数据的副本,所有这些数据都包含在称为块的记录包中,这些记录包被链接在一起以创建公共分类帐。网络上的所有节点一起工作以确保公共分类账上的所有数据都保持安全和不变,这对于应用程序很重要,因为这意味着我们将始终知道,我们的帐户在我们投票时发送了交易,并且我们的交易数据被永久记录,并且因为所有数据都在区块链上的设备之间共享。
所以区块链从根本上说是一个数据库,并且因为所有节点在区块链上相互通信。它也是一个网络,因此可以想到传统的网络模型,而不是传统的网络模型。区块链可以看作一个网络和一个数据库的结合体。

Dapp建立在去中心化区块链网络(如以太坊)之上,通常具有以下优势:

● 不变性:一旦信息保存在区块链上,任何人都不能更改;
● 防篡改:发布在区块链上的智能合约不能在区块链上的其它参与者不知情的情况下被篡改;
● 透明性:智能合约驱动的Dapp是公开可审计的;
● 可用性:只要以太坊网络保持活性,在其之上搭建的Dapp将保持活性和可用性。

详解区块链,智能合约,去中心化应用相关推荐

  1. 区块链应用(去中心化应用)是什么样的?

    EOS 的技术白皮书给出了应用所需的六个条件(如下所示),而 EOS 的软件设计的确是对应这些条件而设计的.本节我们将重点讨论 EOS 的其中三个为应用而做的特别设计:用户免费.账户体系.存储. 区块 ...

  2. 区块链实现的去中心化究竟是为了追求什么

    1. 前言 在讨论这个主题之前,先简单介绍一下以太坊创始人V神(Vitalik Buterin)的故事.关于V神的故事,主要参考这2篇文章: https://www.sohu.com/a/330885 ...

  3. 【论文笔记15】以太坊智能合约去中心化的链上数据访问

    原文作者:Mohd Sameen Chishti , Farhan Sufyan , and Amit Banerjee , Member , IEEE* 原文标题:Decentralized On- ...

  4. 开创性的区块链操作系统项目——去中心化的战舰游戏

    卓有成效的开发人员 Lachezar 说,他开始使用区块链的时候很容易.Cartesi 提供了很多开发文档,他能够通过实际开发他的去中心化应用程序来获得大部分区块链知识,而不用先学复杂的 Solidi ...

  5. 区块链第二阶段:去中心化计算平台(一)

    以太坊对区块链的发展具有创新性的意义,它使得区块链的应用不只局限于数字货币领域.以太坊给出了一套图灵完备的编程语言Solidity,让用户可以通过智能合约自由地开发去中心化App-DAPP,并且通过P ...

  6. 去中心化 去区块链_使用JavaScript和坚固性在以太坊区块链上构建去中心化应用程序dapp...

    去中心化 去区块链 In this blog, I build a decentralized application, also known as a "dapp". While ...

  7. YTA pk IPFS 蜜蜂科技深度详解王东临与YottaChain去中心化存储

    一.导语 10月10日晚,「火星总编时刻」第49期在火星社群展开,本期对话主题为本期对话主题为「YTA PK IPFS,去中心化存储价值重心何在?」.由火星财经合伙人.总编辑李劳深度对话YottaCh ...

  8. 区块链入门与去中心化应用实战 之一 第2章 区块链技术的核心概念和原理

    区块链的过去与未来 密码朋克( Cypherpunk ) 维基解密的创始人阿桑奇 BT下载的作者的布莱姆-科恩 WWW的发明者蒂姆伯纳斯-李 区块链前世今生 戴伟发明了B-money,强调点对点交易和 ...

  9. J9数字论:区块链+DAO3:去中心化的互联网世界

    Web3的去中心化,实质上在追寻一种极度的平等,这也是越来越多人被其吸引参与的根源之一. 然而技术的平等,或许并不是真正的平等,有时候甚至会造成更大的不平等.每个人的素质是完全不一样的.毫无疑问,某些 ...

  10. 区块链知识普及:区块链特性之“去中心化”

    围绕区块链技术的几大热门话题之一是"去中心化",下面链圈社区就这个话题与大家一起探究,如果有不正之处,请大家不吝赐教: 先了解什么是中心化与去中心化 中心化:特定性 在一个体系中某 ...

最新文章

  1. 带monkey的测流量!
  2. selenium自动化测试多条数据选择第一条
  3. linux rm 删除所有文件,linux无需rm就可快速删除大量文件
  4. Collection中的基本方法
  5. java 序列化声明_显式声明默认Java类序列化方法的原因是什么?
  6. 用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解
  7. java并发编程面试题_阿里常用Java并发编程面试试题总结
  8. 盒子浮动的重要性及对其它元素的影响
  9. 支持MySql的数据库自动分表工具DBShardTools发布
  10. 设置TOMCAT SESSIONID 字符长度和生成算法
  11. 用冰点文库下载百度文库里面的内容
  12. python基础语法手册下载-Python学习手册(第4版)pdf
  13. 如何通俗易懂的解释什么是云服务器?
  14. dry的原理_【面板制程刻蚀篇】史上最全Dry Etch 分类、工艺基本原理及良率剖析...
  15. AUTOSAR-Fee模块
  16. GPU会变得更便宜吗?GPU 定价更新
  17. http和https分别是什么?
  18. npm install 报错 C:\Program Files\Git\cmd\git.EXE ls-remote -h -t git://github.com/adobe-webplatform解决
  19. 统一网络控制器Func
  20. cpu排行计算机专业,CPU天梯图2018年9月最新版 九月台式电脑CPU性能排行

热门文章

  1. LeetCode 字典序排数(最优解法,不接受反驳)
  2. 谈谈对陀螺仪和加速度传感器的感性认识
  3. (1)语言是什么——NLP的语言基础
  4. 影响百度SEM竞价账户推广效果的8大因素
  5. 世间所有,逃不过一个“缘”字
  6. 《数据结构》-树(双亲表示法)
  7. 伺服电机脉冲控制的多种方式(AB相脉冲,方向脉冲,CW/CCW脉冲)
  8. MATLAB 错误使用 instfreq TFD 应“非负”
  9. 【CSS基础】box-shadow盒子阴影(重点)
  10. PHP屏蔽错误警告提示