快讯:
10月18日消息,美国风投机构USV本月初发文称,在大平台转变的历史中,首先出现一个突破性的应用程序(App),然后该应用程序启发了构建基础设施的阶段,先进的基础施设使得构建更先进的应用程序和基础设施变得容易,更促使消费者广泛采用这些应用程序。这里的“基础设施”用来形容公链、钱包很贴切。但在有应用程序要求解决基础设施问题之前,创建基础设施没有意义。
10月17日消息,贵州省扶贫基金会搭建的区块链智慧公益平台正式上线。贵州省扶贫基金会与CROS区块链技术公司携手合作,运用区块链技术的可溯源、不可篡改、数据加密安全等特征,实现公益活动过程中信息与行为的全流程存证、全周期追溯与审计。公益款项的使用记录和流转过程都登记到区块链上存证,做到整个公益流程的高度透明。
10月18日消息,美国商品期货交易委员会(CFTC)前主席加里•詹斯勒(Gary Gensler)最近表达了他对加密货币市场监管的看法。Gensler强调,他相信有必要对消费者进行强有力的保护,大多数首次发行的硬币本质上都是IPO。 Gensler曾表示,监管机构有必要采取“技术中立”的立场,以便在加密货币和分布式账本技术行业促进创新。 他表示:“我们不应监管区块链技术,而应只是确保其应用(如加密货币),确保投资者仍受到保护。我们要确保比特币市场不会出现欺诈、操纵行为。”
10月18日消息,美国风投机构USV本月初发文称,在大平台转变的历史中,首先出现一个突破性的应用程序(App),然后该应用程序启发了构建基础设施的阶段,先进的基础施设使得构建更先进的应用程序和基础设施变得容易,更促使消费者广泛采用这些应用程序。这里的“基础设施”用来形容公链、钱包很贴切。但在有应用程序要求解决基础设施问题之前,创建基础设施没有意义。
10月17日消息,贵州省扶贫基金会搭建的区块链智慧公益平台正式上线。贵州省扶贫基金会与CROS区块链技术公司携手合作,运用区块链技术的可溯源、不可篡改、数据加密安全等特征,实现公益活动过程中信息与行为的全流程存证、全周期追溯与审计。公益款项的使用记录和流转过程都登记到区块链上存证,做到整个公益流程的高度透明。
10月18日消息,美国商品期货交易委员会(CFTC)前主席加里•詹斯勒(Gary Gensler)最近表达了他对加密货币市场监管的看法。Gensler强调,他相信有必要对消费者进行强有力的保护,大多数首次发行的硬币本质上都是IPO。 Gensler曾表示,监管机构有必要采取“技术中立”的立场,以便在加密货币和分布式账本技术行业促进创新。 他表示:“我们不应监管区块链技术,而应只是确保其应用(如加密货币),确保投资者仍受到保护。我们要确保比特币市场不会出现欺诈、操纵行为。”
10月18日消息,美国风投机构USV本月初发文称,在大平台转变的历史中,首先出现一个突破性的应用程序(App),然后该应用程序启发了构建基础设施的阶段,先进的基础施设使得构建更先进的应用程序和基础设施变得容易,更促使消费者广泛采用这些应用程序。这里的“基础设施”用来形容公链、钱包很贴切。但在有应用程序要求解决基础设施问题之前,创建基础设施没有意义。
10月17日消息,贵州省扶贫基金会搭建的区块链智慧公益平台正式上线。贵州省扶贫基金会与CROS区块链技术公司携手合作,运用区块链技术的可溯源、不可篡改、数据加密安全等特征,实现公益活动过程中信息与行为的全流程存证、全周期追溯与审计。公益款项的使用记录和流转过程都登记到区块链上存证,做到整个公益流程的高度透明。
10月18日消息,美国商品期货交易委员会(CFTC)前主席加里•詹斯勒(Gary Gensler)最近表达了他对加密货币市场监管的看法。Gensler强调,他相信有必要对消费者进行强有力的保护,大多数首次发行的硬币本质上都是IPO。 Gensler曾表示,监管机构有必要采取“技术中立”的立场,以便在加密货币和分布式账本技术行业促进创新。 他表示:“我们不应监管区块链技术,而应只是确保其应用(如加密货币),确保投资者仍受到保护。我们要确保比特币市场不会出现欺诈、操纵行为。”

谈谈区块链(18):以太坊的UTXO

谈国鹏 2017-02-07 15:39 发布在 竞争币 44528

本来并没有计划写这篇文章,只是这两天微信里有一篇文章传播的比较厉害,叫:《其实并没有什么比特币,只有UTXO》。其中有这么一句话:HyperLedger 和Ethereum 一开始并没有采用 UTXO,现在前者已经切换回 UTXO,后者打算增加这个选项。很多朋友过来问我有没有这么回事,所以专门写一篇文章来阐述我的观点。

Snip20170207_16

这篇文章给大家造成很大的困扰,是因为大家都知道以太坊和Hyperledger当前都是基于账户模型的,没有任何UXTO的概念。而作者在文章中指出Hyperledger已切换到UTXO,以太坊也在考虑增加,究竟是怎么回事。

首先说Hyperledger fabric,fabric里连代币都没有(比特币里有比特币,以太坊里有以太币),说什么UTXO就没头没脑了。遍查fabric1.0的整个代码,只在chaincode example里找到一些关于UTXO的内容,那只是用chaincode实现对比特币UTXO的一个存储功能,而且只是一个智能合约的示例。

那作者为什么说fabric已经切换到UTXO了呢?遍查网络,的确发现了相关的内容。一篇是ConsenSys的文章,开头第一句话就是:Recently there has been a proposal to have UTXO based architecture as the fabric of the Hyperledger project.(网址:https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53#.sttqvpfqe)。

另一篇是数字资产公司(Digital Asset Holdings)的文章,里面说到:We are also switching from our simplistic notion of accounts and balances to adopt to de facto standard of the Bitcoin UTXO model, lightly modified.(网址:https://digitalasset.com/press/hyperledger-beta-retired.html)

这些似乎印证了作者的观点。但实际不然,因为这两篇文章都是时间比较老(2016年3月份),在那个时间点的确有那样的建议和讨论。并且很显然当前代码里没有任何UTXO,所有的代码和工作模式仍然是账户模型。我们在网络上继续寻找,在Reddit的帖子上找到了关于这方面的讨论:Both Vitalik and ConsenSys do indeed believe that UTXO is unnecessarily complicated to serve as the Hyperledger fabric.

Snip20170207_18

所以结论是:fabric的UTXO只是曾经的一个讨论,目前并没有在fabric 1.0中实现。而且以后如果要增加的话首先得为fabric引进自己的代币。我个人的观点认为,fabric为商用智能合约系统设计,基于账户模型更加合适。

下面我们说以太坊的UTXO。以太坊的确是在考虑引进UTXO,但是此UTXO非彼UTXO。并不是像大家想象的那样,用UTXO来替换现有的账户模型。首先以太坊为智能合约而设计,其账户模型里除了有余额(balance),还有智能合约代码,还有nonce(为防止重放攻击),以及自定义的存储。把这些换成UTXO显然不合适,因为UTXO胜任不了。比特币的UTXO里只有一个简单的属性:余额(balance)。

那么以太坊的UTXO是指什么呢?这就是以太坊的另一个话题了:分片(Sharding)。分片是扩展以太坊、增加TPS的有效方法,目前正在社区里被广泛讨论和研究。目前的以太坊的工作模式是所有节点(比如共16万个)同时验证所有交易,实际上这是极度低效和没有必要的一种模式。为了保证一致性,如果我们按照地址的前4位来分片,可以把所有地址分成16片。这样每个交易只需要其中1万台节点验证便可通过。如果一个交易涉及的账户都在同一片区并没有什么问题,但如果涉及到不同片区问题就来了。

为了解决不同片区之间的交易问题,以太坊设计出了称为收据(receipt)的工作模式。而这个收据的模式和UTXO类似,故而也称为以太坊的UTXO。

既然此UTXO并不是指替换当前账户模型,变成比特币模式的UTXO,那么是不是说明当前账户模型就没有问题呢?也不是!当前账户模型的确存在一些弊端。

以太坊中以太币的转移安全性不如比特币高。下面是一个真实的例子。一个网友请我帮忙,让我帮助从Yobit.net追讨258个ETH。原因是他从Yobit.net转移币到云币网账户时,发生了out of gas错误。云币网给出的目标地址是一个合约地址,而Yobit.net以为是个外部地址,交易设置的gasLimit为21000(这对于合约账户就不够了),因此发生了out of gas的异常。币的转移被取消,但是这个交易(Transaction)却是完成的。

Snip20170207_19

Yobit.net系统以交易成功作为币转移成功的依据,所以出现了问题。而这些问题是在UTXO模型里不会发生的。

所以针对这些问题,以太坊社区为提高转移以太币的安全性,也在考虑设置更加抽象的账户模型,把控制权交给EVM(智能合约层面),这样每个用户可以自定义自己的账户模型。通过智能合约能够实现任意的账户模型,比如UTXO。

这些都还没有发生,但是我相信UTXO也将在未来的以太坊中扮演重要的角色!

更多内容请关注谈谈区块链的微信公众号:ttblockchain。

评论(6)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • 涨涨涨 2017-02-07
    其实是个历史遗留问题。Hyperledger是一个总称,包含几家不同公司的代码,不过现在一般直接指IBM的fabric了。切换到UTXO的是DAH家的产品,IBM的fabric依然是账户模式。
    • 谈国鹏: 2017-02-07
      正解!
    • 涨涨涨: 2017-02-07
      Linux基金会集合各种代码库,此Hyperledger非彼Hyperledger http://www.8btc.com/what-is-the-difference-between-hyperledger-and-hyperledger
  • 巴比特资讯 2017-02-07
    【谈谈区块链(18):以太坊的UTXO】这两天微信里有一篇文章传播的比较厉害,叫:《其实并没有什么比特币,只有UTXO》。其中有这么一句话:HyperLedger 和Ethereum 一开始并没有采用 UTXO,现在前者已经切换回 UTXO,后者打算增加这个选项。很多朋友过来问我有没有这么回事。http://t.cn/RJLAQqb ​
  • 谈国鹏 2017-02-08
    谈谈区块链(18):以太坊的UTXO_巴比特_服务于区块链创新者 本来并没有计划写这篇文章,只是这两天微信里有一篇文章传播的比较厉害,叫:《其实并没有什么比特币,只有UTXO》。其中有这么一句话:HyperLedger和Ethereum一开始并没有采用UTXO,现在前者已经切换回UTXO,后… http://t.cn/RJLAQqb ​
  • 睿思通-专注比特币交易平台开发 2017-03-10
    所以针对这些问题,以太坊社区为提高转移以太币的安全性,也在考虑设置更加抽象的账户模型,把控制权交给EVM(智能合约层面),这样每个用户可以自定义自己的账户模型。通过智能合约能够实现任意的账户模型,比如UTXO。