单线程的每秒交易处理超过百万(10,000 TPS per second)最终的性能以及潜力应该远远不止10000TPS,最高可以达到数百万TPS,并且并行本地链甚至可以达到毫秒级的确认速度。
区链的特点是数据上链以后,数据公开透明、不可篡改,其保证了数据可信。KnackChain会把四类信息保存在区块链上:游戏运营商、平台提供者、用户的账户信息、合约执行记录。状态信息上传至区块链,使得区块链数据无法更改,从根本上杜绝玩家用户最担心的数据造假问题和恶意作弊的问题。
自主性:KnackChain的创新在于第一次构建了游戏开发者与玩家在一个自主运行平台的机会,基于石墨烯底层搭建的智能合约将在区块链上自主运行逻辑来进行保障平台运作,这保障了Kkchain平台的所有运行都是公开可验证,数据公开透明、不可篡改,其保证了数据可信。
去中心化:传统中心化的线上业务极其容易受到黑客、政府的法规和繁重运营费用的困扰。去中心化的特点可以使得人们玩游戏不依靠传统服务器、减少运营的监管负担,并保护反欺诈和盗用公款等组织腐败,确保游戏公平、公正、公开,杜绝中心化可以为制造输赢概率和用外挂等问题,让玩家提升更优质的娱乐游戏体验。
用户隐私保护:此外,用户关键信息、各运营商的数据信息,也经过隐私脱敏处理,并且在区块链安全层经过加密处理,达到保护用户和客户隐私的目的。
价值的流通:KKC的引入把玩家保障性通过区块链技术实现价值量化,使价值可以流通、变现,通过对用户进行Token支付游戏币,这个更好的激励机制,更好的激发了用户的主观能动性和积极性,并利用区块链去中心化和数据公开公正透明的特性,来解决了游戏信任问题,形成可靠的数据流闭环。
激励系统:通过KKC对用户娱乐进行标记,并将使用智能合约将运行结果写入KnackChain,KKC是KnackChain的股票,是唯一能在KnackChain上流通的官方法定Token,负责在KnackChain dapp平台的消费以及手续费的消耗。手续费将用于游戏开发者以及主节点的奖励。
用户权益保障系统:KKC是用户通行于全球KnackChaindapp经济系统的唯一凭证,KKC具有信用储存与身份标记的双重价值。用户获取、消耗KKC的记录将作为核心身份信息被记录在区块链网络中,并得到KnackChain的承认与继承,平台会给更高信用的用户提供更高的权限。
链上去中心化资产置换平台
资产置换
KnackChain为用户提供一个安全、简洁、交互友好、性能强大的链上去中心化资产置换平台,中心化的交易所与机构被屡屡证明不可靠,无法信任。无论是Mt.Gox,BitStamp资产。无论他们有多么庞大,或者有多少安全保护措施,都有可能发生各种欺骗,滥用,甚至是盗窃行为。现在这种行为在世界各地的交易所和银行频繁发生,虽然有一些链上去中心化资产置换平台所出现,希望改变这一切,但始终留一定有缺陷,或是用户互交复杂,或是性能低下。KnackChain将使用区块链3.0技术打造一个性能强劲、用户界面友好、资产安全、隐私安全、低手续费的分布式全球链上去中心化资产置换平台。平台允许用户以优质资产或现金置换纳克链游戏价值或平台其他可置换资产,用以参与价值服务购买和其他功能消费,实现价值流通。
锚定资产或置押
资产抵押机制是KnackChain最核心的部分,它在KnackChain的系统中通过建立200%的抵押来创建。KKUSD除了能够拥有KKUSD所有的特点,并且还能够有美元稳定的价格, 在任何时候,你都可以通过卖出KKUSD而获得价值约1美元的KKC。而在任何时候,抵押品的价值低于某个点之后,区块链会自动买回KKSUD,并且返还价值1美元的KKC。只要KKC它本身在合理的价格波动范围内,那你持有KKUSD时,它的价值将会一直锚定美广泛使用的数字货币还没有出现过这么大范围的价格波动,这意味着除非是KnackChain本身协议和软件出现了问题之外,否则没有什么因素能够影响KKUSD的价格,当你把持有KKUSD的价值将继续只要KnackChain本身具有合理的波动与美元挂钩。
期货杠杆
用户以金融期货的买卖形式购入游戏价值,通过杠杆操作,只需要存入某百分比的保证金,作为应付资产价格波动之储备,就可以买卖价值 100%的期货合约。当市场剧烈波动时,参与者面临的风险为获利或亏损本金的数十以至数千倍或更多。交易收市后,平台会根据收市价,计算结算价,来锚定未平仓合约价值,并在保证金内调整未实现盈利或亏损。如未实现亏损含保证金跌低于维持水准,持仓者就需追加保证金,否则需平仓止蚀(俗称清仓)。
资产发布
用户或DAPP开发者可以在纳克链上发布任何自有资产,平台上用户间可自行沟通、 交易等,由区块链技术保障信息可信,确保用户的个人隐私和交流数据的安全。
KnackChain技术
KnackChain 的区块链底层技术
Blockchain 技术源于 2008 年推出的比特币,自那时以来,企业家和开发人员一直在努力推广该技术,以便在单个块链平台上支持更广泛的应用。
虽然一些通用区块链平台还在努力实现第一个能正常运行的区块链应用,由于现有的区块链平台使用费用高昂,性能有限,阻碍了区块链应用的广泛传播。
KnackChain 使用石墨烯 3.0 区块链架构设计,代表着区块链 3.0 时代的正式到来。
KnackChain 性能
支持数百万 TPS 级别用户数据吞吐量
例如 Ebay,Uber,Google 和 facebook 这样的应用,需要能够处理数千万日活跃用户的区块链技术。否则在某些情况下,DAPP 可能无法正常工作,除非达到了强大性能,因此可以处理大量用户数量的平台至关重要。
轻松升级和 Bug 恢复
基于 KnackChain 的应用程序在进行功能迭代的时候自然需要能支持软件升级。所有软件都有可能受到 bug 的影响,一个区块链底层平台在遭遇 bug 的时候,需要能够从 bug 中修复错误。
确认速度
并行本地链甚至可以达到毫秒级的确认速度。
低延迟
及时的反馈是良好用户体验的基础。延迟时间如果超过了几秒钟,会大大影响用户体验,严重降低程序的竞争力。
KnackChain 串行性能
有些应用程序由于命令执行必须是顺序的,从而无法用并行算法进行实现。诸如交易所之类的应用经常需要处理大量的串行操作,因此一个成功的区块链架构需要具有强大的串行性能。大规模应用程序需要在多个 CPU 和计算机之间划分工作负载。
亮点:
商业分布式区块链操作系统
1.它可以扩展至每秒处理百万级交易,消除用户的手续费,并且允许快速和轻松的部署去中心化的应用。
2.开发者友好的区块链底层平台。
3.跨链消息传递机制。必须等到其他区块链不可逆确认后才接受其有效的输入。
4.独立的脚本语言。
5.账户恢复。
6.并行的,无互斥锁单线程的每秒交易处理超过一万(10,000 TPS per second)最终的性能以及潜力应该远远不止 10000 TPS。
7.EOS 不会像以太坊那样遭受 Dos 攻击。
8.真正去中心化机制,不可篡改,解决信任问题。
二进制 EVM 程序
基于数学的密码学货币网络为智能合约提供了重要的构件有价值的数字资产,它可以通过加密签名进行转移。例如比特币和瑞波协议中的资产被公/私钥账户所拥有。当交易带有只有账户所有者的私钥才能产生的签名时,支付就被执行了。
智能合约能够创建这样的加密签名,从而被指定为任何类型数字资产的部分或者完全的所有者。
智能合约主要有以下三个关键步骤:
• 将合约条款翻译成代码。因为数字系统是完全确定的(所以合约的所有可能的结果,包括对违背合约行为的惩罚和仲裁者非确定的)必须明确地说明。
• 就将要运行的代码达成一致意见。实际上,合约参与方应用广泛使用的结构化合约模块建立他们的合约。一旦这些合约被同意,保证最终执行的代码是先前的代码是非常重要的。
• 以值得信任的方式执行代码。代码必须由中立的第三方或者一组独立的、极不可能勾结的实体运行。智能合约也可以不用执行代码,细节参见线下合约部分。
使用智能合约而不是传统合约的好处是更快的执行速度,更加有效和精确的按照达成的协议进行。
下面详细描述多方用户共同参与制定一份 “智能合约”的过程,包括如下步骤:
• 首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。
• 两个及两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语育参与者分别用各自私钥进行签名,以确保合约的有效性。
• 签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。下面详细描述步骤二 “合约通过 P2P 网络扩散并存入区块链”的过程,包括如下步骤:
• 合约通过 P2P 的方式在区块链全网中扩散,每个节点都会收到一份区块链中的验证节点会将收到的合约先保存到内存中,等待 W 轮的共识时间,触发对该份合约的共识和处理。
• 共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合,并算出这个合约集合的 Hash 值,最后将这个合约集合的 Hash 值组装成一个区块结构,扩散到全网;其它验证节点收到这个区块结构后,会把里面包含的合约集合的 Hash 取出来,与自己保存的合约集合进行比较同时发送一份自己认可的合约集合给其它的验证节点;通过这种多轮的发送和比较,所有的验证节点最终在规定的时间内对最新的合约集合达成一致。
• 最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息当前区块的 Hash 值与前一区块的 Hash 值达成共识时的时间戳,以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才会最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。
下面三步骤描述了 “区块链构建的智能合约的自动执行”的过程,包括如下步骤:
• 智能合约定期检査自动机状态,逐条遍历每个合约的内包含的状态机、事务以及触发条件将条件满足的事务拙送到待验证的队列中,等待共识,未满足触发条件的事务将继续存放在区块链上。
• 进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块性交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。
• 事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕:整个事务和状态的处理都由区块链底层内置的智能合约系统自动完成,全程透明不可篡改。
• 共识算法(DPOS)
股权证明机制的新实现方式,该方式可以对交易进行秒级验证,并且能够在更短的时间内提供比现有的任何股权证明系统都更好的安全性。
DPOS 能更快达成共识,同时消除干扰性。
51%的股东投票的结果是不可逆且有约束力的,其挑战就是通过及时而高效的方法。
达到 51%的批准。
该模式可以 3 秒产生一个新区块,并且在正常网络条件下区块链分叉的可能性极小,即使发生也可以在几分钟内得到解决。
可以想象对每一个攻击者对每名轮到生产区块的代表依次进行拒绝服务器攻击。幸运的是,由于事实上每名代表标示是其公钥而非 IP 地址,这种特定攻击的威胁很容易被减轻。这将使 DDOS 攻击目标更为难而代表之间潜在直接连接, 将使妨碍他们的区块生产变得更为困难。
• 有抵押的区块链 IOU
锚定资产(KKUSD)系统是锚定系统最核心的部分,它在 KKUSD 的系统中通过建立200%的抵押来创建。KKUSD 除了能够拥有 KKUSD 所有特定,并且还能够有美元稳定的价格。在任何时候,你都可以通过卖出 KKUSD 而获得价值 1 美元的 KKC。在任何时候,抵押的价值低于某个点之后,区块链会自动买回 KKUSD,并且返还价值1 美元的 KKC。
只要 KKUSD 它本身在合理价格波动范围内,那你持有 KKUSD 时,它的价值将会一定锚定美元。这里所说的合理范围,已经囊括比特币在整个它生命周期内出现过最大波动范围即使 KKUSD 价格在 24 小时内跌至开始价格的 1/3 也不会有什么问题。那些目前已经被广泛使用的数字货币还没有出现过这么大范围的价值波动。这意味着除非 KCCUSD 本身协议和软件出现了问题之外,否则没有什么能影响到 KKUSD 的价格。
当你把你的持股 KKUSD 的价值将继续只要 KKUSD 本身具有合理的波动与美元挂钩。当我说合理的,我的意思是它可以处理比特币已经见过它的续航时间较大波动。KCCUSD 的价格必须下降到不足 1/3 的起拍价在不到 24 小时,然后呆在那里。不合法的,广泛采用的加密货币已经见过那种价格波动。这意味着,KKUSD是安全反对几乎一切,但在 KKUSD 协议本身就是一个无法修复的软件错误。到时候 KKUSD 成熟的水平比特币在今天,你可以期望那种错误的概率是相似的比特币那种具有那种错误的。
• 智能预言机
• 智能合约的目的是被触发通过事件,由预言机向链上报告,进行基于数据输入预先设定的任务。因此,一个预言机的主要任务之一是向智能合约提供信息。
• 区块链在数字世界中存在,只能访问到被反馈到他们的数据即只能存取链上的数据。在区块链生态系统,预言是提供访问外部数据。可以从任何可行的来源建立无法篡改的公共数据。
• 智能预言机(smart oracle)提供了一种简单、灵活的实施智能合约(smartcontract)的方法,将商业逻辑,法律和其它一致同意的规则翻译成代码。智能预言机建立在预言机,或者向智能合约提供真实外在世界信息的实体的理念上。在这样的系统内,规则可以被任何一种编程语言翻译成代码,让基于智能合约的 DAPP 应用无需信任地取得外部信息和数据。这包括,但不限于密码学货币网络。一种智能预言机,称为 Codius(代码即法律)。
• 随机预言机
• 根据密码学原理,随机数的随机性检验可以分为三个标准:
• 统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1 的数量大致等于 0 的数量,同理,“10”“01”“00” “11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。
• 密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法不能有效的演算出随机样本的剩余部分。
• 真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉。
• (比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
• 相应的,随机数也分为三类:
• 伪随机数:满足第一个条件的随机数。
• 密码学安全的伪随机数:同时满足前两个条件的随机数,可以通过密码学安全伪随机数生成器计算得出。
• 真随机数:同时满足三个条件的随机数。
• 随机数在密码学中非常重要,保密通信中大量运用的会话密钥的生成即需要真随机数的参与。如果一个随机数生成演算法是有缺陷的,那么会话密钥可以直接被推算出来。若果真发生这种事故,那么任何加密算法都失去了意义。
• 密码学中大量利用伪随机数生成器的应用还有流密码。流密码的著名例子是RC4。流密码的原理是利用一个密码学安全的伪随机数生成器根据密钥产生一串密码学安全的伪随机比特列,再将消息与上述随机比特列按位异或运算。
• 目前没有数学证明表示密码学安全的伪随机数生成器是确实存在的,其存在性证明涉及到 P 和 NP 的数学难题。
• KnackChain 区块链上的随机数
• 作为一种公平的区块链合约,必须要用一套良好的随机数分发方案。而 KKC的验证公平系统可以保证游戏结果的绝对公平,随机数的产生由随机预言机内生成系统从区块链智能合约中获得的随机数据作为游戏结果产生的基本依据。从区块链中获取随机数种子而保证了验证过程的公平性,不可逆及可追溯性二生成随机数的种子取自当前区块时间戳后的未来交易,确保随机数种子决不可预测。
• 相比以公钥和私钥为基础的随机方式,由于私钥提前产生,不可避免带来被窥知的风险,而 KnackChain 的随机过程具有更高更绝对的可靠性,而为了随后供人验证公平性只要直接从已知区块链中得到数据进行验证即可。
• 匿名交易系统
• 那么匿名交易怎么运用到 KnackChain 交易过程中呢? 我们回顾比特币和KnackChain 的例子。
• Alice 要向 Bob 转一个单位的数字货币(BTC/KKC)即 Alice 要向 Bob 转移一个单位的资产所有权。这时有以下两个方法:
• (一)比特币中的做法:Alice 拥有一张 1BTC 的支票,要转账给 Bob 时,先给 Bob 新建一张 1BTC 的支票,同时当着 Bob 的面将自己原先的支票撕毁。
• (二)KnackChain 中的做法:Alice 拥有一张 1KKC 的支票,要转账给 Bob时,先给 Bob 新建一张 1KKC 的支票,然后在一张约定有效的作废列表中,记录下 Alice 的发票的代号,证明 Alice 的支票已经失效。
• KnackChain 的方法属于零知识证明。整个交易过程中,Bob 并没有见过Alice 的支票,但是还是实现了资产所有权的转移。在 KnackChain 的整个交易系统中,Alice 和 Bob 的交易还有其他见证者,即负责记录交易信息的主节点。同样道理,主节点也不必看到 Alice 的支票,只要能确定代号为 r1 的支票已经作废了就行。
• KnackChain 完整的匿名交易系统。
• 有了上述铺垫,就可以进一步解释 KnackChain 的匿名交易过程了。
• 还是那个例子:Alice 转 1 个 KKC 给 Bob。这个例子中有涉及到的角色有转账双方 Alice 和 Bob,以及记账者(主节点)。
• 首先是 Alice 和 Bob 都有了一张支票。
• 这两张“支票”都是有效的。Alice 的支票开始就存在于整个 KnackChain网络,Bob 的支票在生成后也会被广播到全网。
• 为了隐藏交易者信息,要对两张支票进行加密处理。在全网中存在的“支票”其实是这样子的,信息都是被加密的,可以通过拥有者的私钥解密。
• 同时,因为资产只能有一份,所有主节点手里还有一个作废列表。Alice 要同时广播自己的“发票代号”录入作废列表中。发票代号也是加密的,所以主节点们能看到的信息其实是这样的。其中 Alice 的支票是原先存在的,Alice 的支票代号 r1 和 Bob 的支票是在交易过程中被 Alice 广播的。
• 主节点们能获取的信息相当有限,但是这并不影响对主节点对交易有效性的判断。
• 判断的逻辑相当简单:KnackChain 主节点拿到 Alice 给的支票代号 r1,去作废列表中检索,假如作废列表中已经存在 r1,则证明 r1 所对应的的支票早已失效;若作废列表中并不存在 r1,则证明 r1 对应的支票仍旧有效,此时主节点把r1 录入作废列表中,把新生成的支票录入支票列表中。所以记账的过程就是对原有支票登记失效,并存入现有支票票的过程。
• 在这个过程中,我们不难发现,每笔交易 KnackChain 主节点能接收到的东西只有一个发票代号,和一张新的发票,而且这两样东西都是被加密的。所以主节点并不知道转账双方是谁,也不知道转账金额是多少。
• 动态区块
• 最佳的区块大小
• 用户们的需求——快速的确认时间,合理的收费,还有良好的安全机制。
• 我们已经看到了区块链在高峰时段时蜗牛一般的速度,理想区块的大小需要保证在区块被填充到 80%时,确认时间不会膨胀,同时收费和安全性比较合理。
• 一、2MB 的区块目前已经跟上网络的需求,尽管在拥堵时段时处理交易的过程中,还有这不可取的延迟和昂贵的收费。
• 二、让主节点利益最大化的最佳区块大小,应该是小到填充率达 95%以上后可以导致网络拥堵的任意大小。拥挤和对用户的跨越式收费方案将是主节点游戏最好的开始。
• 三、当区块被填充到 80%以上的时候,交易确认时间就开始膨胀。在这种情况下,收费是合理的。但是不能过高,也不能低到严重影响比特币的安全模式。毕竟区块奖励在未来几年有所减少。
• 所谓最佳网络,完全基于经济博弈论,需要平衡安全、主节点收入、网络速度、交易的低成本。
• 考虑到这些限制,最佳区块大小必须是动态的,适应网络交易的需求,尽可能保持它的最佳状态。我们的目标就是保持区块 80%的填充率。
• 在这种设置下,中间的确认时间就不会受到影响,但是仍将为主节点保持足够需求量,显著地推动收费市场。因此未来几年,支付网络的安全性能够得到保障。但是,收费还是会比今天的堵塞驱动价便宜 4 倍。
• 就这点而言,Monero 计算动态区块大小的办法,即根据网络负载进行调整的算法,似乎是最佳的解决方案。
• 区块链数据缓冲
• 数据缓冲区是由两个操作创建的:数据缓冲区实体的创建和实际内存的分配。然而事实上,在实际数据变得可用之前,不需要分配实际的内存 --即可以将两个操作分离开来。
• 最初可以使用内存块的一个空链表来创建一个抽象缓冲区。抽象数据缓冲区仅在实际数据变得可用时才分配内存。释放内存也变成了抽象数据缓冲的责任。
• 由于没有哪一方需要管理内存,确定缓冲区的大小就变得不必要了,仅当存在额外数据空间时才会复制数据。
• 代码开源(opensource)
• 为什么要开源?
• 证明确实是基于区块链 3.0 底层技术打造的
• 先简单回顾一下历史,开源源自 Unix 最初的发展史,无数顶级的技术专家参与了其中的开发。Unix 是目前还在存活的操作系统的元老了,走过了 40 年的历程。在这之后,Linux 横空出世。Linus Torvalds 在 Linux 发布的时候就决定让它自由扩散,包括源代码,随即引起了黑客们的注意,通过计算机网络加入了Linux 的内核开发。
• 虽然 Linux 并不是第一个开源软件,但它是迄今为止最为成功和最具影响力的操作系统,最流行的 Android 系统也是基于 Linux。和 Linux 一起诞生的, 还有 GitHub,GitHub 最初由 LinusTorvalds 编写,用作 Linux 内核代码的管理。在推出后,GitHub 在其它项目中也取得了很大成功,尤其是在 Ruby 社区中。目前,包括 Rubinius、Merb 和 Bitcoin 在内的很多知名项目都使用了GitHub。作为开源代码库以及版本控制系统,Github 拥有 140 多万开发者用户, 而 KnackChain 的代码就托管于 GitHub,如果你感兴趣可以下载、复制、修改或者 Fork 它。在区块链的圈子里,开源渐已成势,无论公司大小都在开源;个人开发者更不必说,github 已是标配。
• 其实,对于开源与闭源一直都是人们争论的一个话题。开源总是有利于系统和软件的发展,人们可以从源代码中学到很多东西,也可以发现一些问题进行解决,大家相互学习相互提高,使系统使用起来更完善,更流畅。
• KnackChain 主链上线后将开源全部源代码,作为一个非盈利的社区化的区块链项目,开源对 KnackChain 来说至关重要,是 KnackChain 生态的重要一环。
评论
查看更多