Bitcoin Forum
March 28, 2024, 04:06:12 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / 挖矿 / 矿机的理论价格 on: February 25, 2014, 03:31:24 PM
本文只是从目前的算力,以及算力的增长率,来大致估算一下矿机的理论价格。

1.目前算力,为了下面计算简便些,就估计为36P吧,反正也快到了。36P的算力,每天争夺3600个币。(我知道有人会说,每天挖的币是和难度相关,而不是和算力相关。不过算力都到36P了,难度在14天后也就会到对于数值的)。也就是说,目前每T算力,一天可以获取0.1个币。
2.目前算力的日增长率,差不多是2%。也就是说,今天你可以获取0.1个币,明天就只能有0.098了。(我也知道1.02与0.98不是倒数关系,我们只是估算而已)。根据等比数列求和公式,这个1T的矿机,就算开到永远,也只能获取1/(1-0.98)=50倍今天的收益。即5个币。

即在目前算力36P,日增长2%的情况下,1T矿机价值最多5个币,按现在价格差不多16000.
至于2个月后么,1.02的60次方是3.3。就是4848。

不过我还没算电费呢。看来可能找到不赔本的矿机,但好像找不到赚钱的矿机。

2  Local / 山寨币 / Re: 开发 去中心化密码货币-法币兑换系统 意见征集 on: January 13, 2014, 07:12:30 AM
大家都谈到了实际的交易,而在实际交易之前,还有一个撮合成交的过程,大家都没有说到。不过这个一点没有技术难度。

如果大家有股票经验的话,应该知道有个东西叫“集合竞价”。我认为,形成的是一个交易所,而不是一个p2p的平台。这个交易所会产生报价
深交所就是采取以6秒为周期的集合竞价的。各个股市的开盘价,也是以集合竞价形式产生的。

按照术语来说,集合竞价的价格,应使,高于或等于此价格的买入数量,与低于或等于此价格的卖出数量相同。
当存在多个满足上述条件的价格时,采纳数量最大的那个。


1.为了向BTC致敬,我们取用10分钟为交易周期。
2.在每次交易的0-5分钟,所有节点可以报价,买入或卖出。如果在6分钟之后报价,则此次报价纳入下一周期。
3.6-7分钟运行撤单,此段时间内的报价,同样纳入下一周期。
4.8-9全网同步报价,同样此段时间内的报价,同样纳入下一周期。
5.第10分钟,按“集合竞价”方式完成成交。
6.之后的1-2分钟全网同步成交。


这样的一个全网同步交易,才能称之为一个交易所,而不是仅仅提供p2p交易的场地而已。

当然这个过程,没有技术难度。只是让其更通行而已。

3  Local / 山寨币 / Re: 开发 去中心化密码货币-法币兑换系统 意见征集 on: January 09, 2014, 06:43:00 PM
非常好的主意。我也想过这个问题。
但我认为的系统,应当是没有任何中心的完全的p2p。也就是说象公私钥密码体系一样,不需要交易双方的相互信任,而仅仅依靠算法来保证。

如果存在一个大家都信任的人,这个交易系统很好完成。

如果不存在大家都信任的人。那么各种交易系统的实现难度分以下三种,越来越难。

1.创建一种新的交易币,所有的其他电子货币都和他交易。
2.实现各种电子货币之间的直接交易。
3.实现电子货币与法币的交易。

4  Local / 山寨币 / Re: 比特币有对手嘛?转帖牛文:“电子货币的黑暗森林” on: January 01, 2014, 08:44:20 AM
Quote
让我非常吃惊的是,LTC建立这9万MH/S的算力,用了2年多时间,而狗币达到接近4万,只用了一周多的时间。

觉得这数据有问题, 不像真的。


LTC是从无到有,而其他币的算力不过是搬家。
5  Local / 山寨币 / Re: 比特币有对手嘛?转帖牛文:“电子货币的黑暗森林” on: December 31, 2013, 06:33:38 AM
说的很对,新SHA256币,必须面对BTC强大的算力,面临51%的考验。如果会出现能够和BTC抗衡的新币,必定不是用SHA256的。

但BTC有其缺陷,最大的缺陷是总交易量限制。1个block最大为1M,最多容纳4000条交易。折合最大的交易容纳量约为7条每秒。
目前VISA中心的交易量约为2000条每秒。所以BTC不可能成为最终唯一的电子货币。

BTC是电子货币的先行者,这个先行者甚至比其他后来者还要优秀,但他终究只是一个先行者。应当会有真正的王者出现,而这个王者必定会使用一种新的算法。
按照我的理解,这个算法能够支撑每秒几万次的交易,这个算法应该不能被设计成矿机,这个算法的p2p网络应该能够实现电子币对电子币的交易所。
6  Local / 中文 (Chinese) / Re: 不增加矿机算力,而获得更多挖矿收入的方法。请算法专家和数学大神 on: December 30, 2013, 05:15:27 AM
方法确实可行,要理解也很简单。因为出币的总盘子增加了,总计的电子币数量是增加了。
但是提升其他电子币的价值,实际上也就是在减少BTC的价值。如果从对应的资金量上看,宏观上讲其实还是一样。
7  Local / 中文 (Chinese) / Re: 好奇一个问题:ZF现在有没有能力组建一个超越现有算力的大矿场呢? on: December 20, 2013, 01:47:28 PM
目前全网算力8P,折合200G的矿机40000台,算他20000块一台,8个亿。
如果是自己芯片,自己矿机的话,成本不到一个亿。

你说能不能。
市场上的是才最便宜的,你怎么知道自己做要低于8亿呢?
再说,等他们做出来,全网算力不知到了什么地步了。每月翻一番,给他们六个月去研发和生产的话,呵呵。。。

好吧,我说的仅仅是矿机的物理成本。研制成本这个事情,要看谁来做的,没个准。

另外,真要是部署40000台矿机的话,最大的成本从短期看是机房,从长期看是电费。
我还没听说那个机房可以有40000KW的供电呢。这些玩意每年的电费就是4亿。呵呵。

大概相当于建造一座大型粒子加速器。如欧洲核子中心的大型强子对撞机,总功耗230MW,每年电费1900万欧元。北京正负电子对撞机,2005年用电量占北京市全年用电量的1% 。这样大的政府行为光是开会讨论都要好长时间,所以说,不太可能办到。

就算是矿机,也要到拼电费的地步了。
8  Local / 中文 (Chinese) / Re: 关于比特币最近传言,导致比特币和各种山寨币爆跌的处理办法! on: December 18, 2013, 03:48:44 PM
按照这个思路,做个股票交易软件,岂不是包赚不赔了???
BTC买卖盘口距离是比较大。但真要是这个软件能自动赚钱的话,还要人脑干什么???

做个辅助下单是可以的,做自动下单?从1242开始开始买进吧
9  Local / 中文 (Chinese) / Re: 好奇一个问题:ZF现在有没有能力组建一个超越现有算力的大矿场呢? on: December 17, 2013, 03:11:20 PM
目前全网算力8P,折合200G的矿机40000台,算他20000块一台,8个亿。
如果是自己芯片,自己矿机的话,成本不到一个亿。

你说能不能。
市场上的是才最便宜的,你怎么知道自己做要低于8亿呢?
再说,等他们做出来,全网算力不知到了什么地步了。每月翻一番,给他们六个月去研发和生产的话,呵呵。。。

好吧,我说的仅仅是矿机的物理成本。研制成本这个事情,要看谁来做的,没个准。

另外,真要是部署40000台矿机的话,最大的成本从短期看是机房,从长期看是电费。
我还没听说那个机房可以有40000KW的供电呢。这些玩意每年的电费就是4亿。呵呵。
10  Local / 中文 (Chinese) / Re: 好奇一个问题:ZF现在有没有能力组建一个超越现有算力的大矿场呢? on: December 17, 2013, 01:36:36 PM
目前全网算力8P,折合200G的矿机40000台,算他20000块一台,8个亿。
如果是自己芯片,自己矿机的话,成本不到一个亿。

你说能不能。
11  Local / 挖矿 / Re: CPU->GPU->ASIC->Memory on: December 15, 2013, 12:35:00 PM
是不是在一个IC中,内存是统一编址的,共享总线,不能分割?
12  Local / 挖矿 / Re: CPU->GPU->ASIC->Memory on: December 15, 2013, 12:24:03 PM
lanfanblue老师你好,我是一个IC初学者向您请教,请不要介意问题的幼稚与无知。

关于同一个“串行”流水线,因为“一条流水线里,无论分多少级,里面各级所连接的内存是同一块”,所需内存带宽与不分流水线是一样的。这个问题我已经知道了。

但是“并行”流水线呢?因为事实上循环的64次,操作都是一样的,经过一次操作后,本级流水线把自己的输出当输入继续计算。64次以后提交结果。这也就是我说的“同类型的核之间,没有数据交换”。

串行流水线中,同类型的核之间是交换数据的。

一个最小的核,有24个门电路完成W数组循环,30个门电路完成主循环。另需要64*4*2字节内存存放两个W数组。另外8*4字节存放h数组。对于K数组,那是常量,多少个小核共享一个K数组,需要权衡一下。
每一个时钟周期内W和Main各执行一遍。
前64个周期,W电路将前64*4字节,第一个W数组填满。
次64周期,Main电路处理前64*4字节,64次。W电路将后64*4字节,第二个W数组填满。
可能需要一个周期进行输出。
再次64周期,Main处理后64*4字节64次。W填写前64*4字节。
如此往复。

这样64,或者可能是65个小核组成一个大核。实现一个周期输出一个结果。这样的结构,是否能减少内存带宽的使用呢?

谢谢。
13  Local / 挖矿 / Re: 请问挖矿收益和全网算力及难度的关系 on: December 14, 2013, 01:12:03 PM
首先,算力与难度永远相关联。从长期看,算力/难度=6.6666M。 这个数字是怎么来的,可以看算力与难度 https://bitcointalk.org/index.php?topic=352114.0

目前每天理论上出块 24*6=144个,每个块25币,即3600个币。
从概率上说,3600个币按照算力大家均分。
比如现在全网算力8P,你有1台200G的矿机,差不多占全网算力的1/40000,也就是说差不多一天0.1个币。
14  Local / 挖矿 / Re: CPU->GPU->ASIC->Memory on: December 14, 2013, 12:02:04 PM
我有点清楚我和你意见分歧的原因了。说到底是习惯的不同,造成了对ASIC结构理解的不同。
对于ICer来说,所谓ASIC是在一个时钟周期内,完成一次算法操作。得到一个输出。
而对SOFEer来说,习惯于微指令,一个算法可以在多个时钟周期中完成,而得到一个输出。

举个例子来说吧。每一次sha256的计算,就是对W数组的48次循环,和64次主循环。每个W循环约24个CPU指令,主循环大致需要30个CPU指令,再加上一些附加内容总计约3100个CPU指令。因为这些都是最简单的与或非操作,所以用ASIC来实现也就意味着3100个门电路。所以一个核就是这么3100个电路。
但是对我来说,我会设计一个W数组核,一个主循环核,并按3:4配比(当然,稍微浪费一点,用1:1来配比,可以简化不少结构),形成一个小核。在一个时钟周期内,W数组核执行一次,主循环核也只执行一次。
再用16个小核形成一个大核。这样的一个核也是3100个门电路。

原来是在一个时钟周期中产生一个结果,而我的这个流水线核,是在64时钟周期内,产生64个结果。执行的效果与原来的核一样。
由于各个同类型的核之间,没有数据交换,可以认为他们的总线是割裂的。所以造成的最大的好处,就是对带宽的要求降低64倍。
当然,我都称其为流水线核了,设计这个一个核的难度,比原来的要难。
所以,我认为,对内存带宽的要求,会随着流水线长度的增加而减少。不过就是增加设计难度么。

当然,我没有IC经历,我的这些推导,是根据CPU结构而想象的。不知道是否正确。

15  Local / 挖矿 / Re: CPU->GPU->ASIC->Memory on: December 13, 2013, 07:08:00 PM
多谢各位提出的意见。在此一并感谢。

首先是eastneo所说
关于多个算法混用的问题,确实可以解决掉ASIC。找上100种算法变种,分别执行一次,就可以让ASIC的设计复杂上100倍。
但这首先在数学上不美,其次干不掉GPU。我的本意是设想一种只能CPU执行的算法。即便我们想不出来算法,也可以讨论一下这个算法应该具有的特性。
YAC在这方面做了尝试,但如果他真正能够发展到目前BTC的规模,他就会遇到“验证时间占比”的问题了

还有lanfanblue所说
目前电子币的算法都是“对称”的,以解决难度的控制。确实是如此。出题的问题,我认为密码学家们会解决的。但是“不对称”的算法可能陷入NP,我也认同。所以才会认为算法的难以确定。

但对于内存带宽的问题,我是如此认为的。
首先说明一点,我是没有IC经验,是纯软出身。所做过的电子产品,只有小时候的收音机了。
但AVALON的公开资料还是看了的,也知道他那两根串行线,不过512B/s。
我认为不需要这么高的带宽,矿机本来就是靠数量取胜的。即便由IBM、Intel来设计,单核的速度也不会超过4G,而目前一个核300M的速度应该是速度与功耗之间的一个折中点。不论是几百G的矿机,还是几T的矿机,都是靠内核数量的增加而提升的。
而因为每一次计算是独立的。所以与其设计一个带宽25600G的核,还不如设计2560个10G的核,当然这会增加芯片面积。设计人员会在电路数量与带宽之间找到一个平衡点的。
16  Local / 挖矿 / Re: CPU->GPU->ASIC->Memory on: December 12, 2013, 01:39:31 PM
但是,为什么没有出现使用如此大算法的电子币呢?世界上的比我聪明的人多的是。
其实原因,上面已经有人提到了。就是“验证”

我们还是先来看看BTC把。参照我前面的文章,算力与难度 https://bitcointalk.org/index.php?topic=352114.0
BTC中即便是难度1,计算与验证的工作量比,是4G比1。举个例子,目前在矿池中,满足难度1的计算结果可以作为是一次提交。全网算力目前算是8P,那么没秒会产生满足难度1的结果2M个,而在1秒内验证2M次,一台稍微好的PC就足够了。
而对于只使用钱包,而不挖矿的机器来说,用于验证的时间更是微乎其微。没有人会为了节省一点点验证的时间而放弃验证的。

但如果使用我上面的算法,验证时间可能就会占到总时间的10%以上。而验证同样需要使用1G内存,浪费了挖矿资源。于是就会有人放弃验证,进而产生漏洞。

所以,真正需要的是一种这样的算法
在计算时,需要大量的内存,大量的时间;而在验证时却仅需要不多的内存和时间。
RSA使用的大质数分解倒是一个满足的算法,但问题是谁来出题呢?谁来保证不同的分解大致需要相同的时间呢?

所以,说到底,电子币的根本还在算法,恕我在数学上才疏学浅,实在是不知道有什么算法满足这样的条件。
17  Local / 中文 (Chinese) / Re: 请问,黄金是货币么? on: December 06, 2013, 03:50:21 AM
对于我这个问题的回答,其实反应了各人对“货币”这个名词的定义。好吧,那在这里我就不再用"货币"这个名词了。
只使用,一般等价物,商业币,政府币这样外延较小的名词了。政府币其实是一种纸币。

按照原始的定义,各类纸币的发行数量,需要有相当的一般等价物来担保。不然就会发生纸币的贬值。
而现代的各种经济学理论,可以使纸币的发行、流传成为一门学问。使其获得远大于商品交换所取得的利润。所以铸币权成为各个政府必定紧握的一种权利,并在他所能控制的范围内,禁止其他的一切成为流通的纸币。

而一般等价物的价值,与其所代表的商品总价,成比例关系。其所代表的商品,就是认可这种一般等价物的人,所拥有的商品。
如果一般等价物数量不变,而商品数量增加,则一般等价物的价值增加。
直接使用一般等价物来进行交易,在以前,有不易携带,不易计量等等缺陷。而且没有任何人和机构能够通过一般等价物来获取超出商品交易的利润。
而这,本就是BitCoin去中心化的实质。

BitCoin永远不会成为政府币,但他生来就是一般等价物。
18  Local / 中文 (Chinese) / 请问,黄金是货币么? on: December 05, 2013, 06:38:37 PM
货币,从我看来,是人类商品交换发展到一定阶段以后,出现的一般等价物。他本身就是一件物品,同时也是一件商品。他的价值与他的使用价值无关,仅同交易参与者的认同相关。
从这个角度出发,在我看来,不管是美元、英镑,还是游戏金币、Q币,或者购物券,其实都和食堂的饭票一个性质。都是由统一的发行方发行,并由发行方通过自己的信誉担保,保证这个发行物的价值。
之所以大家认为政府发行的美元、英镑比较靠谱,是因为大家都有一个根深蒂固的观念,——即政府不会破产。
BitCoin首次进入公众视线,就是因为希腊政府的信用危机。使得商品交换的参与者认为,政府币的不可靠。

一样物品要成为一般等价物,首先需要的是数量的稳定,或者说极难获取。不会因为任何人或机构的原因,而发生数量的急剧变化。其次,就是需要商品交换的所有参与者认可他的价值。
这个认可与任何机构无关。一般等价物从来就不是发行的,从来不需要任何人的承诺。

如果说货币必须要有发行方,必须要有信用承诺。那么BitCoin不屑于做货币,他只要做一般等价物。
19  Local / 挖矿 / CPU->GPU->ASIC->Memory on: November 30, 2013, 12:50:50 PM

挖矿从CPU到GPU到ASIC的过程,大家都了解了。如何设计一种只能CPU挖矿的算法呢?其实很简单,估计看完本文,你也就会了。
本文是我看了Scrypt算法以后的一些感受。

整篇文章我也没全看,主要是其中的各个证明,全是数学的东西,我就跳过了。但对于其中提到的三种算法,我是理解了。
这三种算法,其实就是三句话,1:要防止破解,需要用大量的内存。2:要防止破解,要不可并行。3:要防止破解,要在内存中分散存储。

如果真正使用了大量的内存,是不可能出现矿机的。LTC矿机之所以出现,是因为LTC也只使用了128K的内存,是比sha256的288字节大的多了,但还是不够大。
我们来看一下,LTC的Scrypt算法在CPU和GPU中的情况。
对PC而言,一般4核CPU,所有的数据只能动员512K的内存,但因为只有4个核,就只可以启动四个进程。
对显卡而言,N卡有1000+个计算单元,A卡有3000+个计算单元,动员100多M和400多M内存,启动1000+或3000+个进程。当然每个进程的速度可能比不上CPU但总计效率提升几百到几千倍。

对于ASIC而言,(还是说BTC的矿机吧)一个内核中有几千个门电路,可以在一个时钟周期内,完成CPU、GPU需要几千时钟周期内完成的工作。差不多一个矿机内核,顶的上一块显卡。(烤猫USB 333M,就是这样一个核)
而avalon两模块就是8*10*2=160个芯片,320个内核。速度直接就上去了。


设想一下,如果有一个算法,在整个计算过程中,需要使用1G内存,会发生什么情况。
对PC而言,一般有4核CPU,和4G内存。不考虑什么操作系统了。就算他正好,可以同时开4个进程来计算。
对显卡而言,N卡有1000+个计算单元,A卡有3000+个计算单元。但是,就算你是再高端,也不过4G显存。你也不过开4个进程同时计算。
前面所说的算法要求,不可并行,就是指从内存角度讲,只够同时开展4项工作,那么就只能动员4个计算单元。无法用多个计算单元来同时完成一项工作。
对ASIC来说,如果一块ASIC能够直接访问1G内存,他就已经不能被称为ASIC了,至少已经是定制CPU了。

那么我们看看这种定制CPU是否值得制造呢?
目前4G内存200大洋,而如果用于挖矿还需要配的CPU主板、电源,不会超过2000大洋。即内存价格占总计价格的10%以上。
如果出现了专业矿机,就算他芯片的价格为0,但仍旧是需要使用200块的内存,才能达到上述计算机的性能。即专业矿机的性价比,不超过普通计算机的10倍。
以这样的性价比提升,是不值得来设计如此复杂的专用芯片的。

好了,大家已经知道了,只要设计出一种使用真正大内存的算法,就可以只运行CPU挖矿。当然,算法如像算力提升那样,可以将需要使用的内存进行调整,那就更好了。

那么如何设计一种这样的算法呢?我们仍旧只讨论hash算法,质数算法什么的,我还没研究呢。
其实,就拿sha256做一个变异就行了。我称之为sha256M,
sha256算法中,有w数组,共64项。直接把这个数组扩大到256M项,占用1G内存。
并把算法中涉及这个数组的各种64次的循环,变成256M次。应该就可以了。

但是问题来了,一般CPU的sha256算力为1M每秒,而我这个sha256M,因为用不上cache,估计速度为0.1次每秒。好像太低了。
那也没问题,先让一下步,来个sha256-1M,-2M什么的。当算力提升上去以后,在逐步调整难度么。

对于Scrypt来说,就更简单了。LTC中使用的Scrypt是MFcrypt算法的一种特例,是使用了SMix和sha256,并将长度定为128K的MFcrypt算法。
Scrypt本身就有个N参数调整内存使用大小。将他调大,并可以根据算力继续调整就行了。

好了,回到文章的标题吧。
如果存在矿机,那么挖矿的门槛直接就提高了,个人无法与机构抗衡。但如果只能用CPU挖矿,即便是再大的机构,也不过能动员几万到几百万台计算机集中。这些计算机足以被淹没于人民大海中。
而要去中心化,只能用CPU挖矿,也就是必须使用真正足够大的内存来计算。
也就是说,未来的挖矿,不是比CPU,不是比GPU,更不是比ASIC,而是比MEMORY。

20  Local / 挖矿 / 难度与算力 on: November 29, 2013, 05:53:38 PM
我是个技术宅,对于btc而言,是个新人。最近从各个材料上学习了一些btc的理论,个人总结了一些东西,也想写出来给大家分享。
本文的内容,是从技术上来真正解释算力、难度的含义。

1.hash,哈希
学过数据结构的都应该知道hash,但这里也还是再说明一下。hash的含义就是用一个较短的文字/数字,来表示一个较长的文字/数字。
把较长的数字,变为较短的数字的计算过程,叫做hash算法。同时,hash算法从数学上保证了,只能从长数字变为短数字,从短数字无法反过来得到长数字。
如果两个不同的长数字,通过hash算法得到了相同的短数字,就叫冲突。

2.sha256,
是一种hash算法,到目前为止,还没有发现冲突。可以将任意长度的文字/数字,变为256个位的短数字。
当然,如果你的原始数字只有一个位,算法首先会把他变成512个位,然后再进行计算。得出的结果也是256个位。

3.block,块
每个块里,都包含了高度(也就是第几个块,目前是272166),前一个块的hash值,当前时间,所有在这段时间内发生的交易,自己这个块的hash值,以及一个随机数(nonce)。六个段。
下面来说明一下这些这些东西计算的次序。
首先将所有的交易,通过复杂的sha256,得出一个256位的结果。再加上nonce、高度、时间、前一hash,将这五个内容计算sha256。如果计算的结果满足条件,(前面有很多的0),就成功了。

4.算力
上面这些,很多地方都写了,我不过是多说明一下,而下面的内容,网络上就没看到过了,是我自己的理解。
完成上面所说的,对nonce、高度、时间、前一hash,交易hash,进行一次计算,得出一个新的hash。就是1个算力。

5.nonce
nonce是一个32位的数字。对于算力的计算来说,除了nonce,其他的都是都是固定的。而32位的nonce,从0x00000000到0xffffffff,要进行4G次计算。如果4G次计算还不能满足条件呢?
那就是交易hash的变化;将同样这些交易,不过是重新排序,就可以得出不同的交易hash。
目前的算力是7P每秒,在理论上的10分钟内,总计要进行4000+P次计算。也就是有1G个不同的交易hash,每个被计算了4G次。
当然,时间的变化,也可以造成结果hash的不同。

6.难度
从概率上讲,完成了4G次计算,那么就会出现一个前面是32bit个0的hash结果(从显示上看,是8个)。而难度1,就是前面要求32bit个0。
换句话说,难度1,等同于4G次计算。是在10分钟内完成的4G次计算。也就是6.666M每秒的算力。
大家可以到难度算力图上去看看,难度与算力的坐标关系,就是6.666M。

7.算力的计算
算力是根据概率估算出来的。
如目前难度是600M,那么如果有4P每秒的算力,从概率上讲,通过10分钟的计算,会出现一个满足条件的结果。
而如果目前的平均出块时间是8分钟,那估算的算力就是5P每秒。
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!