水工鸟9星评价
2020-04-27 15:20:53
科技领域是整个世界上最具活力的部分之一。技术的崛起与衰落就在一瞬间。应用世界也是如此。许多技术堆栈、框架和语言都可以用于开发应用程序,但开发人员仍然对一个能够提供最佳结果的框架没有信心。
随着世界正在适应传统应用程序,整个生态系统也在进化。dApp(分散式应用程序)是一种新型的应用程序,不受单个权威机构控制或拥有,不能关闭也不能停机。
dApp
dApp的概念还处于萌芽阶段。没有一个特定的定义适合分散式应用程序的所有属性。作为dApp,应用程序需要展现以下四个特征:
开源:首先也是最重要的一个属性,这些应用程序应该让每个人都可以使用它们的核心源代码。dApp的核心特征是自主性和一致的共识性,本质上变化必须由全部或大部分用户决定。此外,代码应该对每个人都可用,以便进行检查。
分散式特性:顾名思义,分散式应用程序将所有内容存储在分散的区块链或任何加密技术上,以避免应用程序受到集中式权限的威胁。
激励:由于应用程序基于分散的区块链,因此网络上记录的验证器必须通过加密货币或任何有价值的数字资产来进行奖励。
算法:分散式应用程序需要有一个共识机制来描绘加密货币系统中的价值证明。本质上,这赋予了加密货币的值,并创建了用户同意生成有价值的加密货币的共识协议。
既然我们已经知道了这些特征,我们就可以试着将其纳入一个定义,以帮助我们识别真实生活中的例子。从本质上讲,dApp是一个运行在分散的P2P网络上的应用程序,它由所有的成员而不是单个的中央机构管理。
dApp如何适应现实世界?
利用上面推导出来的定义,我们发现世界上第一个已知的dApp是比特币。比特币作为一种顶级的加密货币非常流行,它解决了集中化问题,并让用户无需任何中间商或中央权力机构,就能通过一个自我维持的公共账本进行交易。回到分散式应用程序的用例,我们可以根据这些应用程序可以注入到的场景对它们进行分类。这个分类将dApp分为三个部分:
资金管理及转账
分散式应用程序可以用来平滑世界上的资金转移。我们已经看到了比特币和其他加密货币成功的好处。通过使用区块链网络和自己的加密货币,dApp可以通过消除中间商来加速资金管理、转账和借贷,同时由于共识机制不可能在没有多数人支持的情况下改变,因此增强了安全性。
业务流程管理
公司可以集成分散式应用程序来简化流程,而无需人工干预。在智能合约的帮助下,关键问题可以得到解决,流程效率可以得到提高。例如,物流公司可以将RFID芯片集成到他们的货物中,这些芯片可以在目的港进行扫描,在目的港通过买卖双方之间的智能合约自动结算付款。
DAO(分散式自治组织)
DAO是一种全新的无面组织的启动现象。这些组织可以作为一个公司工作,并通过区块链上的编程语言定义的规则运行。成员将如何投票,组织将在哪个业务部门运营,谁可以成为成员,代币将如何交换等等,所有东西都可以在将运行组织的区块链上编程。这些组织一旦部署就不能停止,并且可以在全球范围内工作,在区块链网络的潮流中也不会遇到任何问题。
目前比较成功的dApp项目
大多数dapp都专注于资金管理和简化资金转移。大多数加密货币消除了与P2P传输相关的摩擦。但是,dApp也有一些创新的用例。例如,Factom是一个不可更改的开源记录保存系统。还有一些其他有前途的应用程序项目正在改变应用程序的格局。这些包括:
Golem
Golem利用空闲的计算机能力,它的第一个用例以Brass Golem的形式出现。Brass Golem的目标是通过给CGI艺术家根据CGI要求出租强大的计算资源的能力来改善CGI渲染景观。通过创建一个分散的网络,空闲的机器可以很好地利用,因为它们可以接受来自Golem网络用户的任务。这是由Goem dApp实现的下一层次的资源共享。
Augur
Augur的目标是将分散网络的力量与预测算法相结合,为市场创造充分证明的预测工具。尽管这款应用还在测试阶段,但潜在的影响是非常有前途的。该应用程序将能够将真实世界的事件输入到其他事件中,创建一个不可更改的事实区块链网络,可以跨行业使用。
Status
Status运行一个点对点网络,用户可以在这个网络中互相发送支付,并签订一份智能合约。通过messenger系统,用户可以保持连接,而不会出现服务器停机的问题,因为所有事情都基于区块链P2P网络。
开发dAppS:如何构建功能强大的分散式应用程序?
就像任何新的编程概念或技术一样,在考虑开发分散式应用程序时,开发人员可以利用大量的编码选项和平台。如果您必须自己开发dApp,那么您需要获得成功所需的适当工具、组件和框架。我们尝试将dApp开发与传统开发进行比较,并在以下表中编译构建分散式应用程序所需的所有内容:
dApp基于P2P网络上的后台代码。与传统应用程序相比,这是一个主要区别,因为普通应用程序的后端运行在一个集中的服务器上。当涉及到前端时,代码可以用任何编程语言编写。使用API,前端在分散式应用程序的情况下调用后端。此外,前端还可以托管在分散的存储系统(如IPFS)上。
现在您可以看到分散式应用程序的开发与普通应用程序相比有何不同,让我们关注选择dApp而不是通过集中服务器管理的应用程序的好处。
为什么选择dApp开发而不是传统的应用开发?
dApp促进了分散化,使其具有防篡改性和不可更改的记录。由于dApp是基于安全的区块链网络的,这些应用程序促进了高水平的安全性,并且不会受到黑客攻击和入侵。
· 更快的支付处理,无需集成支付网关接受资金。
· 由于由私钥管理的智能契约,数据安全性很高。
· 更大的匿名性,不需要用户遵循冗长的注册过程。
· 可靠的数据记录,因为用户可以访问公共区块链来验证事务信息。
要启动一个成功的dApp项目,您需要一个专业的区块链开发人员,他必须具有处理复杂框架的敏捷性和专业知识。为了使分散式应用程序开发之旅成功,您需要一个可靠的伙伴,具有部署成功dApp的经验。
豆豆Q7星评价
2020-04-27 15:21:33
对于一些人来说,区块链已成为一种被过度炒作的技术和流行语,它与错失百万富翁的机会有关,或者与那些在厨房里喋喋不休的谈论它将如何改变世界的同事有关。基于区块链的应用程序非常重要,因为它们解决了现在企业和最终用户面临的问题:隐私、数据安全性以及与之共享数据的人员。
关于区块链技术的一个普遍误解是,它意味着要取代传统货币,虽然这可能是少数人的目标,但它只是区块链应用的一个用例。
什么是DApps?
DApps是分散式应用程序的缩写。这些应用程序实际上不应该对最终用户进行区分。关于DApps的重要之处在于后端是如何处理数据的。
DApps在区块链上运行,其中最著名的区块链之一是以太坊网络。这允许开发人员构建自己的应用程序,甚至在他们之上创建自己的区块链代币(这些代币可用于通过ICO筹集资金,或作为货币支付维护网络的人)。
要将应用程序视为DApp,必须满足几个要求:
◆应用程序是开源的,这意味着代码是公开可见的,开发人员可以创建分支或编辑代码。
◆应用程序的数据不是托管在本地(内部部署)或独立的云服务器上,而是在安全的计算机网络上分散运行,这些计算机可以由云服务器和运行该软件的单个PC组成。
◆应用程序具有数量有限的区块链代币(例如以太币是以太坊网络的代币)。这需要一对加密密钥来签署交易,以便将数据存储在区块链中。
它是如何工作的?
从各方面来看,DApps不应该都被认为是应用程序。它们可以是网页、桌面应用程序或移动应用程序,只需像任何其他应用程序一样运行就可以。应用程序的数据不托管在本地或云服务器上,而是托管维护相同分类帐的节点网络,也就是一个区块链网络。不幸的是,为了正确解释DApps如何工作,它意味着深入研究区块链的功能。对于那些不是技术背景的人来说,这很快就会变得深奥。
因此,在解释这是如何工作的过程中,不会过度技术化。
区块链是一种点对点网络,其目的是维护一个记录数据的开放式分类账,可以将其视为电子表格。在每个节点上的网络中存在相同的分类帐副本,这意味着同一分类帐有数千个副本(任何兼容的计算机都可以运行该软件并成为节点)。这就是不可变性的来源,所有节点的分类账必须相同。如果一个分类帐存在差异,则该记录将失效。
为了获得有关节点的信息,大多数情况下,矿工将验证交易,然后将其发送到网络。这可能是资源密集型过程,需要大量的计算能力,因此矿工由发起交易的用户为其努力支付代币。出于这个原因,DApps要求用户拥有一个钱包,其中包含与该特定区块链相关的代币。例如,在以太坊网络上运行的DApp通常会使用以太币。
这是对区块链的过度简化,并且有许多不同的区块链可以以不同的方式工作(只要它们遵守上面提到的规则:开源、用区块链代币分散)。
有什么好处?
要理解为什么人们对DApps感到兴奋,首先让我们来研究一些应用程序如何工作的问题。例如,一个社交网络,数百万人正在与该网站进行交互,并且为了让用户看到其他用户的评论、帖子、喜欢等,必须将数据保存在网络上的某个地方,以便可以保留此操作。没有人想让自己发表的评论消失。因此,这些交互都存储在集中式服务器上,站点所有者和主机负责保护、备份和管理该数据的传播。维护服务器的成本很高。他们需要硬件、员工、电力等。由于很多网站对最终用户免费,企业可能会向广告商开放你的数据,然后广告商可以用他们的产品定位你,这样网站就可以支付成本。
在DApp中,没有存储数据的集中式服务器。相反,它被保存到区块链中。这样,就没有任何组织负责保护最终用户数据。没有组织需要支付员工工资、维护服务器或其他管理费用。由于没有涉及运营网络的组织,因此销售用户数据以降低成本的动机就少了。由于数据存储在区块链中,因此非常安全。
通常,区块链需要超过51%的网络受到同时攻击才能影响存储在分类账上的数据,这不仅操作起来很复杂,而且也会划不来。
如前所述,为了满足要求,DApps必须是开源的,这意味着任何人都可以检查代码以查看应用程序的功能。这提供了传统应用程序通常不会提供的透明度。
有哪些障碍?
DApps并非没有缺点。首先,需要有足够数量的节点在网络上运行。因此,如果平台建立在一个小区块链上,有时大多数这些节点实际上是由创建者操作的,所以实际上这并不是分散的。
大多数基于区块链的DApps最大的问题之一是学习曲线,它阻止了不太精通计算机的用户使用它们。由于用户需要拥有持有区块链特定代币的钱包,因此用户需要保留所谓的私钥或种子词以访问其钱包并在区块链上签署交易。
与标准密码不同,私钥在忘记或丢失时无法重置,也无法更改。通常,私钥是由64个字母数字字符组成的字符串,难以记忆,应该仅在纸上记录,以避免黑客在数字保存时访问它的风险。因此,它并不像输入您的电子邮件和设置密码那么简单,而且会有很多的人因为丢失了私人密钥而被锁在账户外,再也无法访问!
DApps面临的另一个问题是,在区块链上可以存储的数据是有限制的,例如,视频文件太大而无法以分散的方式存储,因此仍必须存储在集中式服务器上。
这些问题可以及时克服,并且上述一些问题不存在于像Hyperledger Fabric等这些企业区块链中,后者不需要最终用户维护钱包和支付矿工费用。