无论你是否相信区块链技术将改变世界,还是认为它只是昙花一现,但有一点是肯定的:关于区块链的技术和法律问题是今天每个人都在思考的。人们经常想知道:比特币是“开源”的吗?但这个问题源于对三个独立概念的混淆:区块链、加密货币和开源软件。
什么是区块链?
虽然比特币是构建在区块链1上最知名的产品,但它们不是同一事物。区块链是一个不断增长的记录列表,这些记录按顺序链接在一起。每个记录称为一个区块,每个记录除了包含有关其代表的交易的信息外,还包含前一个区块的加密哈希值。
如果你不熟悉哈希,这里是它的工作原理。“哈希”是一种以简短且独特的方式表示冗长信息的方法。例如,想想你的电话号码。它包含国家代码、地区或区号、交换机和号码。其中每一个都是一个任意数字,用于标识电话网络上的位置。要通过电话联系你,没有人需要知道你的位置——他们只需要知道你的电话号码。
现在想象一下,你的电话号码的每个元素——国家代码、区号、交换机——都是由算法而不是任意数字集决定的。任何拥有你的号码的人都可以联系你,即使他们不知道你在哪里。如果有人想识别你,他们可以询问你的电话号码并检查它是否正确。但他们无法“解包”哈希值来找出信息。哈希值将复杂的信息集简化为一个数字。当然,真正的哈希值使用复杂的数学算法来做到这一点。你可能也使用过哈希值,只是你不知道而已,例如在访问 URL 的短版本时,例如使用 Bitly。
由于区块链中的每个区块都包含一个标识其前一个区块的哈希值,因此区块链中的区块链条无法被破坏,并且任何有权访问该链条的人都可以验证链条的完整性。即使区块包含加密或匿名的信息,也可以通过检查哈希值是否按顺序排列来验证链条的完整性。
因此,区块链可以促进商品、事件、交易、资产——当然还有数字货币——在个人和群体的连接网络中流动,所有这些都以一种任何有权访问该链条的人都可以审计的方式进行。
因此,你现在应该理解的第一件事是,区块链比比特币大得多。比特币只是可以用区块链跟踪的一种交易——加密货币转移——的一个例子。你还应该理解区块链的另外两个特性:它是分布式的,并且在面对安全问题时是稳健的。
“分布式”意味着区块链在网络上的多个位置同步,而不是由一个中央机构或位置维护和控制。区块链中的每个区块都包含通过网络与所有参与者共享的交易信息。区块链有时被称为“分布式账本”——就像每个人都可以访问的电子表格。
虽然没有哪个系统是完全安全的,但区块链具有使其安全性比驻留在单个位置或受单个实体控制的电子交易更强大的特性。像互联网本身一样,区块链使用多个节点来确保没有单点故障。由于网络中每个新区块都会生成唯一的哈希密钥,并且对区块的任何进一步更改也会改变区块的哈希值,因此系统具有防篡改性。理论上可以入侵系统,但需要控制超过 50% 的网络才能验证虚假交易。这是因为区块链系统被编程为在 51% 的用户承认交易有效时才认为交易已验证。可以把这想象成维基百科:虽然任何人都可以更改链条,但除非大多数用户确信更改有效,否则这些更改不会持久存在。
不同的区块链对权限、中心化和安全性采取不同的方法。分布式账本有两种类型:开放式(或公共或无需许可)和许可式账本。公共账本(如比特币)对网络上的每个人都可访问。公共账本中的每个参与者都可以访问每笔交易的副本,向链条写入新区块,并验证新交易。(例如,比特币使用化名来识别进行交易的各方,但任何人都可访问化名信息。)许可式账本更中心化。一个例子是 Corda,这是一个围绕许可式账本的开源区块链项目,在航空预订和智能合约等一系列垂直领域具有潜在应用。许可式账本的创建者控制和识别参与者的角色,使参与者能够成为网络的一部分,并为参与者提供验证区块所需的加密密钥。这种模型已被各种区块链联盟采用,并在企业创建的区块链中很受欢迎。
以下是区块链技术的一些可能应用
- 选举和投票
- VotoSocial 是一个基于区块链技术的电子投票平台。它有一个公开的数据更新账本/日志,该平台是开源的,并且数据作为开放数据发布,以产生必要的信任,从而可以审计计票、源代码和独立的数据分析。
- Follow My Vote 的目标是构建一个安全的在线投票平台,该平台将允许更高的选举透明度。该软件具有区块链技术的安全性,并且是开源的,因此任何人都可以审计该软件的代码。
- 交通运输
- Arcade City 正在构建一个由当地司机合作社组成的全球网络,称为公会。公会司机共同努力,为当地社区提供可靠的服务。此应用程序的支柱是区块链。
- 智能合约 与纸质合同具有相同的用途,但采用数字形式并存储在区块链中——本质上是包含相互约定的规则的计算机程序,这些规则有助于两个或多个当事方进行交互。
- Chainlink 是安全的区块链中间件,允许各种网络上的智能合约与它们需要的关键资源连接,从而在 90% 的用例中变得有用。
- 供应链开源合规性
- 基于区块链的软件部件账本 (SParts Projects) 通过跟踪供应商、他们的软件部件、使用的开源以及相应的合规性工件(例如,源代码、法律声明、开源物料清单、软件程序包数据交换数据、密码学数据等),在制造商及其供应商之间建立信任。这对于构建使用来自许多不同供应商(包括子供应商)的软件的产品的制造商尤其有帮助。该项目的软件根据 Apache 2.0 许可获得许可。
- 土地登记
这只是冰山一角。在任何需要审计交易的应用中,区块链都可以提供一种方法来保持交易的安全性和可验证性,每个人都可以验证。从这个意义上讲,交易几乎可以是任何东西——从投票到供应链中的一个步骤。当然,货币交易也可以被跟踪。
什么是比特币?
比特币是一种加密货币,它是一种通过软件加密保护的货币。与主权国家发行和支持的货币(如美元、英镑或印度卢比)不同,比特币不是由任何中央银行发行或管理的。它们是被管理的,但只是以最基本的方式。任何货币的价值都仅仅是因为经济学家所说的稀缺性。对于一种货币来说,这种稀缺性必须是人为强加的。毕竟,如果每个人都可以印钞,货币很快就会失去其价值。
事实上,比特币在加密货币中对于稀缺性的处理方式很不寻常,因为它具有固定的供应量。当比特币被创建时,对比特币可以存在的数量设置了任意限制。随着对比特币的需求增加,价值也随之增加,直到最终其价格开始飙升并变得非常不稳定。其他加密货币不一定遵循相同的规则,并通过例如将货币与现实世界中的有价值物品联系起来来创造稀缺性——类似于忠诚度计划积分或代币。
比特币是通过区块链技术实现的。
如果你拥有比特币,它们会存储在只有你可以访问的钱包中。比特币钱包的工作方式有点像你的电子邮件。设置电子邮件地址后,你需要软件(通常称为电子邮件客户端)才能发送或接收电子邮件。你可以将该软件下载到设备,也可以通过互联网访问电子邮件客户端。要访问你的电子邮件,你需要使用用户名(电子邮件 ID)和密码。同样,比特币钱包使你能够发送或接收比特币。
要访问你的钱包,你需要两个加密密钥:公钥和私钥。公钥在分布式网络上对每个人都是已知的(就像你的电子邮件 ID),但你的私钥仅对你已知(就像密码)。当你使用私钥访问你的比特币钱包时,你可以通过分布式网络与任何人转移比特币。没有你的私钥,任何人都无法访问你的比特币钱包。因此,你进行的每笔交易都将以数字方式记录在你的比特币钱包中。
比特币钱包是一种数字钱包。还有其他类型的数字钱包,例如桌面钱包、云钱包和移动钱包。各种数字钱包都可以与比特币一起使用,例如 Breadwallet、Jaxx、Mycelium、Ledger Blue 和 Ledger Nano。

在上图中,用户 A、B、C 和 D 进行了各种交易。但是,D 试图转移的金额超过了 D 钱包中的金额。A、B 和 C 之间的转账已验证,但从 D 到 A 的转账未验证。交易由广大用户在一个称为挖矿的过程中进行验证。矿工收到少量报酬以换取挖矿,这需要他们验证链条。像今天的大多数资金转移一样,钱包存储账本交易的结果,并且不发生物理转移。当 D 试图在此示例中进行转账时,就好像 D 的银行账户中资金不足,因此交易不起作用。主要区别在于,验证交易的是矿工,而不是银行。
但比特币只是一种加密货币,而加密货币只是区块链的一种应用。
区块链是开源的吗?
唯一可以正确称为“开源”的是开源软件。这不是迂腐;这是精确。 “源”指的是源代码,而开源许可模式取决于这样一个事实:许多软件只能以一种形式(二进制形式)执行,但以另一种形式(源代码形式)编写。二进制文件不容易被人类更改,因此访问源代码对于更改软件至关重要。开源模型旨在确保二进制代码的用户可以访问他们正在使用的二进制文件的源代码,以便他们可以检查、理解、修复和改进该软件。世界上大多数其他事物都不具备这种特性——一种形式可读而另一种形式不可读的双重性质——因此将开源的概念强加于其他事物上是很尴尬的。
尽管“开源”一词经常用于描述其他事物——从瑜伽到生物信息学,再到逾越节晚餐——但当应用于软件以外的更广泛领域时,该术语可能会产生误导。当人们说某物(软件以外的东西)是“开源”时,他们通常指的是两件事之一:要么它是公开可用的,要么它不受需支付专利费的专利权要求的约束。因此,如果你读到或听到某物是“开源”的,并且该物不是软件,则你需要提出更多问题。如今,人们经常说“比特币是开源的”或“区块链是开源的”。那么,他们是什么意思呢?
区块链是一种技术或一个生态系统,它与区块链软件不同。区块链是通过软件实现的,并且有各种软件项目被编写出来以创建和管理区块链。从这个意义上讲,区块链就像一个数学公式,比如二次方程或将华氏温度转换为摄氏温度的公式。你可以编写软件来执行该功能,但许多其他人也可以。如果 100 位程序员每人编写一个区块链软件程序,它们都将是不同的程序,可能用不同的语言编写,具有细微或很大的差异,但它们都将具有相同的核心功能。正如区块链与比特币的关系是从一般到具体一样,区块链与区块链软件的关系也是从一般到具体。
区块链软件主要由三个组件组成:密码学、分布式账本和去中心化系统。这些组件中的每一个都是使用软件实现的,并且它们中的每一个都可以是开源的或专有的。通常,社区开发的区块链软件项目根据开源许可证获得许可。例如,以太坊根据 GNU LGPLv3 许可获得许可,比特币核心根据 MIT 许可证获得许可,Hyperledger Fabric 根据 Apache 2.0 许可获得许可。另一方面,有一些私有区块链项目,它们由各种公司开发和拥有。事实上,其中一些公司也已为他们的发明申请了专利。许多可用的数字钱包都根据开源许可证获得许可。因此,当人们说“区块链是开源的”时,他们可能意味着区块链系统通常使用开源软件实现。
但是,区块链在更一般的意义上是开放的吗?在某种程度上,是的。例如,开放定义 规定了开放数据和内容的原则,指出“开放数据和内容可以被任何人自由使用、修改和共享,用于任何目的。”区块链是开放的,因为它可以被任何用户验证,并且任何中央政府机构都无法阻止对其的访问。因此,区块链有可能变得开放,但每个区块链都不同。此外,区块链利用众包方式来验证交易。从这个意义上讲,它就像维基百科,社区共识决定了哪些信息被信任是准确的。区块链技术的这一方面与其说是开源,不如说是开放文化。
但这引出了一个问题,即区块链技术的价值是否在于它的开放性。区块链之所以受欢迎,部分原因是它被认为是安全的。这引发了一个老问题:通过保密还是开放更容易实现安全?一些安全专家表示,封闭标准更安全,因为它们将关键信息保密,防止不良行为者可能识别出弱点并获得对安全系统的后门访问权限。然而,其他人认为,开放标准最能促进安全,因为任何潜在的漏洞都将受到致力于安全的人员的广泛审查。正如他们在开源中所说,“只要有足够的眼球,所有错误都是肤浅的。”开放安全标准的支持者也怀疑,是否可以向黑帽黑客隐藏足够的信息,以使技术真正安全。因此,许多安全专家赞成开放系统以最大限度地提高安全性,进而赞成区块链作为一种潜在的开放技术。
区块链是开放的,因为它们依赖于众包原则,这避免了权力集中在任何一个权威机构手中。在现代世界我们进行的每一笔交易中,我们都依赖并信任第三方中介来正确完成交易:银行处理付款转账,产权代理人检查和转移房地产产权,或审计师确保会计记录完整。区块链技术有可能在几乎所有业务中取代第三方中介。这就是区块链技术如此受关注的原因。
但自由是有代价的。比特币因其在非法活动中的使用而臭名昭著,而且政府将如何出于税收目的对待加密货币仍不清楚。例如,在 2013 年,美国政府关闭了丝绸之路网站,因为它允许用户使用比特币买卖麻醉品和其他非法商品。一起勒索案件在印度成为头条新闻,比特币在那里被用于非法支付。在美国,加密货币被美国国税局指定为财产,而不是货币。计算和报告每笔加密交易的资本利得税的难度——目前大多数税务机关的实际要求——使税务合规变得困难。
比特币的网站说,“比特币是开源的;它的设计是公开的,没有人拥有或控制比特币,每个人都可以参与。”但这种说法即使不是误导,也可能是令人困惑的。事实上,比特币是建立在开源软件之上的,其技术是共识驱动的。2015 年,比特币的主要工程师之一分叉了该项目以创建 Bitcoin XT,这是一种替代实现方案,允许更大的可扩展性,但最终失去了支持。这就是开源软件的本质——最流行的解决方案将获得关注,而其他解决方案将被抛在后面,或者被希望创建新软件的其他人采用。因此,比特币经历了开源项目的成长的烦恼,并且仍然是一种由共识驱动的技术——如果你愿意,它是开放的。
虽然比特币作为一种合法的价值转移手段的长期命运仍有待观察,但区块链技术的潜力是巨大的。区块链可能不是真正的“开源”,但像 2000 年代的开源软件一样,它是一种新的技术范例,正在迅速为许多应用获得关注。像开源软件一样,它可能会“吞噬世界”,并且在未来几十年中,我们的许多日常活动可能都将依赖于使用这种新范例。
1. “区块链”一词的正确词汇正在发展中。像许多新兴概念一样,它正在从两个词(“block chain”)迁移到一个混成词(“blockchain”)。最重要的是,它不是专有名词,因此不应大写。这看起来可能像是在吹毛求疵,但它很重要:区块链是一种通用技术,而不是单一产品或软件实现。因此,在本文中,我们使用“blockchain”。
4 条评论