比特币、以太坊

关于区域链的应用;

namecoin:一个很好的名字注册数据库

colorcoin:作为一个协议允许人们定义自己的数据货币,或者作为一个单元,代币在区域链上

metacoin:在比特币之上的一个协议,用比特币交易来存储附属币的交易但是有不同的交易转换器

建立一个共识协议有两种方法:建立一个独立的网络或者在比特币协议上工作。前者理论上很成功但是实施有很大的困难,后者(metacoin)—不能继承比特币的简化验证功能。

 

脚本语言

可以定义一个UTXO,一个交易来花费utxo时必须提供脚本语言里描述的数据。

基本的公钥所有权机制也是通过脚本的:把一个椭圆双曲线作为签名,

证明这个交易和属于这个UTXO的地址,如果验证正确就返回否则返回0

限制:

缺少图灵完整性:主要是不支持循环。在验证的时候很有可能无限循环,即使可以模仿解决但是很没效率

价值的不可见:没有办法让utxo脚本提供细粒度来控制可收回金额。也就是每个UTXO的金额是不可见的

缺少状态:UTXO只有已花费和没有花出,脚本语言不能提供其他的状态,这很难完成多级选择协议,也就是灵活性受限制

我们看到上面的三种方法:建立一个新的blockchain,在比特币上使用脚本,和在比特币上面建立一个比特币元协议。

建立一个新的blockchain允许建立一个特征集无限的自由,但主要问题在开发的时间成本,引导和保障。

使用脚本是很容易实现和标准化,但在它的能力是非常有限的。

和元协议,虽然容易但是遭受故障的可扩展性。

以太坊,我们打算建立一个替代的框架,提供了易于开发更大的收益以及更轻客户端的性能,同时允许应用程序共享的经济环境和blockchain安全

以太坊

为了提供一个可以选择的协议,这个协议建立分散应用,被证明对一大类分散应用有价值的交易不同的设置。

以太坊ACCOUNT:以太坊的状态由账户组成,每个账户有20b地址和一个直接在两个账户之间转换价值和信息的状态交易,

一个账户包含四个成分:1当前值nonce,一个计数器用来确保每笔交易只能处理一次。2帐户的帐户余额ether balance3账户合同代码contract code

4帐户的存储storage(默认情况下为空

有两种类型的帐户:外部拥有的帐户,由私人密钥控制,和合同帐户,由他们的合同代码控制。外部拥有帐户没有代码,和一个可以发送信息从外部所有的帐户创建和签订交易合同;在一个账户,每一次的合同帐户接收消息的代码激活,允许它读取和写入的内部存储和发送其他消息或反过来创建合同。\

MESSAGE AND TRANSACTIONS

Transactions包括信息的接收方,发送者的签名,交易的金额,一个可选数据段,计算次数的最大值startgas(避免意外。无限循环或者其他的资源浪费),交易一步的费用gasprice

Messages:合同有发送消息给另一个合同的能力。信息的发送方(隐含)接收方,转换的数值,可选数据段,计算次数的最大值

消息和交易很像,只是交易是由合同产生的并且不是一个外部执行者。消息的产生是合同执行环境下。

有两种类型的帐户:外部拥有的帐户,由私人密钥控制,和合同帐户,由他们的合同代码控制。外部拥有帐户没有代码,和一个可以发送信息从外部所有的帐户创建和签订交易合同;在一个账户,每一次的合同帐户接收消息的代码激活,允许它读取和写入的内部存储和发送其他消息或反过来创建合同。

state transaction function

The Ethereum state transition function, APPLY(S,TX) -> S‘ can be defined as follows:

  1. Check if the transaction is well-formed (ie. has the right number of values), the signature is valid, and the nonce matches the nonce in the sender‘s account. If not, return an error.
  2. Calculate the transaction fee as STARTGAS * GASPRICE, and determine the sending address from the signature. Subtract the fee from the sender‘s account balance and increment the sender‘s nonce. If there is not enough balance to spend, return an error.
  3. Initialize GAS = STARTGAS, and take off a certain quantity of gas per byte to pay for the bytes in the transaction.每个字节缴费
  4. Transfer the transaction value from the sender‘s account to the receiving account. If the receiving account does not yet exist, create it. If the receiving account is a contract, run the contract‘s code either to completion or until the execution runs out of gas.(接收方不存在或者是一个合同)
  5. If the value transfer failed because the sender did not have enough money, or the code execution ran out of gas, revert all state changes except the payment of the fees, and add the fees to the miner‘s account.
  6. Otherwise, refund the fees for all remaining gas to the sender, and send the fees paid for gas consumed to the miner.
时间: 2024-09-29 23:30:49

比特币、以太坊的相关文章

使用PHP和树莓派开发一个比特币和以太坊交易机器人

我最近得到了Raspberry Pi Zero Wifi,我告诉你这个东西是改变游戏规则的.我之前使用过RasPis,但由于该设备的占地面积小得多,耗电少,价格便宜且无线上网,因此非常适合低端或物联网项目. 注:目前我已经扩展了机器人以便能够交易以太坊! 我希望它能够在不必太多关注的情况下做事,而我想到的第一件事就是: 为什么不创建一个可以自动进行比特币和以太坊的简单交易机器人. 这个想法很简单:Raspberry Pi Zero使用Coinbase API定期检查价格,并在有意义的时候购买和销

币圈新手指南-比特币莱特币以太坊瑞波币山寨币等数字货币交易

比特币是什么 [feixiaohao.com]非小号:数字货币大全.(长线必备)可以查看1600+币种数据.非专业人士建议只做长线,因为短线可能因为"神操作"错过暴涨机会,别问我怎么知道的,我已经后悔死啦.山寨币估值方法可以点击这里参考本人另一篇笔记 [aicoin.com]全球数字资产数据大全.(短线必备)可以查看各大交易平台实时价格,K线,资讯,币址查询等功能. ============================================================

PoW挖矿算法原理及其在比特币、以太坊中的实现

PoW,全称Proof of Work,即工作量证明,又称挖矿.大部分公有链或虚拟货币,如比特币.以太坊,均基于PoW算法,来实现其共识机制.即根据挖矿贡献的有效工作,来决定货币的分配.? 比特币区块 ? 比特币区块由区块头和该区块所包含的交易列表组成.区块头大小为80字节,其构成包括:? 4字节:版本号 32字节:上一个区块的哈希值 32字节:交易列表的Merkle根哈希值 4字节:当前时间戳 4字节:当前难度值 4字节:随机数Nonce值? 此80字节长度的区块头,即为比特币Pow算法的输入

你不知道的币圈江湖,ETH(以太坊)VS比特币,V神看不上中本聪

我们知道,ETH(以太坊)和比特币是目前最受币圈用户青睐的两种数字货币.但你或许不知道,他们背后的创始人,V神和中本聪并没有多少交集,甚至从某些方面来说,V神是看不上中本聪的,虽然他是比特币的创造者. 一.密码朋克,比特币先驱 非对称加密.点对点技术.哈希现金是比特币的三项关键技术. 比特币的加密理论基础来源于以下几项密码学的技术创新 :1976年威持菲尔德?迪菲 (WhitfieicJ Diffie)与马蒂?赫尔曼 (Marty Heilman)发明的非对称加密算法, 977年罗纳德?李维斯特

比特币,以太坊......区块链技术真的被认同了吗?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:Zach展--发表在云+社区区块链专栏 近来比特币价格持续走高,掀起了一股"比特潮".比特币更参与到了实际交易中.虽然土耳其政府曾经因为电子货币使用的风险发出过警告,但是据英国<每日邮报>1月30日的报道,土耳其业余足球俱乐部Harunustaspor以2500土耳其里拉(约合7526元人民币)外加0.0524比特币(3445元人民币)的价格签下一位22岁的球员.另外,外媒报道美国支付服务商1月31日宣布Sq

IFTNews:就好像理解比特币还不够困难一样,以太坊引入了一个全新的复杂性。即使你有扎实的技术背

IFTNews:就好像理解比特币还不够困难一样,以太坊引入了一个全新的复杂性.即使你有扎实的技术背景,在一切都有意义之前,还需要一些时间和独立的研究--除非你是个天才. 话虽如此,对以太坊如何运作的基本理解实际上可以使一般情况下更容易理解加密货币.您可以看到,以太坊是一个分散的平台,可以在其上编写智能合约(使用Solidity编程语言)并执行.它是支持数百个分散应用程序(dApp)的基础层. 每当在以太网上开发区块链技术和智能合同的新应用程序时,就可以创建一个新的以太令牌.这个过程的简化方面是,

以太坊智能合约编程之菜鸟教程

基本概念 了解这些名词是一个不错的开始: 公钥加密系统. Alice有一把公钥和一把私钥.她可以用她的私钥创建数字签名,而Bob可以用她的公钥来验证这个签名确实是用Alice的私钥创建的,也就是说,确实是Alice的签名.当你创建一个以太坊或者比特币钱包的时候,那长长的0xdf...5f地址实质上是个公钥,对应的私钥保存某处.类似于Coinbase的在线钱包可以帮你保管私钥,你也可以自己保管.如果你弄丢了存有资金的钱包的私钥,你就等于永远失去了那笔资金,因此你最好对私钥做好备份.过来人表示:通过

以太坊

code execution EvMcode:以太坊虚拟机器语言,代码由一定长度的字节组成,不同的字节代表不同的操作 三种存储数据:基于栈,先进后出 memory,可以无限扩展的数组 storage,秘钥或有效值的存储,不同于栈和内存的永久存储.计算结束后就重置 Block chain and mining 和比特币最大的不同是以太坊包含了一系列交易和块里最近的一次交易的状态. 基本的块验证机制: 1检查上一个块存在并且正确 2检查时间戳大于前一个块并且没超过15分钟 3检查块号,难度值,交易根

以太坊挖矿原理

以太坊的共识机制是 PoW(Proof of Work 工作量证明机制),使用的算法是Ethash,这种算法是对 Dagger-Hashimoto算法的改良版本,流程大概如下 1.对于每一个块,首先计算一个种子(seed),该种子只和当前块的信息有关;然后根据种子生成一个32M的随机数据集(cache) 2. 根据Cache生成一个1GB大小的数据集合DAG(有向非循环图),它是一个完整的搜索空间,挖矿的过程就是从DAG中随机选择元素(类似于比特币挖矿中查找合适Nonce)再进行哈希运算,可以从