分享

区块链社区HiBlock



微信号:
HiBlock-Net

功能介绍:
HiBlock区块链社区开发者社区
价值观:开放、写作、透明、链接、分享。HiBlock是一个专注区块链的开发者社区,不仅仅在开发者中选出推广区块链,还帮助开发者者整我区块链技术与应用。

经典文章推荐

入门:

在区块链世界中的token到底是什么?



token的概念很广泛,在计算机领域中,无论是基础的网络架构还是服务系统的身份验证等,都有涉及到token的概念,然而在这里我想阐述的是在区块链世界中的token是什么。



相信对区块链有些了解的朋友,都或多或少的听过或者看过关于token的描述,过去的两年里,被炒的轰轰烈烈的,通过I-C-O方式去募集的那些个玩意儿,都是指的一种token,有人翻译为数字代币,有人称之为是通证,不管怎么说,总之就是被不少人认为是一种有价值的东西,不,应该说被认为是一种有价格的东西。



回想长时间以来对于区块链的概念阐述,都是基于技术角度的,总认为这样的阐述立场会更客观一些,更朴素一些,对于看官或者读者来说,能够排除其他的主观干扰或者排除一些别有用心的心理暗示。在之前所著的书籍《白话区块链中》,绝大部分的文字也都是阐述技术概念,很少讨论经济学上的意义,或者在社会学、金融领域等的定义。



很显然,如果说在技术上定义一下,区块链系统中的token是什么,那不过就是通过一段程序定义的符号或者说一个值。嗯?就这么结束了?呵呵,当然不是,我们可以在软件开发中通过程序定义各种值,难道那些都是能被称为token么?即便是在区块链软件的开发中或者基于某个基础链的智能合约开发中,随便定义一组数字量,难道就是token了?而这些定义程序不过就是寥寥数十行代码,比如我们常用的基于以太坊公链部署的token合约,最简单的程序代码,不过就十几行,我们来看一个例子:


1.png


如图所示,就是一份最简单的基于以太坊的token合约代码,部署在以太坊上时,初始化一个期初总量,这个总量是可以自己随便定义的,一百、一千、一万、一个亿或者更多都可以。部署后,你就拥有了一个名字叫MyToken的token了,或者叫代币,叫通证都可以。当然,这还只是区块链系统中定义token的其中一种方式,token还可以生成子token,可以有变化,定义方法或者说玩法还是挺多的。



说到这,很多朋友可能会有些迷茫,总觉的这个什么token的概念太虚了,真个是如梦幻泡影,如雾亦如电。其实不然,我们来举些例子吧,咱老百姓说话得接点地气。



大家在商店买东西的时候,买完一般都会要求收取一张发票,这张发票是商家开具的,证明商品的销售来源和价格的,这张发票就可以算是一种token;



古代的时候,有些钱庄银号,为了让客户方便在各地的分号兑换银两,会给客户开具带有兑换效力的银票,这个以银票也是一种token;



国家给每位公民都办理了身份证,这个身份证也是一种token;



某个村子,全村人都姓王,家家户户的人口信息都会登记到一个册子上,这个册子每隔一段时间就会印发,每户一本,这个册子也是一种token;



工厂里工人干活,每个人分配的工时会记录在本子上,到了月底就会汇总,换算成酬劳,这个记在本子上的工时也是一种token。



好了,让我们停一下,大家发现没有,这里被称之为是token的东东都有哪些共同点呢?



在考虑共同点的时候,我们来看下这些token有什么用。如果没有没有这些个发票、银票或者工时记录什么的会怎么样?那就会在需要兑换某种权益的时候没有对应的证明。是不是?



没有发票的话,如果要去店里退换货或者返修,人家可能就不认了;没有银票,那些个银号能给你兑钱么;没有工时记录,到了月底拿什么给你结算?



是的,我们发现这些个东西都承载了某种权益,当然了,这些权益都是有归属的,谁拥有这些个token的所有权,谁就拥有这些token所代表的权益。



那么,既然是一种权益,那自然也是可以转移喽,当然现实生活中的一些token并不都是能通过交易来转换所有者的,比如身份证就是不能随便卖的。



现在让我们再来抽象一下,要说以上这些个token的概念,那还是能理解的,毕竟代表了具体的一些权益的,可是建立在区块链系统中的那些个所谓的token代表了什么呢?比如我在以太坊上部署了一个token的合约程序,这代表了什么具体的权益呢?就这么数行数十行代码写的一段程序怎么就是token了呢?它代表了什么样的价值或者说权益呢?



首先,这些token合约程序,是部署在区块链系统之上的,区块链系统是一种网络系统,而且是一种分布式点对点的网络系统,在这样的一个网络系统中,存在着一种共识机制。在这个网络中,每条数据都是有所有权的,这个所有权通过一种叫私钥的密钥来识别,拥有私钥的人就拥有对应数据的所有权。而整个所有权会通过共识机制让全网来共同验证。比特币是这种机制,以太币是这种机制,以太坊上的token也是这种机制,在这种机制中产生的带有所有权的数据,就是一种token,它代表着什么样的权益呢?就是代表一种所有权,一种被网络中大多数节点都验证认可的所有权。



当然,区块链系统为了维持运转,是需要一整套的运行机制的,比如比特币系统、以太坊系统等,需要部署为一个网络,这个网络要尽可能的广泛,需要共识机制比如挖矿算法就是一种共识机制,当然也还有其他类型的共识机制,还需要有脚本指令系统用于转换所有权,以及等等。



在这样的网络系统中,不依赖于某一个权威者,而是通过既定的规则机制来进行这个所有权的自动化证明,因此能获得参与者的认可共识,通过共识保障了所有权。



可能有朋友会问,说我发现目前在一些交易系统中就有交易这些token,价格或高或低,问题是就这么一个所有权,感觉就是人为制造出来的,也不对应什么具体的实物权益,怎么就有高高低低的价格呢?我们知道,一个所有权,不管它是否用于交易,它都是存在的,至于说价格,那是一种市场行为,或者说是炒作行为,这里面又有一番理论,就像黄金为什么会有价格,荷兰郁金香为什么会有价格,一套软件为什么会有价格等等,价格或许是反应这个token的价值的,或者只是人为炒作的,不用去管它,对于我们来说,理解token是一种所有权就可以了。



如果能够正确的使用token这个东西,那么可以设想在网络系统中通过token来携带相应的价值,转换相应的权益,可以去实现类似智能合约这种应用以及等等,可以去发挥一些创意,去对应现实生活中的一些需求,找到一些应用的点,将这个token与具体化的价值物连接起来,这样才能发挥token的作用,否则光是token是没有意义的,不管这个具体化的价值物是什么,它得是对人们有用的,能满足一些需求的才行。

原文链接


本帖被以下淘专辑推荐:

已有(4)人评论

跳转到指定楼层
howtodown 发表于 2018-5-16 18:56:08
区块链的token应该译作权符,而不是代币、通证



区块链的token是一个核心词汇,最早译作代币,后来译作通证。其实都只是反应了token的一面,犹如盲人摸象还没有准确抓住这个词的内涵。

区块链的token应该怎么翻译,甚为重要,名不正则言不顺,容易被误导。要准确翻译,就有必要先准确理解token的内涵。

1代  币


首先,我们来看代币这一说法。这个要追溯到区块链的发源--比特币,比特币无论从初衷还是名字,都是数字货币的面貌。这样就容易被认为是要替代纸币,而可以简称为代币。诚然这确实也是一方面。



另外,从原本的代币来说,我们最容易见到的就是筹码、游戏代币、会员卡和饭票。大家玩麻将的时候,可能用一些塑料片或扑克牌来计算输赢,最后结算成现金,这种筹码就是代币。在游戏里充值后,可以用来续命和购买装备,这个游戏币也是代币。包括大家更熟悉的会员卡和饭票都是代币,用来消费时支付。



区块链的token也是可以用来支付的,比如比特币可以用来支付比特币系统转账的手续费,比如比特股是用来做资产交易系统的交易手续费的,比如云储币SC可以用来支付去中心化云存储sia的数据文件存储费用。代币确实是token的一个性质,也是最直观的部分,这也是为什么最开始被译作代币的原因。


2.通行
接下来,在前不久孟岩和元道的一次论道中,孟岩提出来token应该译作通证。直观的意思就是通行证,其实也是避代替纸币嫌的需要。

通证的含义就更宽泛,可以包含代币,因为代币也可以看做是一种通行证,你有,就可以获取商品或服务。但通证又不仅仅是代币,还可以体现出一种权力。


这就很近似token在网络通信里被译作令牌的意思了。网络通信中当拿到token即令牌的机器才有权发出数据包。也就是token是一种权力。区块链的token在以太坊里最充分地体现了它通行证的一面,就是一个智能合约的执行,是需要相应数量的gas,也就是token。


另外它还允许DAPP有自己的符合ERC20或ERC721的token,进一步明确那些特殊的token才是特定DAPP的通行证。但同样的是,token还不仅仅是通行证。


3.股  权

为了更好地理解区块链的token,我们来说说股权。



股权是公司所有权的表达。那么我们对比特币有更深入的理解时,可以看做这是一种新形态的公司,它的所有权不在持股者的手上,因为它根本就没有发行股票,甚至注册成为公司,它的所有权在谁那呢,是全体持有token的人,对比特币公司来说,就是比特币,对比特股来说,就是比特股。当比特币公司从只有中本聪一人到目前有数以万计的比特币矿工,比特币系统转账金额可以和西联等公司相提并论。



这也奠定了比特币作为新形态公司的新的股权形态具有实实在在的价值锚点,而不是著名经济学家郎咸平所说的比特币有价格没有价值。这也是比特币公司可以估值超过google。所以,区块链的token其实也是新形态公司的新的股权形态。



4.产  权

再来说说,产权。产权是对一个资产所有权的表达。最直接就是房产证,证明里哪些人持有这套具体的房产,以及他们的占有部分和比例。



区块链由于不可篡改的这一特性,可以非常好地用来登记权属。比如数字产权证就可以替代纸质的产权证,从而使交易更简便。也就是区块链的token往往也是所有权或使用权的一种证明。像大火的迷恋猫cryptokitties游戏就用token表达了对虚拟猫的所有权。国内高仿的旺财狗cryptopups游戏也是用token表达了对虚拟狗的所有权。



更多参考原文













回复

使用道具 举报

howtodown 发表于 2018-5-16 19:58:46
区块链系统入门【推荐】

1.前言

区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码学的共享账本、共识机制、智能合约等技术;

科技史上大部分创新都是与生产力有关的,提升效率,让人做更少工作,让机器做更多工作;区块链带来的最主要的颠覆却是生产关系上的;

互联网实现了信息的传播,区块链实现了价值的转移;区块链可以看作是“价值互联网”的基础协议,类似于“信息互联网”的HTTP协议,二者都是建议在TCP/IP协议之上的应用层协议;

区块链并不是一个全能技术,在某些应用领域里相比传统技术并不具备明显的技术优势,因此创业者及投资机构都需要考虑技术适用性问题;

区块链底层技术及协议层可能出现几家平台型公司;但大部分投资机会在于应用层,即基于行业应用的“区块链+”项目。

9月4日央行等7部委下发的《防范代币发行融资风险公告》将ICO定义为非法融资,不论机构和个人都不建议参与此类项目。


Part One:区块链基础知识


区块链和区块链技术


“区块链就像一台魔法计算机,任何人都能够上传程序并自我执行,程序执行前和执行后的所有状态都公开可见,密码经济学为程序严格按照协议执行提供了机制保障。”

——Vitalik Buterin


狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本(分布式数据库)。

广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。


如何理解上述定义呢?
1)   一个分布式的链接账本,每个账本就是一个“区块”;

2)   基于分布式的共识算法来决定记账者;

3)   账本内交易由密码学签名和哈希算法保证不可篡改;

4)   账本按产生的时间顺序链接,当前账本含有上一个账本的哈希值,账本间的链接保证不可篡改;

5)   所有交易在账本中可追溯。






更多参考链接







回复

使用道具 举报

howtodown 发表于 2018-5-16 19:59:47
你想知道区块链问题总结


前方高能!


问:什么是区块链?

答:区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说,区块链技术就指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。那么谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿里在记。但现在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可以来进行记账,系统会评判这段时间内记账最快最好的人,把他记录的内容写到账本,并将这段时间内账本内容发给系统内所有的其他人进行备份。这样系统中的每个人都了一本完整的账本。这种方式,我们就称它为区块链技术。

问:这样全民记账的区块链有什么好处?

答:可以发现,这是在牺牲一点效率的情况下,获得了极大的安全性。首先没有一本中央大账本了,所以无法摧毁。每个节点都仅仅是系统的一部分,每个节点权利相等,都有着一模一样的账本。摧毁部分节点对系统一点都没有影响。其次,无法作弊,因为除非你能控制系统内大多数人的电脑都进行修改,否则系统会参照多数人的意见来决定什么才是真实结果,结果会发现修改自己的账本完全没有意义(因为别人不承认)。其次,由于没有中心化的中介机构存在,让所有的东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率。而由于每个人都有相同的账本,能确保账本记录过程是公开透明的。

问:区块链解决了什么问题吗?

答:区块链最重要的是解决了中介信用问题。在过去,两个互不认识和信任的人要达成协作是难的,必须要依靠第三方。比如支付行为,在过去任何一种转账,必须要有银行或者支付宝这样的机构存在。但是通过区块链技术,比特币是人类第一次实现在没有任何中介机构参与的情况下,完成双方可以互信的转账行为。这是区块链的重大突破。

更多参考链接

回复

使用道具 举报

howtodown 发表于 2018-5-16 20:04:31

Ethereum架构的分析



顶层架构设计上


区块链可以简单的分为三个层次,协议层、扩展层和应用层。其中,协议层又可以分为存储层和网络层,它们相互独立但又不可分割。

以太坊最上层的是DApp,它是整个区块链的展示层,通过Web3.js和智能合约层进行交换,如以太坊使用的是truffle和web3-js,区块链的应用层可以是移动端,web端,或是融合进现有的服务器,把当前的业务服务器当成应用层。

所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC(Remote Procedure Call Protocol,远程过程调用直观说法就是A通过网络调用B的过程方法)。

在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)。


1.png


从数据结构来看



协议层,是最底层的技术。这个层次通常是一个完整的区块链产品,类似于我们电脑的操作系统,它维护着网络节点,仅提供Api供调用。网络编程、分布式算法、加密签名、数据存储技术等4个方面,分布式算法基本上属于业务逻辑上的实现,什么语言都可以做到,加密签名技术是直接简单的使用,数据库技术也主要在使用层面。



存储层:一个区块(Block) + 链表及区块链数据结构。以太坊中使用的数据库是levelDB。



网络层:p2p网络,P2P网络的实现和并发处理才是开发的难点,所以对于那些网络编程能力强,对并发处理简单的语言,Nodejs开发区块链应用,逐渐变得更加流行,Go语言就开始很火了。



共识层:也就是激励层,通过挖矿机制,制定区块链的获取货币的方式。比如比特币用的是POW(Proof of Work工作量证明机制):电脑的性能越好,越容易获取到货币奖励。还有POS(Proof of Stake权益证明机制):类似于众筹分红的概念,会根据你持有的货币数量和时间,给持有者发放利息。



扩展层:类似于电脑的驱动程序,以太坊中这部分包括了EVM(以太坊虚拟机)和智能合约两部分。是为了让区块链产品更加实用,比如以太坊的“智能合约”的概念,这是典型的扩展层面的应用开发。



合约层:以往的区块链是没有这一层的。所以最初的区块链只能进行交易,而无法用于其他的领域或是进行其他的逻辑处理。但是合约层的出现,及智能合约”就是“可编程合约”,或者叫做“合约智能化”,其中的“智能”是执行上的智能,也就是说达到某个条件,合约自动执行使得在其他领域使用区块链成为了现实。



应用层:类似于电脑中的各种软件程序,区块链的展示层。DAPP产品其实也是这个层面的应用,将智能合约发布到区块链上,人们通过地址对这个区块进行访问继而和智能合约交互,以太坊使用的是truffle和web3-js.区块链的应用层可以是移动端,web端,或是融合进现有的服务器,把当前的业务服务器当成应用层。基于此开发的DAPP其实就是在智能合约基础上封装了一层Web应用,发行代币等都是在这个层面,通过DAPP提供的Web应用和智能合约交互。


原文链接

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条