云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

虚拟主机_vps香港服务器_限量秒杀

小七 141 0

Cloudflare的以太坊网关

今天,作为2019年加密周的一部分,我们很高兴宣布Cloudflare的以太坊网关,您可以在这里与以太坊网络进行交互,而无需在您的电脑。这个是Cloudflare分布式Web网关工具集中的另一个工具。目前,Cloudflare允许您在星际文件系统(IPFS)上托管内容,并通过自己的自定义域进行访问。类似地,新的以太坊网关允许访问以太坊网络,您可以通过您的自定义设置主机名。这个通过安装,可以向由以太坊智能合约(一个分散的计算平台)提供支持的站点添加交互元素。而且,与IPFS网关结合使用,它允许以分散的方式托管网站和资源,并具有Cloudflare edge网络提供的速度、安全性和可靠性的额外好处。您可以直接访问我们的以太坊网关https://cloudflare-eth.com。本文简要介绍了以太坊和智能合约的工作原理,并举例说明了使用Cloudflare分布式Web的多种可能性入门。初级在以太坊,你可能听说过以太坊是一种加密货币。你可能不知道的是以太坊是如此之多。以太坊是一个分布式虚拟计算网络,存储和实施智能合同。所以,什么是智能合约?好问题。以太坊智能合约只是以太坊区块链上存储的一段代码。当契约被触发时,它在以太坊虚拟机(EVM)上运行。EVM是一个分布式虚拟机,运行智能合约代码,并生成以太坊区块链状态的加密验证更改。为了说明智能合约的威力,让我们考虑一下例如,安娜她想开一家VPN提供商,但资金不足。为了为自己的事业筹集资金,她决定举行首次硬币发行(ICO)。安娜没有从头开始设计ICO合同,而是以ERC-20为基础。ERC-20是发行可替代代币的模板,非常适合ICO。安娜将她的ERC-20兼容合同发送到以太坊网络,并开始出售她的新公司VPN公司的股票。一旦她整理好资金,安娜坐下来开始写一份智能合约。安娜的合同要求客户向她发送他们的公钥,以及一些以太(以太坊的硬币产品)。然后她授权公钥访问她的VPN服务。所有这些都不需要掌握任何秘密信息。胡扎!接下来,Anna决定再次使用区块链,而不是自己建立基础设施来运行VPN,但这次是作为客户。云公司使用自己的智能合约销售托管云基础设施。安娜编写了合同,将适量的乙醚发送到云公司的合同中。然后,Cloud Co.为她提供托管VPN所需的服务器。通过在每次有新客户时自动购买更多的基础设施,她的VPN公司可以完全自主地扩展。最后,安娜从利润中拿出一点红利给她的投资者她自己。还有这就是一个分散的、自主的、智能的VPN提供商。存储在区块链上的智能合约有一个用于存储资金的关联账户,当有人向该账户发送乙醚时,合约就会被触发。因此,对于我们的VPN示例,当有人将钱转到与Anna的合同相关联的帐户时,供应合同就会触发。智能合约与普通代码的区别是什么?智能合约的"聪明"部分在于它们是自主运行的。"契约"部分是代码作为写的。因为该合同以加密方式执行,保存在区块链的防篡改介质中,并经网络共识验证,这些合同比常规合同更可靠,后者可能引发争论。以太坊智能合约与传统合约合同常规合同由法院系统强制执行,由律师提起诉讼。结果是不确定的;不同的法院判决不同,雇佣更多或更好的律师可以改变你的胜算好样的。聪明的合同的结果是预先确定的,而且几乎是廉洁的。然而,这里有龙:虽然结果可以是预先确定的和不腐败的,一个写得不好的合同可能没有预期的行为,而且由于合同是不可变的,这是很难做到的修。怎么修是否编写了智能合约?您可以用多种语言编写智能合约,其中一些语言是图灵完备的,例如Solidity。图灵完备语言允许您编写可以计算任何可计算函数的代码。这使得Solidity与Python和Java属于同一类语言。编译后的字节码在副总裁EVM与标准VM在许多方面不同:EVM是分布式的,每个代码由许多节点运行。节点在接受块之前验证计算,因此确保希望接受其块的矿工必须始终诚实地运行EVM。只有当超过一半的网络接受一个块时,它才被认为是被接受的。这是以太坊EVM完全是确定性的这意味着函数的相同输入总是产生相同的输出。因为常规vm可以访问文件存储和网络,所以函数调用的结果可能是不确定的。每个EVM都有相同的启动状态,因此给定的一组输入总是给出相同的输出。这使得EVM比标准更可靠嗯。那里有两个大陷阱是和这个de一起的吗终端:EVM字节码图灵图是完整的,因此不运行计算就可以识别输出并不总是如此可能。以太坊智能合约可以在区块链上存储状态。这意味着功能的输出可以随着区块链的变化而变化。尽管从技术上讲,这是确定性的,因为区块链是功能的输入,但可能仍然无法从中导出输出前进。这个然而,这意味着它们与任何一个软件都会遭受同样的问题——bug。然而,与作者可以发布补丁的普通代码不同,存储在区块链上的代码是不可变的。更麻烦的是,即使作者提供了一个新的智能合约,旧合约仍然可以在区块链。这个这意味着在编写合同时,作者必须特别小心地编写安全的代码,并包括一个kill开关,以确保如果代码中确实存在bug,它们可以被压扁。如果没有kill switch,并且智能合约中存在可被利用的漏洞,则可能导致智能合约或其他个人的资源被盗。EVM字节码包含一个特殊的SELFDESTRUCT操作码,用于删除一个契约,并将所有资金发送到指定的地址。在臭名昭著的DAO事件中,包含kill开关的需求成为了焦点。DAO智能合约充当了一个复杂的分散式风险投资(VC)基金,并持有从一群投资者那里募集到的价值2.5亿美元的Ether。黑客利用智能合约的漏洞,偷走了价值50美元的乙醚百万。因为在以太坊没有办法撤销交易,有一个极具争议的"硬叉",大多数社区同意接受一个带有"不定期状态变化"的区块,该区块基本上将所有DAO资金都投入到一个特殊的"取款DAO"回收合同中。通过说服足够多的矿工接受这个不规则块的有效性,DAO可以返回资金。不是每个人都同意这个改变。那些不同意的人拒绝了不规则块,形成了以太坊经典网络,分叉的两个分支都在增长独立。杀了然而,开关也会导致自身的问题。例如,当用作库的契约翻转其kill开关时,依赖此契约的所有契约都不能再按预期操作,即使底层库代码是不可变的。当攻击者触发一个底层的kill开关时,这导致超过500000以太币卡在多签名钱包中图书馆。用户多重签名库假设代码的不变性意味着库将始终按预期运行。但是,与区块链交互的智能合约只有在考虑区块链的状态时才具有确定性。在DAO之后,创建了各种工具来检查智能合约中的bug或启用bug奖励,例如Securify和Hydra。来吧,你…智能合约避免错误的另一个方法是使用标准化模式。例如,ERC-20定义了一个标准化接口,用于生成ICOs中使用的令牌,而ERC-721定义了用于实现不可替换令牌的标准化接口。不可替代代币可用于交易卡类游戏,如CryptoKitties。CryptoKitties是一款建立在以太坊区块链上的交易卡式游戏。玩家可以买卖和繁殖猫,每只猫unique.CryptoKitties公司是基于一组智能合约构建的,这些合约提供了一个开源应用程序二进制接口(ABI),用于与KittyVerse(CryptoKitties应用程序的虚拟世界)进行交互。ABI只允许您调用契约中的函数并接收任何返回的数据。KittyBase代码可能看起来像这个:KittyBase合同Kittyaccess控制{事件出生(地址所有者,uint256 kittyId,uint256 matronId,uint256 sired,uint256基因);事件传输(地址从,地址到,uint256 tokenId);结构基蒂{uint256基因;uint64出生时间;uint64冷却端块;uint32通灵;uint32海妖;uint32 siringWithId;uint16冷却指数;uint16代;}[...]函数传送(地址从,地址到,uint256令牌ID)内部{...}函数\u createKitty(uint256_matronId,uint256_sired,uint256_generation,uint256_genes,address_owner)内部收益(uint){...}[...]}除了定义Kitty是什么之外,这个契约还为tran定义了两个基本函数