本文发表在 rolia.net 枫下论坛二、比特币基本原理
1. 节点查找机制
比特币采用点对点的方式进行通信,没有中央服务器,无法直接找到其他的节点进行通信。比特币使用以下3 种机制来解决初次运行时如何查找其他节点的问题。
⑴在默认情况下,运行比特币的客户端加入一个IRC 聊天通道,并可以获知加入该通道的其他客户端的IP 地址和端口。该通道的名称和IRC 聊天服务器的名称被写在了比特币软件中。
⑵一些“知名的”比特币节点也被编写在软件中,以防IRC 聊天服务器由于某种原因无法访问。
⑶可以手动添加运行比特币的其他客户端的IP地址。
一旦连接到某个节点,其发送的信息中就会包含其他节点的地址,所以,到那时便可通过比特币网络自身来找到其他比特币节点,而不再需要上述3个机制中任何一个了。这种机制确保了比特币网络无法被政府或其他机构隔离、破坏,保障了比特币系统的可靠性。
2. 货币供应机制
比特币是通过软件制造出来的,这个过程被称为挖掘(Mining),因为这种货币供应机制与金银等贵金属货币的供应机制相类似。挖掘软件通过解决“找一个最小的散列值”的特定的数学问题来创建一个版块(Block),目前一个新的版块价值50 个比特币,而解决这样的问题需要强大的计算能力(反复运行散列算法)。平均而言,约每10 分钟整个网络中就会出现一个新版块。要制造出比特币,就要争取成为全网络第一个创造出新版块的人,并将这个新版块向整个网络公布。网络上的每个人都可以进行检查,看你是否确实解决了这个问题。如果10 分钟内被别人抢先了,前面的计算全部作废,只能重新再创建一个新的版块。因此制造比特币的难度与一定时间内全网投入制作工作的平均运算能力相关。单一个体“发现”新板块的可能性是建立在他的计算能力与全网计算能力的综合比较之上的。
在比特币网络中,运算难度是自动调节的。在最初的四年里有1000 万个比特币被制造出来,这个数值每四年减半,最终,比特币的数额会趋近于2100万个,这将在2140年左右发生,此时比特币被全部挖掘出来,之后不再增加。
3. 交易支付机制
比特币的交易需要在自己的机器上开设一个账户,这个账户其实就是一对公私钥,通过公开密钥算法进行交易。
例如,如果A 要给B 转一笔钱,A 就把钱的数量加上B 的公钥(即收款地址),用自己的私钥签名。而B 看到这个签名,就可以了解,的确是A 转给了他如数的比特币。
A 在发起这笔交易的时候,必须把签过名的交易单广播到比特币网络上,最终会让每个节点都知道这件事。B 从网络上不断收到别人的确认信息,当他收到足够多的确认信息后,就能确认A 的确发出了这条交易单。这以后,B 就可以自由使用这笔比特币了。
当B 将A 转给他的比特币再转给C 时,也会广播给足够多的人,让他们进行担保。每个担保人只有确信B 有足够多的比特币可以支付的时候才做确认。本质上,比特币网络并没有记录每一个比特币属于谁,它记录的是一个列表,包含这个比特币从诞生起到当前的每一笔交易。任何人试图确认一个交易单时,比特币网络都会通过检查这个列表来确认转出账号上有没有那么多比特币。更多精彩文章及讨论,请光临枫下论坛 rolia.net
1. 节点查找机制
比特币采用点对点的方式进行通信,没有中央服务器,无法直接找到其他的节点进行通信。比特币使用以下3 种机制来解决初次运行时如何查找其他节点的问题。
⑴在默认情况下,运行比特币的客户端加入一个IRC 聊天通道,并可以获知加入该通道的其他客户端的IP 地址和端口。该通道的名称和IRC 聊天服务器的名称被写在了比特币软件中。
⑵一些“知名的”比特币节点也被编写在软件中,以防IRC 聊天服务器由于某种原因无法访问。
⑶可以手动添加运行比特币的其他客户端的IP地址。
一旦连接到某个节点,其发送的信息中就会包含其他节点的地址,所以,到那时便可通过比特币网络自身来找到其他比特币节点,而不再需要上述3个机制中任何一个了。这种机制确保了比特币网络无法被政府或其他机构隔离、破坏,保障了比特币系统的可靠性。
2. 货币供应机制
比特币是通过软件制造出来的,这个过程被称为挖掘(Mining),因为这种货币供应机制与金银等贵金属货币的供应机制相类似。挖掘软件通过解决“找一个最小的散列值”的特定的数学问题来创建一个版块(Block),目前一个新的版块价值50 个比特币,而解决这样的问题需要强大的计算能力(反复运行散列算法)。平均而言,约每10 分钟整个网络中就会出现一个新版块。要制造出比特币,就要争取成为全网络第一个创造出新版块的人,并将这个新版块向整个网络公布。网络上的每个人都可以进行检查,看你是否确实解决了这个问题。如果10 分钟内被别人抢先了,前面的计算全部作废,只能重新再创建一个新的版块。因此制造比特币的难度与一定时间内全网投入制作工作的平均运算能力相关。单一个体“发现”新板块的可能性是建立在他的计算能力与全网计算能力的综合比较之上的。
在比特币网络中,运算难度是自动调节的。在最初的四年里有1000 万个比特币被制造出来,这个数值每四年减半,最终,比特币的数额会趋近于2100万个,这将在2140年左右发生,此时比特币被全部挖掘出来,之后不再增加。
3. 交易支付机制
比特币的交易需要在自己的机器上开设一个账户,这个账户其实就是一对公私钥,通过公开密钥算法进行交易。
例如,如果A 要给B 转一笔钱,A 就把钱的数量加上B 的公钥(即收款地址),用自己的私钥签名。而B 看到这个签名,就可以了解,的确是A 转给了他如数的比特币。
A 在发起这笔交易的时候,必须把签过名的交易单广播到比特币网络上,最终会让每个节点都知道这件事。B 从网络上不断收到别人的确认信息,当他收到足够多的确认信息后,就能确认A 的确发出了这条交易单。这以后,B 就可以自由使用这笔比特币了。
当B 将A 转给他的比特币再转给C 时,也会广播给足够多的人,让他们进行担保。每个担保人只有确信B 有足够多的比特币可以支付的时候才做确认。本质上,比特币网络并没有记录每一个比特币属于谁,它记录的是一个列表,包含这个比特币从诞生起到当前的每一笔交易。任何人试图确认一个交易单时,比特币网络都会通过检查这个列表来确认转出账号上有没有那么多比特币。更多精彩文章及讨论,请光临枫下论坛 rolia.net