使用互联网计算机开发 Web3 去中心化应用程序(DApp)
使用互联网计算机开发 Web3 去中心化应用程序(DApp)
什么是 web3?
Web3.0 描述了第三代网络。
网页1:
- 只读网页
网络2:
- 变得互动
- 脸书、Instagram
- 用户与他们互动的产品,我们在网站上创建内容。
网络3:
- 区块链上的网站和应用程序
- 加密货币:比特币、以太币
氦气 5G 项目:
基于区块链web3项目
什么是区块链,它是如何工作的?
- 区块链只是一个账本。
如果我们想让这个账本安全,那么我们需要让这些交易的历史不可变。
- 加密
- 它是将人类可读的明文转换为难以理解的文本的过程,也称为密文。
- 加密的关键是,我们可以前进和后退,我们可以解密并取回消息。
- 这会降低加密的安全性。
- 如果我们的账本是加密的,那么它的安全性就会降低,总有办法解密它。
散列
- 区块链不使用加密,而是使用散列。
- 散列基本上是一个数学公式,它允许我们通过散列函数将消息传递给散列码。
- 我们可以将输入转换为哈希。
- 示例:因子和数字。
- 我们的问题在于账本,所以没有人可以改变我们的交易历史。
https://guggero.github.io/blockchain-demo/#!/block
- 为了向块中添加数据,我们必须生成一个哈希。
- 并且哈希成为这个块的标识符。
- 每个块都有不同的哈希值。
- 为了将一个块添加到区块链中,它必须满足一些预先确定的要求。例如,此要求可能是:哈希应从 000(3 个零)开始
- 为此,我们需要不断修改我们的数据以生成具有预先要求的哈希,我们也可以添加修改而不是数据,这是另一个随机数。
随机数:
- 什么是随机数?
- Nonce 基本上是一个数字,我们可以从一个开始。
- Nonce 与数据相结合以产生散列。
- 我们通过将我们的数据与随机数一起散列来将我们的数据添加到一个块中。
- 每个块都有一个前一个哈希,它是前一个块的哈希,第一个块的哈希为零。
如果我们想改变任何以前的交易怎么办?
- 如果我们改变一个块的数据,该块之后的每个块(每个连接的块)都会受到影响。
- 这意味着我们无法在人们不知情的情况下更改任何历史数据或区块链中过去区块的数据。因为每一个块都会通过改变一个块来改变,所以任何人都可以知道有什么东西被改变了。
- 我们不能改变任何进入区块链的东西。否则它将使我们所有的哈希无效。
- 要生成新的哈希,区块链中的每个块都需要前一个块的哈希,如果前一个块的哈希改变了,那么它也会改变它的哈希。
- 区块链是一个账本,如果我们在前一个区块中更改任何内容,它将使每个区块无效。
- 实际上,像比特币、以太币这样的现实世界区块链有更多的权力,我们不能深入每个区块。
分布式区块链
- 我们可以有多个同行。
- 每次新矿工加入区块链时,他们都会获得区块链的完整副本。
- 这意味着不止一个人可以拥有相同的区块链。
- 所以假设一个人想改变他区块链的某个区块,那么其他人区块链的每个区块都会失效。
- 这就是区块链的力量,现在我们有了一个分布式的去信任账本。
- 我们不必相信任何人,我们不必相信贝宝正在储存我们的钱。
- 由于它是分布式的,我们不在乎谁拥有区块链的副本,我们可以信任该技术。
- 这项技术使我们能够拥有像比特币这样的加密货币。
智能合约和以太坊进来
- 这里真正的突破是,当以太坊被概念化时,
- 我们不能只将数据存储在块中。
- 我们可以通过将代码存储在块中来创建智能合约。
什么是 DApp(去中心化应用)以及我们如何开发它们?
- DApp 是 web3 的支柱。
老办法:
- 建立一家初创公司,建立一项技术。
- 筹集风险投资资金,希望他们喜欢你的想法。
- 首次公开募股
新的 Web3 方式:
- 建立创业公司,建立技术。
- 然后您可以开始向公众发布代币并开始销售代币,使人们能够使用您的技术并与之互动。
- 从第一天起,您就可以为您的 DApp 筹集资金。
- 区块链也改变了您运营公司的方式,因为您可以组建一个去中心化的自治组织 (DAO),该组织将取代董事会以及公司的所有组织结构图。
- 代币持有者将决定公司应该如何运作。
作为个体企业家有意义的使用(例如:Dropbox)
- Dropbox,你为 Dropbox 筹集资金(假设 $60000)
- Dropbox 基本上为我们提供了云存储。
- FileCoin(Dropbox 的 web3 竞争对手)
- Filecoin 允许我们以去中心化的方式将文件存储在云端。
- 但它不是由一家公司托管,而是托管在全球数百万台计算机上。
- 去中心化应用程序的未来确实令人兴奋。
- 例如:我们可以拥有一个用户和司机拥有的优步版本,而不是让优步司机被优步骗走,在这个版本中,为公司开车或使用公司出行的每个人都可以访问代币,用于管理、确定公司应如何运营,并在该公司取得更大成功后有效地拥有该公司的股份。
化名
- 假名可能是 web3 技术的最佳特性。
- 人们可以保护自己的个人隐私,并且仍然对自己的行为负责。
- 一个以出生名和肤色来评判人们的世界放大了假名趋势。
- 这是一个很棒的均衡器。
我们从哪里开始?
- 我们必须选择一条链来构建 DApp。
- 目前,最大的没有。的 DApps 是建立在以太坊上的。
- 以太坊有很多基本问题:
- 最大的问题是缩放。
- 你不能在以太坊中存储数据,
- 建立在以太坊上的 NFT 甚至不存储在以太坊中。
- 在以太坊上进行计算非常昂贵,并且在此存储任何东西的成本都很高。
- 这就是为什么大多数基于以太坊的应用程序都是使用不同服务的补丁工作来构建的。
- 例如:普通网站托管在 AWS 上。
- 互联网电脑。
- 想法是创建一个在区块链上运行的可扩展云计算机。
- 将数据直接存储在区块链上。
什么是互联网计算机?我们如何使用互联网计算机构建 DApp。
- 互联网计算机的目标是达到区块链奇点。
- 想法是拥有一个强大且安全的区块链,它能够运行网络的整个基础层,一切托管,部署所有东西。
- 几乎可以构建任何东西,没有云的 DAPPS。
- 今天的大多数 DApp 都是部分去中心化的,它们在区块链中存储了非常少量的数据,所有其他的都托管在大型 web2 公司上。
为什么我们要依赖遗留基础设施?
- 原因是,目前的区块链非常困难
- 外汇:以太坊:能够存储大量数据或持有大量交易。因为它不是为此目的而建造的。
- 以太坊主要是为了充当账本。
- 去中心化社交媒体应用程序中的每个新帖子都是一笔交易。这意味着区块链存储数据的限制取决于所有用户可以发布多少帖子。
https://dfinity.org/pdf-viewer/pdfs/viewer?file=../library/dfinity-consensus.pdf
https://etherscan.io/tx/0x674779579a8e456fc1f6c8fdf41ef942eb93001d6b8f5ad6c6c59cbc76bef161
什么是互联网计算机(ICP)?
- 问题陈述是:你如何使区块链智能合约规模化?性能更高,每秒能够处理数千次计算。
- 互联网计算机聚合了大量独立数据中心的计算能力。它把全世界所有的数据中心用互联网计算机协议组合成一个大型的去中心化世界计算机。
- 这种分散的计算机被组织成他们所谓的个体,罐。
- 容器基本上可以运行进程、执行代码和运行程序,
- 作为用户,我们可以通过发出 HTTPS 请求直接与容器交互。
- 但作为开发者,我们需要意识到的是
- 互联网计算机基本上就是一堆罐子。
- 每个容器都可以通过一个 web 组装模块和一个称为内存页面的平面内存模型来保存程序和程序状态。
罐
- 作为开发人员,我们可以编写代码,编译成一种高性能的方式,使用 Web 程序集在用户硬件上运行 Web 应用程序。
- 我们可以使用多种语言来做到这一点。像锈等。
- 这些容器中的每一个都像一个进程或一个代码沙箱。
- 它有点类似于容器,如果你熟悉 Docker,那么你可以很容易地理解它。
- 本质上,程序状态被保留,罐子永远运行。
- 假设您在代码沙箱上运行一个程序,并且该程序永远不会被杀死。
- 所以我们的内存被我们的变量占用了,数据结构永远不会被擦除。
- 我们不必考虑状态持久性或将事物放入数据库或从数据库中取出。
- 你的程序表现得好像它永远不会被杀死。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
标签:
网络;编程;产品;app
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示