众所周知,比特币的共有链的交易效率非常低下,全网吞吐量大约是每秒钟7笔,并且每笔交易的确认时间需要60分钟以上,并且交易的确定性(finality)也无法保证,每个区块都是没有最终确定的,这些问题限制了公有链的商业化。
Linux基金会在2015年启动了“超级账本”(Hyperledger)的开源项目,打造基于区块链的企业级分布式账本底层技术,“超级账本”是大企业领衔的商业化联盟链项目。
“超级账本”由会员公司组成,按照缴纳年费的数量,分为“首要会员”(Premier)和普通会员(General Member),和无需缴纳费用但是无投票权的附属会员(Associate Member)。
“超级账本”设立了市场委员会(Marketing Commitee)和用户顾问团,其目标是为商业区块链应用提供底层支持,因此在知识产权上采用了商业友好的使用许可。所添加的项目中的代码要使用Apache V2.0的许可协议,可以满足大部分的许可需求。项目文档遵循知识共享4.0国际许可协议(Creative Commons Attribution 4.0 International License),适合商业用途。
“超级账本”根据发展程度可以处于5中状态,分别是:提案,孵化,成熟,弃用和终止,项目开展过程中,可能在数个状态之间转换多次。
代表项目有两个Fabric和Sawtooth Lake。
项目的目标是实现一个通用的权限区块链(Permissioned Chain)的底层基础框架,Fabric克服了比特币等公有链项目的缺陷,如吞吐量低、无隐私性、无最终确定性以及共识算法低效等,使用户可以方便地开发商业应用。
Fabric智能合约(smart contact)也曾被称为链上代码(chaincode),其实质是在验证节点(validating node)上运行分布式交易程序,用以执行特定的业务规则,最终更新账本的状态,在具体实现中,可以采用虚拟机或者容器等技术,构造安全隔离运行环境。
Fabric的主接口主要采用REST API,基本与Fabric服务相对应,API分为身份,策略,区块链,交易(对应区块链服务)和智能合约等几类。为了方便应用开发,Fabric还提供了命令行接口(CLI),可以覆盖部分API功能,方便测试智能合约代码以及查询交易状态。
Sawtooth Lake项目提供了一个构建,部署和运行分布式账本的高度模块化的平台,功能上做到了分离账本和交易,使两者称为松耦合的关系;提出了交易家族的概念,能够扩散到不同的商业领域;适合权限或无权限区块链的可插拔共识算法。
主要有三大组件:
Fabric侧重于权限控制,私密性保护和交易性能的提高,Sawtooth Lake则注重于提供完整交易家族和节能的共识算法
Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4