DEFI2.0项目解析——区块链技术的可编程游戏网络TCCG是什么? 目录 01 时代背景 02 第一章,可编程游戏网络 05 第二章,首次挖矿发行 05 2.1矿机预售 06 2.2矿机挖矿网络 06 2.3游戏挖矿 08 2.4退出机制 08 2.5抽奖门票 09 第三章,技术革新 09 3.1区块链技术发展简史 10 3.2未来的可编程游戏网络——TCCG 18 第四章,市场前景 18 4.1东南亚竞技游戏市场 18 4.2全球范围跨境清结算 20 第五章,参考文献 时代背景 从农耕时代到工业时代再到信息时代,技术进步不断推动人类社会的发展。区块链,是当前信息技术领域中一种极具爆发力和潜力的技术,它秉承着去中心化的思想,正以始料未及的速度,在全球掀起一场影响社会多个层面的深刻变革。区块链技术甚至被某些狂热的追随者们认为是继蒸汽机、电力、互联网之后第四次工业革命的核心技术,并且将彻底改变当前资本主义范式下极度中心化的生产关系。 时代每变革一次,就意味着新的科学技术的出现,这必然会打破原有的商业边界;任何事物的存在都是时代发展的产物,当时代变革的时候,新革命新技术出现的时候,旧的产物要么被无情淘汰,要么脱胎换骨,迎来一次重生。 当下,正值社会范式从古典互联网时代到价值互联网时代跃迁的历史性时刻。方兴未艾的区块链技术革命,正以其无与伦比的爆发力和创造力冲击着古典互联网时代日益僵化的组织结构和社会范式。区块链作为“价值互联网”的重要基础设施,正在引领全球新一轮技术变革和产业变革,正在成为技术创新和模式创新的“策源地”。越来越多的国家开始积极拥抱区块链技术,开辟国际产业竞争新赛道,抢占新一轮产业创新制高点,以图在区块链这一“新赛道”上争取先发优势。全球近九成主权国家的区块链投资在2018年前后参与了实质性阶段。 就全球视角来说,除了少数底层公链和工具类产品(如社交工具、门户)外,区块链行业绝大部分的精英们所从事的业务都与金融息息相关。在产业应用方向上来讲,区块链技术是一场金融革命,他们要挑战的正是以华尔街为代表的传统金融产业格局。这些看法并没有太多精巧的设计和切割。事实上,以美国为代表的发达国家,正在大力推动数字货币的金融科技创新,通过完善监管来推动金融业的进步,并期望以此带动商业和经济的全面提升。 作为区块链技术的前沿阵地,美国将区块链上升到“变革性技术”层面,并且成立国会区块链决策委员会,不断完善与区块链技术相关的公共政策。欧盟努力把欧洲打造成全球发展和投资区块链技术的领先地区,建立“欧盟区块链观测站及论坛”机制,加快研究国际级“区块链标准”,并为区块链项目提供资金,预计到2020年将为区块链项目提供资金金额高达3.4亿欧元。韩国将区块链上升到国家级战略,全力构建区块链生态系统,推出“I-Korea 4.0区块链”战略,计划在物流、能源等核心产业内开展试点项目。 目前,从上市公司到初创企业,从商业领袖到技术大咖,都纷纷投身于这个充满无限可能性的技术领域。区块链革命已经到来,它对传统经济的颠覆将比互联网、移动互联网来得目前,从上市公司到初创企业,从商业领袖到技术大咖,都纷纷投身于这个充满无限可能性的技术领域。区块链革命已经到来,它对传统经济的颠覆将比互联网、移动互联网来得更加迅猛、彻底。 第一章,可编程游戏网络 TCCG可编程游戏网络是由“区块+链”构成的。 区块是在TCCG系统上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过未来的可编程游戏网络——TCCG的共识机制验证并确认区块中的交易。 TCCG可编程游戏网络由区块按照发生的时间顺序,通过区块的哈希值串联而成,是区块交易记录及状态变化的日志记录。 可以将TCCG可编程游戏网络理解成一个将各个节点连成一个链条的、分布式的公共账本,即一种点对点的记账系统,其中每一个节点都可以在区块链上面记录信息。其基本理念是通过建立一个基于网络的公共账本(数据区块),由网络中所有参与的用户共同在账本上记账,在未来的可编程游戏网络——TCCG中所有的数据都是公开透明的,且可被用于验证信息的有效性。这样,每一个区块包含了一组网络交易的信息,不需要信任中介就能在技术层面保证信息的真实性和不可篡改。 在TCCG可编程游戏网络中,一个节点就是一个数据库(服务器)。任何一个节点都可以记账,而且直接连接另外一个节点(即点对点模式),中间无须第三方服务器。当其中两个节点发生交易时,这笔加密的交易会广播到其他所有节点(记账),这一过程的目的是防止交易双方篡改交易信息。 打个比方,在一个100人的小镇里,约翰买了乔治家一头牛,约翰向乔治支付1万元。普通的做法是,约翰可以告知小镇里的会计戴维作为担保人(信任中介),将自己账下1万元转到乔治账下。但在TCCG可编程游戏网络的运行模式下,约翰无须再通过总记账人—会计戴维,而是直接将自己账本上的1万元转到乔治账本上;同时这笔交易信息也会同步传给全体村民(即整个区块链系统)。当村里的其他人知道并确认了这笔交易,交易才算最终完成。而且,因为这笔交易被加密处理,只有乔治才能收到这1 万元,而其他98人只能在账户记录中看到有这笔交易信息,但无法对这条交易记录做任何操作。此外系统可以完整记录交易过程,整个交易可以溯源。 假如约翰把这1万元误转给了丹尼,因为交易被加密,丹尼在没有密钥的情况下无法得到这笔转款。另外,如果约翰转完这1万元后又重复转给乔治1万元,因为其他98人已经收到过相同信息(即约翰已经转账给乔治1万元了),便不会再次确认这条重复信息,这种情况下这笔交易便不会成立。还有一种情况,约翰发起1万元转款后突然后悔,想私自把转的1万元改成100元,那么他需要将其他98人账户内的之前的交易信息都要由1万改成100元才可以,这实现起来相当困难。如果全网节点足够多(也就知道交易记录的人足够多),这样的修改需要极高成本(远高于交易成本),因而理论上这种修改是不能实现的。 这一交易过程中,在不通过担保人(去中心化)作为中介的情况下,全村人共同构成一个点对点网络为村民之间的交易提供担保。 看到这里,相信大家对于TCCG可编程游戏网络已经有了一定了解,上述例子就是TCCG可编程游戏网络运行的过程。 这个例子也初步揭示了TCCG可编程游戏网络的特性: 1.匿名性/Anonymous 由于TCCG可编程游戏网络各个节点之间的数据交换遵循固定的算法,其数据交互是无须信任中介的(区块链中的程序规则会自行判断数据是否有效),因此交易双方无须通过公开身份的方式让对方自己产生信任。 2.自治性/Autonomous TCCG可编程游戏网络试图通过构建一个可靠的自治网络系统,从根本上解决价值交换与转移中存在的欺诈和寻租现象。 在具体应用中,TCCG可编程游戏网络采用基于协商一致的规范和协议(一套公开透明的算法),各个节点都要按照这个规范来操作,这样就使所有的工作都由机器完成,使得对人的信任改成了对机器的信任,任何人为的干预不起作用。 3.开放性/Openness TCCG可编程游戏网络是开放的,除了数据直接相关各方的私有信息通过非对称加密技术被加密外,TCCG可编程游戏网络中的数据对所有节点公开,因此整个系统信息高度透明。 4.可追溯/Traceability TCCG可编程游戏网络通过区块数据结构存储了创世区块后的所有历史数据,TCCG可编程游戏网络上的任意一条数据皆可通过链式结构追溯其本源。 5.不可篡改/Tamper Proof 一条交易信息添加至TCCG可编程游戏网络后,就被TCCG可编程游戏网络上的所有节点共同记录,并通过加密技术保证这条交易信息与其之前和之后加至TCCG可编程游戏网络中的信息互相关联,从而使得对TCCG可编程游戏网络中的某条记录进行篡改的难度与成本非常高。 6.集体维护/Collectively Maintain TCCG可编程游戏网络是由其中所有具有维护功能的节点共同维护,所有节点都可以通过公开的接口查询数据和开发应用。 7.去中心化/decentralization 在TCCG可编程游戏网络中,每笔交易信息都会被记录在每一个节点的账本中,而每新增一笔交易,所有节点也都能成为该笔交易的“检查站”,并且使用密码学原理检测其正确性。由此,即使没有交易中心,各种交易仍能安全运行,信息透明度大幅提升,更不会有中心节点出错全盘皆错的安全性问题。 第二章,首次挖矿发行 伴随比特币和以太坊的成功,挖矿已由原来的个人电脑分散式挖矿发展到目前包括矿机厂商、大型矿场、大型矿池、云算力出售及租赁等丰富的生态系统。然而,随着挖矿难度的增长,算力几乎都集中到了大型矿场手中,个人参与挖矿变的越来越难。虽然已经出现了很多面向散户的云算力销售、租赁服务商,但存在很多实际问题。比如:算力完全由中心化的机构提供,无法保障算力的真实性及透明度;算力多与矿机绑定,拆分不便,对散户很不友好;算力多为一次性购买,流动性不足;散户出币量一般很少,对转账手续费要求极高。 TCCG(Trusted Crypto Competitive Games)矿机为算力生态提供算力和标准化、产出分配等基础服务。矿工接入算力后,可实现未来收益权的自由转让。用户可通过算力轻松获取透明可信、易流通的算力收益权。 TCCG(Trusted Crypto Competitive Games)总量极其稀少,总发行量为16亿枚,永不增发。TCCG(Trusted Crypto Competitive Games)是原生代币,依旧是权益代币。TCCG为算力生态提供基础服务的同时,会获得一定比例算力产出做为收益费用。随着TCCG算力生态的发展壮大,持有TCCG的持币用户还可以进一步获得TCCG生态的含支付手续费在内的各种潜在收益。 2.1矿机预售 TCCG(Trusted Crypto Competitive Games)节点矿机预售将于2020年9月开始。 1.节点矿机 全网总共一万台节点矿机,每台节点矿机的算力为100T,每台矿机预售价格为80U,相当于TCCG(Trusted Crypto Competitive Games)网络的一万个超级节点。为保障基石投资者的资产安全,节点矿机销售获得的资金全部质押在早期团队长手中,等项目启动一个月并且稳定运行时再将早期投资者资金注入平台方解锁矿机及该段时间内释放的代币。 节点矿机分3批预售,预售周期最长为30天。M1型号节点矿机总计2000台,于全部节点矿机预售结束后开挖;M2型号节点矿机总计3000台,于第一批矿机产币两天后开挖;M3型号节点矿机总计5000台,于第一批矿机产币四天后开挖。每台矿机可以挖60天,过期之后自动销毁。 2.抽奖矿机 抽奖矿机有效期为1个月,具体型号为: (1)T1矿机,每台1T算力,价值10U 满10个人开始抽奖,其中一个人抽奖获得矿机,另外九个人抽不中,赚得1U,每人每天最多抽500次,每人每天最多抽中100台T1矿机。 (2)T2矿机,每台10T算力,价值100U 满10个人开始抽奖,其中一个人抽奖获得矿机,另外九个人抽不中,赚得10U,每人每天最多抽50次,每人每天最多抽中10台T2矿机。 (3)T3矿机,每台100T算力,价值1000U 满10个人开始抽奖,其中一个人抽奖获得矿机,另外九个人抽不中,赚得100U,每人每天最多抽50次,每人每天最多抽中10台T3矿机。 2.2矿机挖矿网络 当第一批节点矿机接入TCCG(Trusted Crypto Competitive Games)网络后产生第一个区块时,该区块的区块奖励是2.4万枚,产生这一区块的耗时大概是30分钟左右,此时的流通总量是2.4万枚。 TCCG(Trusted Crypto Competitive Games)总量的百分之60(也就是9.6亿枚IPOS)由矿机挖矿产出,每个区块产出2.4万枚币,每半个小时一个区块,每天产出115.2万枚币。 1.第一次区块奖励减产 当矿机挖矿产出的流通总量达到3.2亿枚时,进行第一次区块奖励减半,每个区块的打包奖励由2.4万枚降为1.2万枚TCCG(Trusted Crypto Competitive Games)。挖矿成本提高,此时所有接入算力挖矿网络的矿机分配这30分钟所产出的1.2万枚TCCG(Trusted Crypto Competitive Games)。 2.第二次区块奖励减产 当矿机挖矿产出的流通总量达到6.4亿枚时,进行第二次区块奖励减半,每个区块的打包奖励由1.2万枚降为0.6万枚TCCG(Trusted Crypto Competitive Games)。挖矿成本提高,此时所有接入算力挖矿网络的矿机分配这30分钟所产出的0.6万枚TCCG(Trusted Crypto Competitive Games)。 当矿机挖矿产出的流通总量达到9.6亿枚时,挖矿发行总数量被永久限制在9.6亿枚以内,TCCG(Trusted Crypto Competitive Games)网络彻底稳定,不再进行区块奖励。此时,所有矿机将结束挖矿,全部转入粒子星球棋牌游戏。 不同于传统哈希值计算方式,TCCG(Trusted Crypto Competitive Games)矿机采用POS+POW的混合共识机制,每台矿机等同于一个算力值,TCGG基于矿机算力在全网总算力中的权重比例来进行配比分发。 2.3游戏挖矿 当第一批1万台节点矿机挖矿结束之后,开启游戏挖矿。TCCG(Trusted Crypto Competitive Games)总量的百分之40(也就是6.4亿枚TCCG)由游戏挖矿产出,每个区块产出0.9万枚TCCG,每半个小时一个区块,每天产出43.2000万枚TCCG。 当游戏挖矿总量达到1.6亿枚时,进行第一次区块奖励减半,每个区块产出缩减为4500个币;当游戏挖矿总量达到4.8亿枚时,进行第二次区块奖励减半,每个区块产出缩减为2250个币。 每人每天参加一局棋牌游戏即可拥有一次挖矿的机会,每个区块产出9000个币,每天产出432000个币,全网游戏挖矿用户均分币量,每24小时进行一次挖矿,参与用户每次挖矿产出的币量=当天产币总数/全网棋牌挖矿次数。 1.棋牌店主 全网共200名棋牌店主,每个人需要提交4万币,质押成为棋牌店主,全体棋牌店主均分享受全网棋牌游戏的百分之12分红。 2.棋牌领主 全网共招募100名棋牌领主,每个人需要提交8万币,质押成为棋牌领主,全体棋牌领主均分享受全网棋牌游戏的百分之13的游戏分红。 3.棋牌创世主 当全网棋牌挖矿产币量达到7000万时,开启动棋牌创世主模式。全网共招募50名棋牌创世主,每个人需要提交15万币,质押成为棋牌创世主,全体棋牌创世主均分享受全网棋牌游戏的百分之15的游戏分红。 4.推广分红 全网棋牌游戏的百分之30的游戏分分红用于游戏模块的推广拉新激励。 同级推荐(一代内有额外百分之二的分红收益) (1)直推10个有效用户,团队人数50人,直推业绩达到50T业绩,团队业绩1000T,拿团队抽奖矿机以及棋牌流水分红百分之8,门票价10U。 (2)直推20个有效用户,团队人数100人,直推业绩达到100T业绩,团队业绩2000T,拿团队抽奖矿机以及棋牌流水分红百分之14,门票价9U。 (3)直推30个有效用户,团队人数500人,直推业绩达到2000T业绩,团队业绩10000T,拿团队抽奖矿机以及棋牌流水分红百分之22,门票价8U。 (4)直推50人有效用户,团队人数1200人,直推业绩达到5000T业绩,团队业绩50000T,拿团队抽奖矿机以及棋牌流水分红百分之28,门票价6U。 5.兜底母币 全网百分之20的棋牌游戏盈利用于回购TCCG通证。 6.平台盈利 全网剩余百分之10的棋牌盈利用于平台生态建设。 2.4退出机制 在游戏挖矿时间内,如果有人想退出棋牌创世主模式,可以随时在平台上拍卖创世主位置,此外提交至平台拍卖也可向官方申请退币,官方会在7天之内退还代币。 2.5抽奖门票 抽奖门票的价格为12U,有效期7天,用户抽奖前需要用12U价值的IPOS跟官方购买,官方售卖门票取得的资金用于拉升托底TCCG的价格。 第三章,技术革新 3.1区块链技术发展简史 1982年,莱斯利·兰伯特提出拜占庭将军问题(Byzantine Generals Problem),把军中各地军队彼此取得共识、决定是否出兵的过程,延伸至运算领域,试图建立具有较高容错性能的分散式系统。在这一系统中,即使部分节点失效仍可确保系统正常运行,并且让多个基于零信任基础的节点达成共识,从而确保资讯传递的一致性。 大卫·乔姆提出注重隐私安全的密码学匿名现金支付系统。这一体系具有不可追踪的特性,也是区块链在隐私安全方面的雏形。 1985年,椭圆曲线密码学被提出。尼尔·科布利茨和维克多·米勒分别提出椭圆曲线密码学(Elliptic Curve Cryptography,ECC),首次将椭圆曲线用于密码学,相较于RSA算法,采用ECC的好处在于可用较短的密钥(在明文转换为密文或将密文转换为明文的算法中输入的一种参数),达到相同的安全程度。 1990年,大卫·乔姆基于先前理论打造出了不可追踪的密码学 匿名电子支付系统,也就是后来的ecash,不过ecash并非去中心化系统。 莱斯利·兰伯特提出具有高容错的一致性演算法Paxos。 1991年,斯徒尔特·哈伯与W·斯科特·斯托尼塔提出用时间戳确保数位文件安全的协议,此概念之后被比特币区块链系统所采用。 1992年,斯科特·万斯通等人提出椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)。 1997年,亚当·贝克发明Hashcash(哈希现金),Hashcash是一种工作量证明算法(Proof of Work,PoW),此算法仰赖成本函数的不可逆特性,达到容易被验证,但很难被破解的特性,最早被应用于阻挡垃圾邮件。Hashcash之后成为比特币区块链所采用的关键技术之一(亚当·贝克于2002年正式发表Hashcash论文)。 1998年,戴伟发表匿名的分散式电子现金系统B-money,引入工作量证明机制,强调点对点交易和不可窜改特性。不过在B-money中,并未采用亚当·贝克提出的Hashcash算法。戴伟的许多设计之后被比特币区块链所采用。 尼克·萨博发表去中心化的数字货币系统Bit Gold,参与者可贡献运算能力来解出加密谜题。 2005年,哈尔·芬尼提出可重复使用的工作量证明机制(Reusable Proofs of Work,RPoW),结合B-money与亚当·贝克提出的Hashcash演算法来创造加密数字货币。 2008年,中本聪发表了一篇关于比特币的论文,描述了一个点对点电子现金系统,能在不具信任的基础之上,建立一套去中心化的电子交易体系。第一代区块链由此诞生。 2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了比特币的第一个区块—创世区块(Genesis Block),并获得了首批“挖矿”奖励—50个比特币。在创世区块中,中本聪写下这样一句话:“财政大臣站在第二次救助银行的边缘”。 2014年,维塔利克·布特林(V神)发布以太坊白皮书,并提出智能合约的概念,以用于货币以外的数字形式资产的转移,如股票、债券等。开发者可以在以太坊网络上基于智能合约开发各种分布式应用(DAPP),这极大地扩展了区块链的应用场景,第二代区块链由此诞生。 2015年,这一年是区块链技术的高光时刻。旨在提升区块链系统性能、突破区块链网络运行速度瓶颈、拓展区块链应用场景的多个重要技术及应用都在这一年产生,包括IPFS(Inter Planetary File System,中文名叫星际文件系统)、闪电网络、石墨烯技术、Interledger支付协议(ILP)等。与此同时,区块链技术在实体经济当中的应用也渐入佳境。 2016年4月5日,去中心化电子商务协议OpenBazaar上线,它能够让点对点的数字商务成为可能,并使用比特币作为一种支付方式,类似于一个去中心化的“淘宝”。 2018年4月,22个欧盟国家签署了建立欧洲区块链联盟的协议,旨在使该联盟成为交流区块链技术和监管经验等专业知识的平台。美国政府同样关注区块链的发展,2018 年,美国国会、商务部国家标准与技术研究院等部门先后发布了多份区块链报告,认可了区块链的发展潜力,多个州对区块链技术的相关问题进行立法。此外,美国产业界也早已认识到区块链的发展潜力,纷纷从技术、底层平台到行业应用进行了深入探索,如Facebook的加密货币Libra计划等。 2020年10月,随着DEFI概念愈发火爆,基于区块链技术的可编程游戏网络——TCCG(Trusted Crypto Competitive Games)诞生,DEFI2.0——游戏挖矿时代即将到来。 3.2未来的可编程游戏网络——TCCG 1.令牌系统 令牌系统有很多应用,从代表如美元或黄金等资产的子货币到公司股票,甚至与传统价值完全没有联系的用来进行积分奖励的令牌系统。 在TCCG(Trusted Crypto Competitive Games)中实施令牌系统容易得让人吃惊。关键的一点是理解所有的货币或者令牌系统,从根本上来说是一个带有如下操作的数据库:从A中减去X单位并把X单位加到B上,前提条件是(1)A在交易之前有至少X单位以及(2)交易被A批准。实施一个令牌系统就是把这样一个逻辑实施到一个合约中去。 用Serpent语言实施一个令牌系统的基本代码如下: def send(to,value): if self.storage[from] >= value: self.storage[from] = self.storage[from] value self.storage[to] = self.storage[to] + value 2.身份系统 最早的替代币尝试使用一个类比特币块链来提供一个名称注册系统,在那里用户可以将他们的名称和其它数据一起在一个公共数据库注册。最常用的应用案例把象“bitcoin.org”(或者再域名币中,“bitcoin.bit”)一样的域名与一个IP地址对应的域名系统。其它的应用案例包括电子邮件验证系统和潜在的更先进的信誉系统。这是TCCG(Trusted Crypto Competitive Games)提供类似的名称注册系统的基础。 def register(name,value): if!self.storage[name]: self.storage[name] = value 合约: 任何人都可以把一个名称注册为一个值并永远不变,一个更复杂的名称注册合约将包含允许其他合约查询的“功能条款”,以及一个让一个名称的“拥有者”(即第一个注册者)修改数据或者转让所有权的机制,甚至可以在其上添加信誉和信任网络功能。 3.存储系统 对于目前大部分的基础公链而言,如何让大量的数据存储在自己的主链上是急需解决的问题。 由Protocol Lab提出的IPFS(Inter-Planetary File System)是一个典型的分布式文件系统。与现有Web不同的是,对于一个存放在IPFS网络的文件资源,通过这个文件资源的内容生成的唯一编码去访问。IPFS可以将数据分片存储到分布式的存储节点,在访问时不需要关心存储在哪里,可以从多个存储节点分片获取。 Protocol Lab提出了与IPFS相辅相成的Filecoin,这是一个公有的区块链,是IPFS的经济激励系统。世界各地的数据中心和硬盘中有大量闲置存储空间,Filecoin网络允许全球任何一方作为存储提供商参与其中,通过“桥接”功能与其他区块链公链相连接,从而为区块链提供存储规模。 如同Filecoin一样,TCCG(Trusted Crypto Competitive Games)也有其专属的分布式文件存储技术TCCGos。TCCGos是一套利用了Distributed Hash Table技术的分布式存储协议,TCCGos通过文件内容(Hash)而非文件路径(URI)来对数据进行索引,大文件将被分割为固定大小的数据块分布式地存储在众多节点中。 TCCGos计划通过代币激励机制和建立骨干节点的方式来解决这一矛盾。用户可以选择文件的可靠性要求,低可靠性的文件可以免费或几乎免费的被存储和访问,高可靠性的文件将由骨干节点提供稳定可靠的服务。 4.资产系统 假设Alice想确保她的资金安全,但她担心丢失或者被黑客盗走私钥。她把TCCG放到和Bob签订的一个合约里,可以把这份合同理解成为是一个银行: (1)Alice单独每天最多可提取1%的资金。 (2)Bob单独每天最多可提取1%的资金,但Alice可以用她的私钥创建一个交易取消Bob的提现权限。 (3)Alice和Bob一起可以任意提取资金。一般来讲,每天1%对Alice足够了,如果Alice想提现更多她可以联系Bob寻求帮助。如果Alice的私钥被盗,她可以立即找到Bob把她的资金转移到一个新合同里。如果她弄丢了她的私钥,Bob可以慢慢地把钱提出。如果Bob表现出了恶意,她可以关掉他的提现权限。 3.4支持用户在TCGG网络上进行开发 如果你想在TCCG网络上开发区块链系统。 我们假设你已经具备一点Go语言的开发经验,在安装和配置Go开发环境后之后,我们还要获取以下一些依赖: spew可以帮助我们在console中直接查看struct和slice这两种数据结构。 Gorilla的mux包非常流行,我们用它来写web handler。 godotenv可以帮助我们读取项目根目录中的.env配置文件,这样我们就不用将http、port之类的配置硬编码进代码中了。比如像这样: 接下来,我们创建一个main.go文件。 1.导入依赖 我们将所有的依赖包以声明的方式导入进去: 2.数据模型 接着我们来定义一个结构体,它代表组成区块链的每一个块的数据模型: Index是这个块在整个链中的位置; Timestamp显而易见就是块生成时的时间戳; Hash是这个块通过SHA256算法生成的散列值; PrevHash代表前一个块的SHA256散列值。 BPM即每分钟心跳数,也就是心率。 接着,我们再定义一个结构表示整个链,最简单的表示形式就是一个Block的slice: 我们使用散列算法(SHA256)来确定和维护链中块和块正确的顺序,确保每一个块的PrevHash 值等于前一个块中的Hash值,这样就以正确的块顺序构建出链。 3.散列和生成块 我们为什么需要散列?主要是两个原因: 在节省空间的前提下去唯一标识数据。散列是用整个块的数据计算得出,在我们的例子中,将整个块的数据通过SHA256计算成一个定长不可伪造的字符串。 维持链的完整性。通过存储前一个块的散列值,我们就能够确保每个块在链中的正确顺序。任何对数据的篡改都将改变散列值,同时也就破坏了链。以我们从事的医疗健康领域为例,比如有一个恶意的第三方为了调整“人寿险”的价格,而修改了一个或若干个块中的代表不健康的BPM值,那么整个链都变得不可信了。 我们接着写一个函数,用来计算给定的数据的SHA256散列值: 这个calculateHash函数接受一个块,通过块中的Index,Timestamp,BPM,以及PrevHash值来计算出SHA256散列值。接下来我们就能便携一个生成块的函数: 其中,Index是从给定的前一块的Index递增得出,时间戳是直接通过time.Now()函数来获得的,Hash 值通过前面的calculateHash函数计算得出,PrevHash则是给定的前一个块的Hash值。 4.校验块 搞定了块的生成,接下来我们需要有函数帮我们判断一个块是否有被篡改。检查Index来看这个块是否正确得递增,检查PrevHash与前一个块的Hash是否一致,再来通过calculateHash检查当前块的Hash值是否正确。通过这几步我们就能写出一个校验函数: 除了校验块以外,我们还会遇到一个问题:两个节点都生成块并添加到各自的链上,那我们应该以谁为准? 通常来说,更长的链表示它的数据(状态)是更新的,所以我们需要一个函数能帮我们将本地的过期的链切换成最新的链: 到这一步,我们基本就把所有重要的函数完成了。接下来,我们需要一个方便直观的方式来查看我们TCCG(Trusted Crypto Competitive Games)网络上的数据及状态。通过浏览器查看web页面可能是最合适的方式! 5.Web服务 我猜你一定对传统的web服务及开发非常熟悉,所以这部分你肯定一看就会。借助Gorilla/mux包,我们先写一个函数来初始化我们的web服务: 其中的端口号是通过前面提到的.env来获得,再添加一些基本的配置参数,这个web服务就已经可以listen and serve了! 接下来我们再来定义不同 endpoint 以及对应的handler。例如,对“/”的GET请求我们可以查看整个链,“/”的POST请求可以创建块。 GET请求的handler: 为了简化,我们直接以JSON格式返回整个链,你可以在浏览器中访问localhost:8080 或者 127.0.0.1:8080来查看(这里的8080就是你在.env中定义的端口号ADDR)。 POST请求的handler稍微有些复杂,我们先来定义一下POST请求的payload: 6.handler的实现 我们的POST请求体中可以使用上面定义的payload,比如: 还记得前面我们写的generate Block这个函数吗?它接受一个“前一个块”参数,和一个BPM值。POST handler接受请求后就能获得请求体中的BPM值,接着借助生成块的函数以及校验块的函数就能生成一个新的块了! 除此之外,你也可以: 使用spew.Dump 这个函数可以以非常美观和方便阅读的方式将struct、slice等数据打印在控制台里,方便我们调试。 测试POST请求时,可以使用POSTMAN这个chrome插件,相比curl它更直观和方便。 POST请求处理完之后,无论创建块成功与否,我们需要返回客户端一个响应: 接下来,我们把这些关于区块链的函数,web服务的函数“组装”起来: 这里的genesisBlock(创世块)是main函数中最重要的部分,通过它来初始化区块链,毕竟第一个块的PrevHash是空的。 刚刚我们在TCCG(Trusted Crypto Competitive Games)上完成了一个自己的区块链,虽然很简单,但它具备区块生成、散列计算、区块校验等基本能力。 第四章,市场前景 4.1东南亚竞技游戏市场 东南亚地区竞技游戏用户庞大,以太阳城为例日吞吐量超过一亿人民币,已经形成一条异常庞杂的产业链,各个国家甚至有专门的经济特区为针对中国地区线上及线下竞技游戏业务提供政策性和安全性支持,总体来看整个东南亚地区的日资金吞吐量不低于二十亿人民币,以至于东南亚竞技游戏行业年吸金六千亿的新闻屡见报端。 TCCG(Trusted Crypto Competitive Games)作为新一代匿名币坐拥东南亚市场资源,依靠去中心化矿机体系,可以较好的为东南亚各类竞技游戏提供各类服务并从中攫取利润。 在未来,TCCG(Trusted Crypto Competitive Games)网络还会开通斗地主、龙虎斗、麻将、牌九等娱乐游戏,并且只能使用由平台母币TCCG参与游戏,想玩游戏必须自己抽矿机或者直接在平台买币玩,平台的盈利点在于游戏的抽水。 在不久的将来,TCCG网络甚至会升级为公链并且公布核心算法鼓励社区成员购买或者制作实体矿机进行挖矿,真正成为去中心化的竞技游戏网络。 4.2全球范围跨境清结算 跨境支付(Cross-border Payment)是指两个或者两个以上国家或者地区之间因国际贸易、国际投资及其他方面所发生的国际债券债务借助一定的结算工具和支付系统实现资金跨国和跨地区转移的行为。如中国消费者在网上购买国外商家产品或国外消费者购买中国商家产品时,由于用于支付的币种不一样,就需要通过一定的结算工具和支付系统实现两个国家或地区之间的货币转换,最终完成交易。 目前为止,由于各国金融管制的原因,传统的跨境支付方式具有以下痛点: 首先是费用极高,跨国支付一般分为三个环节。买家支付货款参与平台账户→平台资金转到海外银行账户→海外银行账户再转到国内银行账户。目前国内的中小跨境电商企业只能选择国外的一些国际第三方跨境收款平台收回自己的销售款项,在这种方式下,企业通常需要支付给第三方机构2%~3%的转款、结汇费用。全球一共只有几家企业在做跨境汇款业务,它们利用手中的垄断资源,收取高额的手续费。 其次是资金回收极慢,因欧美金融支付体系和中国金融支付体系区别很大,资金在这两个支付体系中流转时也需要大量时间,导致中国商户资金周转慢。 最后是资金安全性无法保证,由于境外机构不受中国监管,导致部分业务处于灰色地带,另外,由于这些境外机构在中国的渠道极不稳定,也使资金安全性受到影响。 区块链支付采用的去中心化技术,使得交易双方不再需要依赖一个中心机构来负责资金清算,而是基于一个不需要信任协调的共识机制算法直接进行价值转移。因此,区块链支付为跨境支付提供了较传统汇款方式更好的解决方案。 具体而言,TCCG(Trusted Crypto Competitive Games)在跨境支付中的应用将为行业带来以下改变。 (1)降低跨境支付风险 在传统的支付流程中,最大风险在于无法保证进口商资金支付、出口商的货物发货信息是否真实有效。进口商在通过银行汇款之后,无法详细了解中间的支付环节,也无法干预资金的转移支付,更无法及时了解出口商的发货信息,因此贸易双方只能依据双方的商业信用进行交易,存在一定的交易风险。 基于区块链技术的跨境支付,通过区块链技术将所有参与支付结算的节点,包括进口商和出口商等各类机构连接起来,共同维护支付交易信息,共同参与一致性校验。在进口商在通过区块链支付之后,如果未能收到真实有效的出口商发货信息,那么在一致性校验环节,进口商将否认该笔支付信息,出口商将无法收到该笔汇款。因此,通过区块链支付,所有交易相关方可以共同维护交易记录,共同参与验证交易信息,进而大大降低国际贸易中的支付风险。 (2)提高跨境支付效率 在传统支付流程中,进口商的汇款最终都是由银行完成的。银行间支付经常由中央交易方完成,每一个中间交易方都有一个本地数据库,作为一个权威总账,记录了所有账户余额和交易流水。在这种具有中间参与方的交易中,必然经过两个复杂的业务处理:第一,所有参与支付的银行,必须对交易信息进行对账,并将所有交易信息同步到中间结算方;第二,中央交易方要在抵消不同账户的借贷后,才执行最终的支付。因此,在传统跨境支付中,需要非常复杂的交易处理。采用区块链支付的解决方案,由于区块链上所有参与节点共同维护验证信息,保证了信息的一致性,因此,在区块链支付中无须复杂的信息同步和对账,大大提高跨境支付的效率。 (3)节省银行业务资源 在传统跨境支付中,银行间支付采用权威的中央交易方来为借贷双方支付结算。为了最小化交易对手风险,每一个银行都必须为关联银行建立一套支付网络,为每一个关联银行设立单独的准备金账户,因此需要大量的准备金用于跨境支付。 在区块链支付体系中,不同银行之间可以基于联盟链实现,这样在不同货币之间进行汇兑支付时,可以摆脱中间关联银行的参与,直接进行实时支付;在基于区块链的支付平台中,每家银行只需一个储备金账户,可以节省本来要存储在中间交易方的备用资本金,当大量银行参与到这个网络中时,该解决方案就显得更加有吸引力。因此,基于区块链技术的跨境支付能大大节省银行的资源。 第五章,参考文献 1. W Dai,a scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help,“B-money”,http://www.weidai.com/bmoney.txt,1998 2. W.Feller,"An introduction to probability theory and its applications," 1957 3. H.Massias,X.S.Avila,and J.-J.Quisquater,"Design of a secure timestamping service with minimal trust requirements,"In 20th Symposium on Information Theory in the Benelux,May 1999. 4. S.Haber,W.S.Stornetta,"How to time-stamp a digital document," In Journal of Cryptology,vol 3,No.2,pages 99-111,1991. 5. D.Bayer,S.Haber,W.S.Stornetta,"Improving the efficiency and reliability of digital time-stamping,"In Sequences II: Methods in Communication,Security and Computer Science,pages 329-334,1993. 6. 5.S.Haber,W.S.Stornetta,"Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security,pages 28-35,April 1997.on Computer and Communications Security,pages 28-35,April 1997. 7.A.Back,"Hashcash-a denial of service counter-measure,"http://www.hashcash.org/papers/hashcash.pdf,2002. 本文来源:区块链逍遥子 —- 编译者/作者:区块链逍遥子 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
DEFI2.0项目解析——区块链技术的可编程游戏网络TCCG
2020-09-02 区块链逍遥子 来源:火星财经
LOADING...
相关阅读:
- 一文读懂:太阳币SUN是什么?如何挖矿?2020-09-02
- Filecoin挖矿大测评2020-09-02
- 六大权威机构评估FIL,上线后六年内币价大有可能会超10000美金!如此疯2020-09-02
- PCT智慧媒体链与超级节点陕西优塔橙座谈会 有你想要的干货2020-09-02
- 站在风口,猪都能飞起来:踏空DeFi并不遗憾,YAM V3启动,回锅的红薯还2020-09-02