区块链应用

Hycon(HYC)介绍、网址及交易平台

Hycon 来源:区块网 2018-12-11 09:13

在当今手机电子银行的世界里,钱正从一种攥在手里、看得见摸得着的东西,变化成互联网上一串串跳动的数字。在这样的背景下,一种存在于加密字符串代码中、被称为“加密货币”的新的货币形式应运而生。这场数字货币的革命始于 2008 年,当时还不知名的中本聪(Satoshi Nakamoto)发布了比特币白皮书。

现在,几乎每天都有新的加密货币诞生,而它们都有一个共同点:底层技术架构都是——区块链。

区块链本身就是一个共享公共账簿,记录并维护着系统上的所有交易记录——从第一个区块问世一直到此时此刻。这个被称为区块链的账簿由一个个链接在一起的块构成,其中每个区块都包含了一定数量在特定时间被网络验证的交易。

无限项目将推出一种新的加密货币,叫做 HYCON,旨在解决现有区块链技术所面临的一些难题。下面是区块链开发现状的概要,重点介绍了需要解决的问题、无限项目本身的目标、HYCON 如何克服现有的区块链局限以及 HYCON 的技术规范。

无限项目-核心目标

在无限项目的形成过程中,我们提出了下面两个关键问题:

· 鉴于现有加密货币的局限性,市场的需求是什么?我们怎样提供解决方案?
· 一种加密货币须具备哪些特性才能被广泛采用并融入到更为广泛的经济中?

考虑到这些问题,我们对现有的区块链进行了彻底分析——包括比特币、以太坊以及各种有前景的代币,揭示了每个项目的优势和弱点。然而很难找到一个能够回答我们最初提出的问题的项目。

因此,无限项目团队开始研究新的适合在现实世界中大规模采用的技术和算法,来帮助我们实现目标。与此同时,我们设计了无限项目的基本框架,并制定了以下 5 个核心目标:

1. 确定加密货币的实际市场需求
2. 开发一种灵活的加密货币
3. 建立以用户为中心的区块链平台
4.建立可持续创新的生态系统
5.研究去中心化加密货币交易所的实现办法

核心目标 1-市场需求识别

尽管目前许多区块链项目获得了主流的关注和认可,但没有一种加密货币在全球范围内渗入到电子商务中。更准确地说,大多数加密货币项目和现实世界解决方案之间依然存在着巨大的鸿沟。目前,仅有一小部分在线商家和少量其他服务接受或采用加密货币,使用比特币或其他任何当前可用的加密货币作为实际使用的电子货币是不可行的。

为了解决这一问题,并加速在真实环境中的应用,开发人员可以与特定领域或社区的专家一起工作,共同推动开发一种成功的、市场友好的货币来服务所有用户。

因此,要回答我们无限项目团队提出的其中一个关键问题——“什么才是市场想要的、以用户为中心的货币?”——我们必须首先定义所需的核心区块链技术,以便从市场和发展的角度找到一个双方都满意的解决方案。于是无限项目团队得出结论,在开发新的加密货币时,第一个关键成功因素(KSF)就是在提供市场需要的实际解决方案的前提基础上来进行设计和实施。

核心目标 2-灵活的货币

无限项目团队决定放弃现有的许多加密货币项目中单一货币开发的传统观点,并引入一个灵活的、可以包含各种货币模型的实施平台的概念。

这个平台加以扩展,就诞生了我们的“超连接币”(HYCON)。从一开始,HYCON 就被设计成便捷、廉价、可扩展且安全的加密货币,因此可以应用在各种现实世界的场景中。

HYCON 底层的无限区块链,也被设计成一个可互换的模块化结构,这将便于应用或改变底层技术以适应特定的需求。

核心目标 3-以用户为中心的平台

可以说,比特币引发的范式转变中最重要的部分是推动了一种安全的、去中心化的、以电子方式交换价值的交易方式——它对所有人都开放,实现了脱离银行进行付款这一曾经看似不切实际的想法。

然而,阻碍加密货币得到更广阔应用的一大障碍就是其从概念层次到实际用户交互和体验的陡峭的学习曲线。无限项目通过简洁并便于操作的平台以及直观的钱包和交易平台界面,力图为用户减少这些障碍。我们的最终目标是让更多的人能够参与到区块链的范式转变中来。

核心目标 4-灵活创新

在无限项目的发展过程中,最重要的一个考量是如何帮助更多的人、更多的企业、政府、非政府组织等,去利用区块链的力量。因此,我们无限项目团队正在努力推进“无限平台”的实施。这是一个灵活的区块链平台的概念,是从对现有的各类区块链、平台和加密货币的研究中演变发展而来的。

我们无限平台研究的目标是创建一个直观易用的平台,且可以通过多种方式实现。用例包括:实现基于 HYCON 的安全加密货币,便捷、廉价,可用作价值交换;建立去中心化的公司账簿,加强信息安全,促进更有效的数据存储和传输;提高证券交易所的加密安全等。使用无限平台构建的潜在使用场景和创新是广阔的,并且有着足够的灵活性为潜在用户提供他们所需的区块链解决方案。

核心目标 5-安全的去中心化交易所

无限项目的一个活跃的研究领域是让用户能够以去中心化的方式兑换不同的加密货币。目前的交易所凭借着中心化得以低成本地快速交易加密货币,然而这种中心化要求用户将他们的法定货币和加密货币的资产委托给交易所。

可惜的是,尽管这些交易所经手的交易量巨大,但这些交易所使用的源代码通常不会被公开复审。全球范围内曾发生过多起攻击者从交易所中窃取用户加密货币的事件。交易所集中管理的用户资金和信息时至今日将继续使这些公司成为攻击目标。

作为无限项目未来研究的一部分,我们打算将原子交换的概念整合到 HYCON 中,以使我们的货币成为真正的交换媒介。通过 HYCON,其他多种加密货币都可交易,交易费将分配给维护网络的矿工们。原子交换将允许 HYCON 在等待另一种加密货币的支付证明时被第三方托管持有,从而方便了 HYCON 和其他加密货币之间无需授信的 P2P 交易。

技术规范

创世区块
韩国标准时间 2018 年 1 月 4 日凌晨 3:15 (GMT+9),HYCON 发布了创世区块,可以在GitHub(HYCON 存储库的一部分)上查看【36】。
哈希算法
HYCON 采用 Blake2b 作为系统中唯一的哈希函数,而随着 ASIC 技术的最新发展,Blake2b 逐渐被抗矿机(ASIC-resistant)的 Cryptonight 算法所取代,Monero 也采用该算法。Cryptonight 算法工作时使用伪随机内存读写操作,故与标准 ASIC 体系结构不兼容,却使得 CPU 与 GPU 的工作性能差别相对不那么明显。
共识机制——SPECTRE 协议
比特币的共识机制是中本协议,与之不同,HYCON 使用称作 SPECTRE 的协议作为共识机制。SPECTRE 在两组块之间采用投票算法,以成对的方式对它们进行排序,如块 x 应在块 y 之前,或块 y 应在块 x 之前,使得区块链变为有向无环图(简称 DAG)的形式。完整概述 SPECTRE 协议的工作原理超出了本文的范围,下面简单概括一下投票规则。
投票规则
要讨论 SPECTRE 的投票规则,最好采用可视化的过程表达方式。还应当注意,节点不能投票,也没有必要投票。投票来自块,而 DAG 结构决定了投票的方式。
SPECTRE 投票过程使用的标准如下:
两个重要术语是“旧”past(x)和“新”future(x),它们分别代表了从 x 可达的块,以及将 x 作为先行块的区块。更具体地说,如果 x 属于 past(y),则 y 就是 future(x)。即:

 

此外还要注意到虚拟块,表示为 virtual(G),假设整个 DAG 都是它可以到达的块。
当指定一个块 z 为其它的块 x 和 y 进行投票时:
1.如果 z 的先行块是 x 不是 y(z 属于 future(x)但不属于 future(y)),那么它将投票给 x;
2. 如果 z 的先行块既是 x 也是 y(z 同时属于 future(x)和 future(y)),投票将取决于与z 的可达块相同的虚拟块进行递归投票的结果;
3.如果 z 的先行块既不是 x 也不是 y(z 既不属于 future(x)也不属于 future(y)),投票将取决于以 z 为先行块的大多数块的投票;
4. 如果 z 是一个可以到达整个 DAG 的虚拟块(Virtual(G)),它将遵从 DAG 的大多数块来决定投票结果;
5. 如果 z=x 或者 z=y,只要 x 与 y 之间互相不可达,它将投票给自己。
举例说明SPECTRE 在 DAG 中的应用
为了更好地说明 SPECTRE 的工作原理,最好是通过实例,一步一步讲解投票过程的每个环节。
案例-双重支付
举一个最简单的例子,块 A 包含交易 t1,块 B 包含与之冲突的交易 t2,这些冲突可能是恶意的,也可能仅仅是由于节点间的延迟导致了交易被发布了两次,这样两个矿工就会收取相同的交易费。根据 DAG 结构的不同,块 A 和块 B 可能拥有不同的先行块和后续块,双重支付的解决方式也不尽相同。
这个例子的初始情况可能如下所示:块 A 和块 B 几乎与块 5 同时添加进来。

系统在这个阶段并没有意识到双重支付,因为互为冲突的块 A 和块 B 之后尚没有新块产出。但是随着 DAG 的发展,更多的块添加进来,双重支付的问题浮现,这时就需要分析整个 DAG结构来决定块 A 和块 B 之间哪一个是先行块。

在上面的图中,块 12 是第一个把块 A 和块 B 作为先行块的区块,从而检查到双重支付。根据前面介绍的投票规则,块 6、7、8 都投票给块 A,因为块 B 不是他们的先行块。同样的道理,块 9、10、11 都投票给块 B。

12 的投票是基于对其先行块的递归投票查询。因为块 10 和块 11 不是块 12 的先行块,故它们不包括在块 12 投票时的查询范围。块 12 投票时参考的查询范围如下图所示。

其中块 1 到块 5 不属于块 A 和块 B 的后续块,所以它们的投票结果取决于它们大部分的后续块。在这个递归投票的例子里,块 1 到块 5 的后续块更多的会投票给块 A,故它们也投票给块A。块 12 的先行块里有 9 票投给块 A,2 票投给块 B,所以块 12 会投票给块 A。如果投票数相同,将由块 12 投出决定性的一票,故所有参与者都赞同块 12 的投票方式。由于块 12 只使用它的先行块(past(12))来决定选票,所以它的投票永远不变。
DAG 结构中接下来的投票是基于其他块的后续块。一旦块 12 的投票结果确认了,块 5 也会投给块 A,因为后续块中有三票投给了块 A(块 7、8 和 12),多于块 B 的两票(块 9 和块11)。块 4 的后续块中,块 A、5、6、7、8 和 12 投给了块 A,块 B、9、10 和 11 投给了块B,所以块 4 也投给块 A。同理,块 3、2、和 1 也都会投票给块 A。所以这个投票过程的最终投票统计为,块 A 得 10 票,块 B 得 4 票。

SPECTRE 一个有趣的特性是,它符合了其他区块链技术中采用的最长链选择模型,特别是在像上面演示的这样简单的例子里。可以看出,从块 1 经由块 A 到块 12 的路径,要比经由块 B到块 12 的路径长,即最长的链路获胜。
DAG 与链式区块链
DAG 优于链式区块链的地方是它缩短了出块的时间间隔,从而ᨀ高了交易的确认速度。目前存在的链式区块链中,新产出的块通过关联到前一个块的哈希值,被添加在链的末尾。与之形成对比的是,在 DAG 中添加新块时,只关联到当前 DAG 的末端。这样,不同节点都可以同时出块,而不用担心分支链的风险。新块可以有多个先行块,可以同时被添加进来,矿工们也可以仍然获得采矿奖励,而不用担心他们挖出的块成为孤立区块。可能发生的问题是,当节点发布了在其他地方同时发布的交易时,会产生双重支付的问题。使用 SPECTRE 的共识机制将决定哪些交易不该发布,而不是形成孤立区块。
无限 SPECTRE 的实现
SPECTRE 的投票过程是对资源的极大消耗,因此需要谨慎管理它的实施。为了便于开发,我们最初的原型是用 Python 编写的,但是无限 SPECTRE 的最终版本是用 C、C++或 Rust 之类的语言编写的,这样就可以完全控制数据结构和内存管理,从而获得更好的性能。
块的“高度”和链接
粗略地看一下 DAG 的结构,可以看出用在比特币或以太坊中的区块高度的传统概念需要进行细微的语义上的修改。在那些具有代表性的区块链中,高度代表了链接在创世区块上的块数。而在 HYCON 中,高度是一个更加笼统的概述,表示当前块在创世区块之上的 DAG 层数。其中的计算非常简单,新块的高度比它最高的父块的高度要高一层。
对于任一新块 B,与其父块 P:
用图表表示就如同下面ᨀ供的示例,新发布的块关联到最高的未被关联的块上,并将高度设置为比最高的关联块多一层。

Typescript 网络基础架构——Node.js,Typescript
Node.js 对异步操作的内置支持是使用其作为系统架构的好处。Node.js 允许跨平台“事件驱动的非阻塞 I/O”,其中单个组件可以在正常操作流程之外等待运行结果。等待中的组件只在某个事件发生时触发和执行,例如从网络接收到消息或用户输入等,并在等待时允许执行其他代码。
本质上是 JavaScript 的程序会被强制执行类型检查,而 Typescript 的采用就是因为其强大的类型检查功能。使用 JavaScript 的类型化版本,开发团队可以构建一个运用 Node.js 异步性的平台,同时,由于明确定义了类型,调试过程变得更简单。Typescript 文件在运行之前需要被编译,许多语法和类型错误在编译阶段更容易被发现,而不是像很多 JavaScript 程序中常见的那样,在混乱的回调中单步调试来搜查错误。
序列化-协议缓冲器
在区块链系统中,任意时刻都有任意数量的信息在网络上飞来飞去,重要的是节点软件能够以一致且正确的方式解码这些数据。由谷歌开发的协议缓冲器允许在不同的平台上使用一致的消息定义,从而允许使用各种编程语言来开发运行在无限区块链上的节点。由于序列化层与编程语言无关,所以对于跨平台的程序是非常有用的。协议缓冲器还允许向后和向前兼容,使得更新更容易产生软分支,而不是硬分支。它还使第三方软件更加兼容,允许其他开发人员与 HYCON 网络进行交互。
采矿
概述
和大多数现有加密货币相似,采矿出块需要提供工作量证明(PoW)。矿工根据 DAG 末端的哈希值计算下一个块的哈希值、块中所含交易的梅克尔树(Merkle)根,以及一个随机数,该随机数在超过当前难度的哈希值被计算出来之前一直变化。SPECTRE 的创始人认为使用该协议可以做到每秒产出 10 个块,而 HYCON 则以每秒 1 个块作为初始目标。虽然目前的原型采用了工作量证明,但是我们非常清楚比特币和以太坊所需的大量电力,所以正在考虑其他选择。其中一种不太为人知的方法是空间证明(Proof of Space)。它要求矿工预先计算并存储大量数据,然后在其中搜索找到满足当前难度的答案。这种方法使用很少的电力,且已被 Burst Coin 和 Space Mint 证明有效。
采矿过程的细节
采矿开始时将对块头的内容进行编码和哈希计算,块头不会因为采矿而改变。这些内容包括与先行块的关联、块中所含交易的梅克尔树(Merkle)根、块的难度目标、块的时间戳,以及带有 Trie 前缀的 MPT 树(Merkle Patricia Tree)根,代表了该块中的交易结束后的状态。

这些数据使用 64 位版本的 Blake2b 进行哈希计算,为 GPU 和 CPU 矿工ᨀ供一个不变的哈希预处理值。这一步很有必要,特别是对 GPU 挖矿,因为 HYCON 的块头通常因为有着多个父块而有着不同长度,而 GPU 挖矿软件在固定长度的数据结构下效果最好,所以需要进行哈希预处理。然后 64 位哈希预处理的块头,与一个 8 字节的随机数合并,该随机数在每次使用Cryptonight 进行哈希计算时加 1。合并后的数据再进行哈希计算,返回一个能代表整个块的32 位哈希值。再将此哈希值与块头中指定的难度比较,如果达到正确的难度临界值,将返回随机数并将其包含在已完成的块头中发布。
Stratum 集成与 XMRig
HYCON 使用 Stratum 协议来完成对使用修改版本的 XMRig的 GPU 采矿的支持。
挖矿奖励
在成功完成一个新块的工作量证明后,矿工得到 HYCON 币的奖励。HYCON 的采矿过程计划持续 50 年。根据这样的时间表以及高出块率,完成新块开采的报酬必然是很低的,而更多的收入可能来自大量的交易费用,而不是出块的奖励。
钱包与账户
钱包图形用户界面(GUI)
运行 HYCON 软件的完整节点可以访问本地托管的网页图形用户界面(GUI)进行钱包操作、交易,以及区块链的开采等。该图形用户界面使用 React 编写,支持轻量级的高性能接口。
HYCON 钱包
HYCON 钱包采用行业标准的椭圆曲线加密法进行交易签署,特别是 sep256k,并根据BIP39的规定使用恢复钱包的助记码,以方便集成第三方钱包供应商。
账户与余额
为了记录 HYCON 用户的支出与余额,需要用到一个会计模型。HYCON 采用的模型是基于以太坊所使用并在其黄皮书中概述的,一种叫做 Merkle-Patricia Trie(带 Trie前缀的 MPT(Merkle Patricia Tree))的数据结构。每个块包含着块中交易结束后的状态,用 MPT 树根的哈希值表示,代表了所有 HYCON 账户的账户数据。
保存的账户数据包括某个 HYCON 账户的余额,与该账户相关的最近块的关联信息,以及一个随机数,代表该账户发起了多少交易。随机数用于防范重放攻击(Replay Attack),而前块的关联信息其实是一种优化,使交易历史查询更快,也使 SPECTRE 更容易追踪双重支付问题。
同步
HYCON 将采用块头先行的办法在网络上发起同步。在第一次启动时以及随后的启动之后,节点发送一条信息到相邻的节点请求大量块头,并检查其中是否指明这些块紧随当前存储在本地数据库中最高的块之后。收到块头时,如果这些块不在本地数据库中,节点将验证块,并从相邻的节点获取完整的块数据,再次验证通过后将块添加进本地数据库。由于只有父块被添加后,子块才可以添加进数据库,这个过程必然是连续的。
结语
本文始于对现有加密货币局限性的探讨,也是整个无限项目的基础。无限项目的愿景是ᨀ供一个便捷、安全、可扩展、以用户为中心的区块链,以及可被广泛采用的加密货币生态系统。结合 SPECTRE 协议和 Black2b 哈希算法,我们提出了一种既安全又方便的新型加密货币。通过采用本白皮书所阐述的办法,HYCON 加密货币与无限项目为全球加密货币环境ᨀ供了一种有价值的、差异化的补充。
网址:https://hycon.io/
 

文章来源:http://www.qukuaiwang.com.cn/news/14321.html
原文作者:Hycon
特别申明:区块链行业ICO项目鱼龙混杂,投资风险极高;各种数字货币真假难辨,需用户谨慎投资。blockvalue.com只负责分享信息,不构成任何投资建议,用户一切投资行为与本站无关。

1.价值区块链(blockvalue.com)遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.价值区块链的原创文章,请转载时务必注明文章作者和"来源:价值区块链(blockvalue.com)",不尊重原创的行为本站或将追究责任;3.作者投稿可能会经价值区块链编辑修改或补充。