莱特币LTC源码

发表于 5年以前  · 总阅读数:1041 次

简介

莱特币是一种基于“点对点”(peer-to-peer)技术的网络货币,也是MIT/X11许可下的一个开源软件项目。它可以帮助用户即时付款给世界上任何一个人 [2] 。莱特币由一名曾任职于谷歌的程序员(李启威)设计并编程实现,2011年1月9日发布运行。莱特币是受比特币的启发而推出的改进版数字货币。莱特币的技术原理与比特币相同,也是采用去中心化的架构、无任何中心机构控制、新币发行和交易支付转让都是基于开源的加密算法等等这些都是模仿比特币的设计原理。但是,莱特币尽量改进了比特币之前已经表现出的缺点,如交易确认太慢、总量上限偏少、工作量证明机制导致大矿池的出现等等SHA256算法 [1] 。

莱特币旨在改进比特币,与其相比,莱特币具有三种显著差异。第一,莱特币网络每2.5分钟(而不是10分钟)就可以处理一个块,因此可以提供更快的交易确认。第二,莱特币网络预期产出8400万个莱特币,是比特币网络发行货币量的四倍之多。第三,莱特币在其工作量证明算法中使用了由Colin Percival首次提出的scrypt加密算法,这使得相比于比特币,在普通计算机上进行莱特币挖掘更为容易。每一个莱特币被分成100,000,000个更小的单位,通过八位小数来界定 [1] 。

设计目的编辑

它基于比特币(Bitcoin)协议,但不同于比特币的地方在于,即使在现阶段,通过消费级的硬件也可以高效地“挖矿”。Litecoin提供给您更快速的交易确认(平均2.5分钟),它使用硬内存以及基于scrypt(一种加密算法)的挖矿工作量证明算法,面向大多数人使用的普通计算机及图形处理器(GPU)。Litecoin网络预期将生产8400万个货币单位 [3] 。

Litecoin的设计目的之一是提供一种挖掘算法,使它能够在挖掘比特币的机器上被同时运行。为挖掘比特币而设计的专用集成电路(ASIC)逐渐兴起的同时,Litecoin也紧跟着技术演变。但在Litecoin货币被广泛应用之前,不太可能会出现专门为Litecoin设计的专用集成电路(ASIC) [3] 。

与比特币的共同点

  • 同为虚拟货币
  • 去中心化架构

区块链技术

比特币与莱特币都采用了区块链技术,且都有51%攻击的问题。它们采用区块链技术,所有历史记录按照时间先后顺序,打包成一个个单独的区块,再把这些单独的区块链接在一起形成一个总账本 [5] 。这些区块内除了包含交易记录外,还包含新发行的莱特币和交易的手续费,这两笔钱支付给挖矿的矿工作为酬劳。无论谁挖到该区块,那么该区块内含有的新发行的莱特币和交易的手续费这两笔钱都归挖到者,以鼓励矿工积极参与结算。区块链技术容易产生51%攻击的问题:无论任何组织甚至个人,只要掌控某一种基于区块链原理的虚拟货币的全部运算能力的51%,这个人或组织就能够任意操纵该虚拟货币的所有交易。如果区块链只认运算能力最大者,谁的运算能力最大,谁就能抢到下一个区块,如果某个个人或组织掌控了全部运算能力的51%,那就意味着没人比他运算能力更强,故而他就可以随意操纵。所以,对于基于区块链原理的虚拟货币,参与挖矿的越多就越健壮,运算能力越分散就越健壮;挖坑者越少越脆弱,运算能力越集中就越脆弱,矿池越集中也就越脆弱 [1] 。 分散匿名发行 “挖矿”竞赛、公平竞争。莱特币和比特币一样,都是基于区块链原理的虚拟货币,新币发行也是分散的,以奖励给矿工的形式出现。参与“挖矿”的矿工进行运算能力竞赛,谁的运算能力更强,谁就能抢到下一个区块,公平竞争。而且它们都是账户匿名。账户与主人的身份信息无任何对应关系 [1] 。 与比特币的不同点编辑

工作量证明机制

莱特币工作量证明机制采用scrypt算法,比特币工作量证明机制是SHA256。scrypt算法计算所需要的时间更长,并且需要占用的内存也更多,该算法使运算能力难以集中,挖矿的矿工比比特币更分散,这有利于防止51%攻击。正是因为莱特币的scrypt算法跟比特币的算法不同,比特币芯片矿机无法拿来挖莱特币,这就让莱特币免于攻击,保持了正常发展 [1] 。

区块处理速度

莱特币是2.5分钟,比特币是10分钟。比特币的一个缺点就是交易的确认比较慢,区块打包需要10分钟,打包之后还要全网节点验证,验证的时间更长,两个时间加起来总共需要大约40至50分钟左右。莱特币的区块打包速度是比特币的四倍,加上交易确认的时间,总共大约20分钟之内即可完成 [1] 。 总量上限 莱特币总量上限是8400万个,比特币总量上限是2100万个,莱特币总量上限是比特币的四倍 [1] 。

安全性

2013年5月,比特币的全网算力是全球排名前500名超级计算机的总和的8倍,达158 THash/s。而莱特币因cPu挖矿的性能限制,全网算力仅为15 GHas/s。莱特币每2.5 min处理一个区块,比特币是10min,对区块链发起一次双重支付攻击的进度服从泊松分布,其攻击成功的概率随区块数的增长而呈指数级下降。当区块数大于6个时,攻击成功的概率将下降到忽略不计的程度,这也正是比特币建议6个确认数方可保障交易安全的依据。当区块的处理速度提高至比特币的4倍时,攻击者制造出一个假节点的成功概率也急剧上升,通过计算泊松分布的概率密度,避免双重支付攻击所需要的节点确认数也将上升至比特币的4倍,即菜特币需要24个节点确认才能达到比特币6个节点确认的安全性 [6] 。

莱特币LTC源码

程序语言:未知语言

 1个收藏

 1个关注

访问GitHub主页
 目录