浅谈去中心化应用

2023-05-16

1.中心化应用

  现在我们所使用的应用基本上都是中心化的应用,什么是中心化应用呢,举个栗子,我们在天猫买东西的时候,需要先付款给支付宝,然后卖家发货,我们确认收货之后,支付宝再把钱打给卖家,支付宝就是一个中心化的应用,集中了所有买家卖家的数据信息。假如有一天因为不可抗力,alibaba的数据中心被传送到了外太空,那么我们的交易信息和支付宝里的余额怎么办?


2.去中心化应用

   不同于中心化应用集中在一家公司或一个人手里,去中心化的应用的后台运行在对等的分布式网络上,它的源代码是凯源的,网络上没有任何一个节点可以完全控制一个去中心化的应用,比特币便是典型的去中心化的应用。


3.去中心化应用的优缺点


  优点:(1)去中心化的应用是容错的

             (2)去中心化的应用可以避开一些审查,因为对等分布式网络的架构,z&f去删除一些特定内容往往是不容易的,因为去中心化应用不能通过特定的IP去访问,但是却可以跟踪IP来删除几个特定的节点,如果网络是巨大的,那么就不可能关闭整个应用,特别是这个应用的节点分散在不同的国家之间。

             (3)用户可以很容易的相信这个应用,因为他可以不受单个权威机构的控制,并以此窃取利益。


  缺点:(1)修复bug会很难或者更新应用是很困难的,因为网络中的每一个节点都必须更新他的应用,同时在有些需要验证身份的地方,没有权威的的中心化机构来认证。

             (2)去中心化应用建立起来比较困难,因为去中心化应用一开始的时候就要使用很复杂的协议实现很完善的功能,不能只实现一个想法,然后慢慢的再去扩充。

             (3)目前去中心化应用的生态十分不完善,一个应用难以去依赖一个现有的基础应用。


4.用身份验证

  目前推荐的方式是数字证书方式,也就是常说的公钥和私钥,一个用户拥有一个公钥一个私钥和一个数字证书,数字证书和公钥可以和其他人共享,而私钥要妥善保管,私钥一旦丢失,将永远无法访问他们的账户。


5.典型的去中心化应用

  目前为止,最火的去中心化应用就是比特币了,人类历史上还没有什么的升值速度可以和比特币相提并论,那么什么是比特币呢,不着急,在比特币之前,先了解一下区块链,区块链是一种以串行方式组成的用于创建分类账本的数据结构,每个区块都包含有一组事务、前一个块的散列、时间戳(指示块何时创建)、块奖励、块号等信息,从而构成了一个相互链接的块链,比特币就是新区块节点出现的奖励,因为这样一个庞大的去中心化网络要运行,必然也离不开硬件设备的支持,而去中心化网络没有中心化的机构来提供硬件设备,这些硬件设备都是网络各个节点提供的,那么这些硬件设备的持有者也应该获取利润,所以有了这个去中心化应用的内部货币,即比特币。

  比特币由于无法和真实身份对应,所以被用来做一些不可描述的事情,至于对比特币等虚拟货币的态度,我是十分支持我们国家的决定,同时作为热爱技术的开发者,了解其内部原理也是有必要的,因为去中心化的应用在某些领域,会是一种趋势。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浅谈去中心化应用 的相关文章

  • python 微信自动回复机器人

    python 微信自动回复机器人 导入wxauto https github com cluic wxauto span class token comment python3 span span class token comment c
  • 《python+opencv实践》一、基于颜色的物体追踪(上)

    点击打开链接 本文主要参考国外一大牛博客 xff0c 然后自己修改得来 相关知识点在这里 实现功能 xff1a 追踪红颜色瓶盖 xff0c 并画出瓶盖轮廓和运动轨迹 from collections import deque import
  • 《python+opencv实践》一、基于颜色的物体追踪(下)

    本文对 python 43 opencv实践 一 基于颜色的物体追踪 xff08 上 xff09 做了功能上的强化 xff0c 强化如下 xff1a xff08 1 xff09 加了pts清空 xff0c 即当没有检测到目标时 xff0c
  • Ubuntu16.04 编译出错c++: internal compiler error: Killed (program cc1plus)

    最近在使用github上的一个模拟器 xff0c 需要自己对其中文件进行make编译 但是中间遇到了不知道多少个错误 xff0c 吐血 想了想还是记录一下 xff0c 错误 compiling moc moc qwt plot panner
  • C++创建信号量 CreateSemaphore

    一 定义 Semaphore也是一个线程同步的辅助类 xff0c 可以维护当前访问自身的线程个数 xff0c 并提供了同步机制 使用Semaphore可以控制同时访问资源的线程个数 xff0c 例如 xff0c 实现一个文件允许的并发访问数
  • OpenGL ES之GLSurfaceView学习一:介绍

    原文地址 http 120 132 134 205 cmdn supesite uid 5358 action viewspace itemid 6527 GLSurfaceView是一个视图 xff0c 继承至SurfaceView xf
  • C++之STL迭代器

    一 背景 迭代器 iterator 是一种抽象的设计理念 xff0c 即迭代器模式 xff0c 通过迭代器可以在不了解容器内部原理的情况下遍历容器 除此之外 xff0c STL中迭代器一个最重要的作用就是作为容器 vector queue
  • C++make_shared的使用

    一 使用 make shared是标准库函数 xff0c 此函数在动态内存中分配一个对象并初始化它 xff0c 返回指向此对象的shared ptr 由于是通过shared ptr管理内存 xff0c 因此这是一种安全分配和使用动态内存的方
  • cmkae命令set_target_properties

    一 介绍 命令的格式如下 set target properties target1 target2 PROPERTIES prop1 value1 prop2 value2 Sets properties on targets The s
  • cmake的install

    一 介绍 一般使用cmake xff0c 常用命令就是 mkdir build amp amp cd build cmake make make install install命令为项目生成一系列的安装规则 在执行make install时
  • cmake命令之list

    一 介绍 cmake的list命令即对列表的一系列操作 xff0c cmake中的列表变量是用分号 分隔的一组字符串 xff0c 创建列表可以使用set命令 xff08 参考set命令 xff09 xff0c 例如 xff1a set va
  • Cmake之ExternalProject_Add

    一 介绍 ExternalProject命令可以很好的解决项目中使用第三方库 提高项目的可用性 ExternalProject Add 函数创建一个外部工程可以驱动下载 更新 补丁 配置 构建 安装和测试流程的自定义目标 语法 xff1a
  • POI导入Excel,获取公式的值

    直接POI导入Excel中的数据的时候 xff0c 直接获取表中的值 xff0c 如果表中单元格的值时由公式计算得出的话 xff0c 获取到的会是公式 所以需要对获取的单元格的值进行处理 xff1a 导入数字时 导入公式的计算结果而非公式
  • navicate连接远程数据库

    远程主机的3306端口一般是不允许外网直接访问的 xff0c 但是开发过程中 xff0c 使用navicate工具进行数据库操作会方便超级多 xff0c 那么要怎么配置navicate连接远程数据库呢 超简单两步走 xff1a 1 使用se
  • idea中Gradle项目控制台中文乱码

    我使用的是IEDA2021 xff0c 之前跑maven项目一切正常 今天导入了一个Gradle项目 xff0c debug的时候控制台中文乱码了 之前直接用idea控制台中文乱码做关键词搜索 xff0c 改了file settings e
  • @RequestMapping value值置为““

    我们通常用 64 RequestMapping来映射请求 xff0c 比如 xff0c 写一个方法 xff1a span class token annotation punctuation 64 RequestMapping span s
  • Android多媒体学习十:利用AudioRecord类实现自己的音频录制程序

    AudioRecord类相对于MediaRecorder来说 xff0c 更加接近底层 xff0c 为我们封装的方法也更少 然而实现一个AudioRecord的音频录制程序也很 简单 本实例代码如下 xff1a 可惜 xff0c 本实例测试
  • ROS系统SLAM基础学习:运行gazebo仿真建立保存地图

    ROS系统SLAM基础学习 xff1a gazebo仿真建立保存地图 使用gmapping建立并保存地图使用hector slam建立并保存地图遇到的问题解决以及总结 软件版本Ubuntu16 04LTSROSkineticgazebo7

随机推荐

  • 软件安装时窗口出现在屏幕左上角而且拖不出来

    今天在安装MYSQL是出现如下问题 xff1a 安装助手出现在屏幕左上角而且拖不出来 xff0c 导致安装没办法完成 用一个很简单的方法解决了问题 xff1a 桌面空白处右键 xff0c 点屏幕分辨率 把方向改成纵向 xff0c 左上角的窗
  • DELL笔记本插入耳机没反应

    新入的戴尔燃7000 xff0c 上午因为CPU占用飙升 xff0c 关掉了笔记本上的几个自启动项 xff0c 下午插入耳机就无响应了 xff0c 耳机插进去 xff0c 还是外放 百度原因 xff0c 很多都提及了Realtek这一声卡驱
  • the server responded with a status of 404 (Not Found)

    使用ajax跳转方法时 xff0c 页面ctrl 43 shift 43 i调试报告了一个404错误 xff0c 说找不到方法 页面地址栏直接指向方法的地址跳转也是404 目标方法是新增的 xff0c 于是使用复制黏贴 xff0c 确定各处
  • select设置只读

    根据需求 xff0c 需要根据后台传来的参数 xff0c 动态设置select标签是否可以选择 xff0c 因此 xff0c 当判断某个select应当设为只读时 xff0c 使用 span class hljs variable span
  • java:程序包XXXX不存在

    使用idea导入maven项目 xff0c 编译时报错 xff1a java 程序包XXXX不存在 如图 xff1a 百度到的诸如右键libraries所在文件夹 xff0c 选择add to libraries 等方法没有作用 后来去查看
  • tomcat启动报错:java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.Lifec

    tomcat启动报错 xff1a java lang IllegalStateException ContainerBase addChild start org apache catalina Lifec 百度的结果一般都是让修改web
  • UE4 音乐的播放与停止--基于蓝图

    要实现的功能非常简单 xff1a 点击按钮 xff0c 播放音乐 这个功能非常基础 xff0c 就两步 xff1a 1 将音乐源文件拖到context文件夹中 注意 xff0c 这里的音乐文件必须是 wav格式的 2 在按钮的onclick
  • UnityEditor.BuildPlayerWindow+BuildMethodException

    unity3D安卓打包报错 xff1a UnityEditor BuildPlayerWindow 43 BuildMethodException 61 errors at UnityEditor BuildPlayerWindow 43
  • AI 入门怎么学?这份学习指南请收好!

    万事开头难 xff01 AI 入门对很多初学 AI 的同学来说是一大难题 搜集了一大堆入门资料 xff0c Python 数学 深度学习应有尽有 xff0c 但就是无从下手 xff0c 总是在第一章与放弃之间徘徊 那么 xff0c AI 应
  • 为什么越厉害的大厂,校招越不看重考试成绩?

    前几天赵同学告诉我 xff0c 他没有通过那家心仪的公司笔试 赵同学成绩不错 xff0c 每次都是专业前五 xff0c 但笔试中有一道 银行家算法实现 题 xff0c 他一点也没写出来 这就是大厂招聘不看重成绩单的原因 xff1a 招人是为
  • 我的2011——毕业之年的总结与彷徨

    题记 眼看2011即将成为过去 xff0c 难得在这最后的时刻 xff0c 抽点时间 xff0c 倒上一杯热茶 xff0c 回忆这一年的浮浮沉沉 这一年 xff0c 我和所有毕业生一样 xff0c 离开了呆了四年的大学校园 呆腻了校园的生活
  • centos安装anaconda教程

    1 更新yum 命令 xff1a sudo yum update 2 安装anaconda 2 1 查看anaconda对应python版本 我选的3 8版 Old package lists Anaconda documentation
  • Android布局 -- Navigation实现底部导航栏

    底部导航栏加页卡的切换 xff0c 很多App采用这种布局设计 xff0c 在以前的开发中 xff0c 需要自定义底部导航栏以及使用FragmentTransaction来管理Fragment的切换 xff0c 代码量较大 xff0c 而使
  • ViewModelProviders is deprecated

    原有的创建ViewModel的方法 xff1a viewModel 61 ViewModelProviders of this get ViewModel class 提示ViewModelProviders过时 改为 xff1a view
  • Android Fragment退出 返回上一个Fragment与直接退出

    例如应用底部有两个导航按钮A与B xff0c 刚进入的时候显示为第一个AFragment xff0c 点击B切换到BFragment 如果需求是在BFragment点击返回键回到AFragment xff0c 需要配置 app defaul
  • Android基础 -- 子线程可以修改UI吗?

    子线程可以修改UI吗 xff1f 为什么会产生这样的问题 xff0c 可能是因为在开发过程中遇到了 34 Only the original thread that created a view hierarchy can touch it
  • leetcode 417. 太平洋大西洋水流问题

    https leetcode cn com problems pacific atlantic water flow 思路是从海洋开始逆流 如果可以逆流到 就标记为1 然后检查两个海洋都可以逆流到的区域 DFS public List lt
  • Android模拟器检测常用方法

    在Android开发过程中 xff0c 防作弊一直是老生常谈的问题 xff0c 而模拟器的检测往往是防作弊中的重要一环 xff0c 接下来有关于模拟器的检测方法 xff0c 和大家进行一个简单的分享 1 传统的检测方法 传统的检测方法主要是
  • RecyclerView 隐藏部分分割线

    在项目中遇到复杂点的RecyclerView xff0c 可能会有隐藏部分分割线的需求 xff0c 例如item1和item3之间的分割线隐藏 xff0c item4和item5之间的分割线隐藏等 在看了文档里的ItemDecoration
  • 浅谈去中心化应用

    1 中心化应用 现在我们所使用的应用基本上都是中心化的应用 xff0c 什么是中心化应用呢 xff0c 举个栗子 xff0c 我们在天猫买东西的时候 xff0c 需要先付款给支付宝 xff0c 然后卖家发货 xff0c 我们确认收货之后 x